Microcontroller projects

Solar Master: Monitor your panels

* coming soon (this year ;))*

last updated: 2023-04-17


After 20 years of use my different solar panels have to be rewired to fit my new battery system. At the same time, they are cleaned and it would be interesting to get the U/I curve of the panels to compare them and detect faulty or weak panels.

I needed a load to change the current and measure the voltage. And after a short search I found an electronic 500W load on Aliexpress with a resistance up to 1000 Ω (type14 0-100 V 0-20 A):


The challenge was to understand the communication with the load, ass all documentation was in Chinese (and my Chinese isn't so good ;)).


The load

The load is from SOUSIM:


The only information that I could find was from the this EEVblog forum: https://www.eevblog.com/forum/testgear/chinese-electronic-load-500w-module-sousim-500w/.

For the load we need a DC power source (12 V, 1 A) and the communication is done via Modbus RTU (Terminal with A+ and B-). This is a differential signal and needs no ground.

The displays are used to show MQTT data from my new Energy Storage System (ESS) from Victron (3 phase 24 kVA). More infos soon on http://www.prosumer.lu.


OLED display NHD-2.7-12864WDW3

The displays are 128x64 monochrome display from Newhaven with 2.7' screen. They can by found at .

The display can be used in parallel mode or over SPI. As I needed I2C for 4 displays, I'm using my modified PCBs from the old project. More infos on this page:


On one display (OLED3) the first lines are not working, so I don't use this lines :).

I2C Boards

The board was designed in Kicad. The schematic is already changed, but the PCB has still to be modified in Kicad.

SSD1322 I2C circuit

I used the parallel to I2C board from the GTK281 PCB with the following changes:

SSD I2C boardSSD I2C board back

As I needed 4 different I2C addresses, I had to modify the pin connections A0-A2 (all connected to GND) for 3 boards. So I got the addresses 0x20, 0x21, 0x22 and 0x23.

SSD1322 I2C PCB2


Arduino library

To install the library download SSD1322_I2C.zip, from the git page and click in Arduino IDE Sketch > Include Library > Add .ZIP Library....


The housing is drawn in FreeCAD. The stl files are on github.