All work
Building automation · ESP32
Underfloor heating & cooling controller
Firmware of an ESP32 controller that drives heating and cooling zones in buildings. It talks to building systems over Ethernet and field buses, reports to the cloud and updates itself over the air.
- Client
- YOBIIQ B.V.
- Role
- Embedded Software & IoT Consultant
- Period
- Ongoing
What I built
- Embedded web UI over Ethernet
- Modbus TCP/RTU server and BACnet for building management systems
- MQTT reporting and over-the-air updates
- LoRaWAN through an AT modem, OpenTherm boiler link
- Port of the firmware to ESP-IDF v6.1
Testing without hardware
Unit tests run on the host against mocks, with address and undefined-behavior sanitizers. Integration tests boot the firmware in QEMU on simulated hardware, so CI checks networking, storage and protocols on every pull request, on self-hosted runners.
Technologies
- ESP32
- ESP-IDF
- FreeRTOS
- Modbus TCP/RTU
- BACnet
- MQTT
- OpenTherm
- QEMU
- Unity
- CMock
Next case study
OpenTherm boiler gateway