--- /dev/null
+# Power Board Control Registers
+
+## Communication
+ UART, 57600 baud, 8N1
+
+## Command format
+
+Commands consist of 10 letters/digits and a line break.
+All numbers are given in hex, either lower or upper case.
+
+ XuuGcRvvvv\n
+
+* X - command (write: W, read: R, answer: A, scan chain: S)
+* uu - Controller (one of four on each power board assembly)
+* G - Group (one of four on each board)
+* c - Channel (one of two in each group)
+* R - Register
+* vvvv - 16 Bit value
+
+
+
+## Registers
+
+
+| Register | Description | Mode |
+|:---------:|--------------------------------------------------------------|:----:|
+| 0 | DCDC ON/OFF | |
+| 1 | DCDC set voltage adjustment resistors | |
+| 2 | Voltage V_in | (RO)|
+| 3 | Current C_in | (RO)|
+| 4 | Temperature | (RO)|
+| 5 | [15:4] Firmware; [3:2] reserved; [1] Switch ; [0] LED | (RO)|
+| 6 | Current Offset | |
+| 7 | Voltage V_out | (RO)|
+
+
+
+### Register 0: on/off
+ * Bit 0: 1/0 -> channel on/off
+ * One setting per group, channel ignored
+
+### Register 1: set voltage
+ * Bit [2..0]: 0-7 voltage level.
+ * Each step increases voltage by about 200 mV.
+ * One setting per group and channel.
+
+
+### Register 2: input voltage
+ * Input voltage in multiples of 38.6 mV
+
+### Register 3: input current
+ * Input current in multiples of 3.1 mA (using an 800mV/A sensor)
+ * TODO check used current sensor
+
+### Register 4: temperature
+ * die temperature of one DCDC converter
+ * Temperature = ((v*2-250)/9.5)+25
+
+### Register 5: info
+ * Bit [15..4] Firmware Version
+
+### Register 6: current offset
+ * correction offset for current measurement. Currently not used
+
+### Register 7: output voltage
+ * output voltage of one voltage of each group
+ * in units of 5 mV
+
+
+
+## Command Line Tool
+All registers can be read and written using `mdc_powerboard.pl`.
+
+ mdc_powerboard.pl -d DEVICE -b BOARD [-c CHANNEL] [-o OUTPUT] -r REGISTER [-v VALUE]
+ DEVICE: Network address of device
+ BOARD: Board number in chain (0..3)
+ CHANNEL: Channel number (0..3)
+ OUTPUT: Output number in channel (0..1)
+ REGISTER: Register to access (number or name)
+ VALUE: A 16 Bit value, 1-4 hex digits. If set, a write operation is performed, otherwise a read is done
+
+ Register Names: switch, adjust, Vin, Cin, temp, info, Ioffset, Vout
+