current and voltage monitor and power distribution

Stromwaechter on the left conncted via WiFi to a Raspberry Pi 3 running OpenHAB on the right.


Stromwaechter is a pcb intended for power distribution and monitoring in remote hamradio stations. It has four channels with a dedicated fuse and a switch for each channel. On each channel current and voltage is monitored. The data is collected by an ESP8266 and transmitted via WiFi using the MQTT protocol. The board is intended to be used with a pc running OpenHAB for visualisation and logging but it may also be connected to any MQTT server.


The Stromwaechter has 4 output channels. Each channel can be switched by an Infineon ITS4200S. This IC has an internal over current and short circuit protection. Additionally each channel is protected by an ATO blade fuse. Also each cannel has an TI INA226 to measure voltage and current on each channel. This allows to measure current in the range of -4.096 A to +4.096 A.


The stromwaechter PCB is intended to monitor cuurent flowing from the bus connector to loads connected on each channel. It is also possible that current flows in the reverse direction from the output to the bus. In this case the internal short circuit and over current protections of the ITS4200S don't work anymore and there is a 600 mV voltage drop across the ITS4200S because of its internal diode.

The hardware is released under CERN OHL v1.2


You can find the software on github:
The software is released under GPL v3

MQTT messages

The following messages are sent every 10 seconds to the mqtt broker

<mac>/vbus bus voltage in volt
<mac>/temperature temperature of board
<mac>/<numsensor>/voltage voltage in volt of channel
<mac>/<numsensor>/current current in ampere of channel
<mac>/<numsensor>/state state of channel (1=on; 0=off)

<mac> is like b4-e6-2d-3f-62-05

<numsensor> is 1 for the first channel, 2 for the second and so on

The following messages are sent every 600 seconds to the mqtt broker

<mac>/version firmware version
<mac>/ip ip address of board
<mac>/mac mac address of board
<mac>/wlan wifi quality

The software allows individual turn off and on voltages for each channel. This can be used for example during discharge of a battery to save energy when the battery is very low. These voltages are defined in an array at the begining of the programm:

const float onoff[NUM_SENSORS][2]={
  {13.0,12.8},    // channel 1 start at 13.0 V, stop at 12.8 V
  {12.7,12.5},    // channel 2 start at 12.7 V, stop at 12.5 V
  {12.4,12.2},    // channel 3 start at 12.4 V, stop at 12.2 V
  {12.1,11.8},    // channel 4 start at 12.1 V, stop at 11.8 V
  {0,0},          // channel 5 start at 0.0 V, stop at 0.0 V
  {0,0},          // channel 6 start at 0.0 V, stop at 0.0 V
  {0,0},          // channel 7 start at 0.0 V, stop at 0.0 V
  {0,0}           // channel 8 start at 0.0 V, stop at 0.0 V


Integration into OpenHAB - This link describes how to integrate the stromwaechter into OpenHAB


I did some measurements to show the capabilities of the stromwaechter pcb

battery balancing

The battery with the higher voltage / charging level is connected to channel 3. The other battery is connected to channel 4. Balancing current limit is done via the internal resistance of the batteries and the stromwaechter pcb and the voltage drop across the internal diode of the ITS4200S. Right after the connection a higher current flows from the battery on channel 3 to the battery on channel 4. This current goes down after time as the charge between the batteries is balanced. The batteries show always a voltage difference of about 600 mV because of the internal diode of the ITS4200S. There lacks about 30 mA of current. This is the internal consumption of the stromwaechter pcb.

battery charging

Two batteries are connected to channel 3 and 4. The charger (laboratory power supply with current limit of about 1 A and maximum voltage of 13.8 V) is connected to channel 1. Channel 2 is activated but nothing connected. The battery on channel 3 has a lower charging level at the beginning so it draws more current. Charging starts with a lower voltage. After about 3.5 hours the power supply reaches its maximum voltage and the current goes down. The 600 mV drop between input and output is the previously mentionend drop across the internal diode of the ITS4200S.


February 23rd 2019HAMNET-Treffen am GrandsbergRelaisfernueberwachung_mit_openhab.pdf (in German)

If you have any questions contact me via email at, make an issue at github or send me a message at twitter (

Last update: 7. june 2019