finds.dev

emsesp/EMS-ESP32

ESP32 firmware to read and control EMS and Heatronic compatible equipment such as boilers, thermostats, solar modules, and heat pumps

View on GitHubHomepage ↗

★ 1,049C++LGPL-3.0updated Oct 2026

// the take

Firmware for an ESP32 that sits on the EMS/Heatronic bus used by Bosch, Buderus, Junkers and related boilers, thermostats and heat pumps, exposing their internal data over a web UI, MQTT, Modbus and console. It's for people with one of these specific heating systems who want local control and Home Assistant/Domoticz/openHAB integration without a manufacturer cloud account.

Protocol coverage is wide and specific — EMS, EMS+, EMS2, Heatronic 3/4 and Junkers 2-wire are all handled with support for 120+ named device models, which is the hard part of this problem. The console (serial/telnet) gives you raw telegram-level visibility for debugging, which matters a lot when you're reverse-engineering proprietary bus behavior. Shipping a full web UI plus native MQTT/Modbus/Home Assistant integration means you're not stuck writing a bridge yourself. CI includes SonarCloud and Codacy checks plus separate dev/stable release channels, so there's real process behind releases.

You need a separate physical EMS-to-serial gateway board (sold by one third-party vendor, bbqkees-electronics.nl) — this isn't a software-only solution, and support for non-BBQKees gateways is explicitly pushed back to that other manufacturer. It's GPL-3.0, which matters if you want to build anything commercial on top. It's firmware on a bus connected to your heating system, so a bad flash or bus misread has real consequences, not just a crashed process — worth checking how OTA updates and recovery are handled before relying on it. It's also tied entirely to one family of proprietary bus protocols; if your boiler isn't EMS/Heatronic, none of this applies, and if the manufacturer changes the protocol in future hardware there's no guarantee this keeps up.

We read the README, the directory tree and a key source file in October 2026. Nobody pays to be listed. How we judge →

// at a glance

Stars
1,049
Forks
157
Language
C++
License
LGPL-3.0
Last commit
24 Oct 2026

// nearby

If EMS-ESP32 isn't quite it.

All repos →