I have a solar panel system that generates hot water at home during the warm months. My current controller is a classic unit — no home automation integration, no smart features. It works great, but it was time to make it smart.
So I decided to design my own controller from scratch, taking inspiration from:
- The manual of my existing controller
- A TRIAC-based 230V motor control circuit
- A PT1000 probe reader (the same type installed on my panels — I can't remove or replace them)
This project was born out of those constraints, and after months of testing it's now ready to share.
V2 integrates the controller and the temperature measurement board into a single PCB, keeping the same functionality with cleaner firmware.
DiSoCon2 is a modular differential solar thermal controller designed for systems with multiple thermal storage tanks. It manages:
- A primary pump for the solar collector circuit
- A 3-way valve to switch between two storage tanks
- A secondary pump for an additional tank (in my case, heated by a gas boiler)
- A final 3-way valve for recirculation management between the solar tank and domestic hot water
The controller operates autonomously based on temperature differentials and includes safety logic for anti-freeze and overheat protection.
🏗️ System ArchitectureThe system is split into two boards that fit together in a DIN-rail enclosure:
Control Board (V2)The brain of the system. Based on the ESP32-S3, it handles:
- Reading up to 4 × PT1000 temperature sensors (via ATmega32U4 over UART/RS485)
- Additional DS18B20 probes for other points in the circuit
- Differential temperature (ΔT) logic with configurable thresholds and hysteresis
- Driving 3 pumps and 2 three-way valves
- Network connectivity via W5500 Ethernet or Wi-Fi
- 20×4 I2C LCD for real-time status
- 5-button interface (UP, DOWN, LEFT, RIGHT, OK) via ADS1115
- Optional RS-485 port for remote sensor integration (MAX13487E)
The muscle of the system. It safely interfaces 230V AC loads:
- 2 × TRIAC circuits (MOC3021 + BTA41) for pump control
- 2 × Relay outputs for 3-way valve actuation
- Zero-crossing detection for phase-synchronized TRIAC firing
- HLK-PM01 module for AC→5VDC conversion (powers all boards)
- Galvanic isolation via optocouplers on all outputs
- EMI filter + varistor + fuse on AC input
- Modular two-board architecture (control + power)
- Dual-tank switching with configurable ΔT logic
- Anti-freeze and overheat protection modes
- MQTT integration for Home Assistant / OpenHAB
- Standalone operation with LCD + buttons (no network required)
- All thresholds configurable via buttons or MQTT
- Open hardware – schematics and BOM on GitHub & OSHWLab
Parameter Value
Control Board V2
Power Board V2
Release Date March 2026
Firmware ESPHome + custom ATmega32U4 firmware
License CC BY-NC-SA 4.0
⚠️ DisclaimerThis project is provided for educational and inspirational purposes only.
The author does not take responsibility for incorrect use of the design, damage to equipment or persons, or non-compliant installations. Any real-world implementation must be carried out by a qualified professional in compliance with local safety regulations. Use at your own risk.







Comments