SaaSHub helps you find the best software and product alternatives Learn more →
Top 23 C++ home-automation Projects
-
esphome
ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.
Instead of manually programming the microcontroller, I'll run ESPHome on it, for two reasons:
-
InfluxDB
InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
-
OpenMQTTGateway
MQTT gateway for ESP8266 or ESP32 with bidirectional 433mhz/315mhz/868mhz, Infrared communications, BLE, Bluetooth, beacons detection, mi flora, mi jia, LYWSD02, LYWSD03MMC, Mi Scale, TPMS, BBQ thermometer compatibility & LoRa.
-
IRremoteESP8266
Infrared remote library for ESP8266/ESP32: send and receive infrared signals with multiple protocols. Based on: https://github.com/shirriff/Arduino-IRremote/
-
PJON
PJON (Padded Jittering Operative Network) is an experimental, arduino-compatible, multi-master, multi-media network protocol.
-
-
There is one library called Homespan, but this is intended for programming ESP32 in the Arduino environment. This is much easier and beginner friendly, but I wanted something more advanced and challenging :). As I said in the beginning, I wanted to get more familiar with the ESP32 environment and the arduino-esp32 project offers a lot of abstractions. That’s why I opted for the ESP-IDF framework instead.
-
-
Stream
Stream - Scalable APIs for Chat, Feeds, Moderation, & Video. Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
-
-
EMS-ESP32
ESP32 firmware to read and control EMS and Heatronic compatible equipment such as boilers, thermostats, solar modules, and heat pumps
-
-
dscKeybusInterface
An Arduino/esp8266/esp32 library to directly interface with DSC security systems.
-
-
P1P2MQTT
Monitor and control Daikin/Rotex (hybrid/Altherma) heat pumps via the 2-wire P1/P2 thermostat interface with an ATmega328P, ESP8266, and electronics. The P1P2Serial library and P1P2Monitor program perform low-level bus operation, the P1P2-bridge-esp8266 program interprets data from/to MQTT supporting Home Assistant MQTT discovery. P1P2Serial may also be used for other Japanese Home Bus System based standards: DIII-NET (F1/F2) bus, Mitsubishi M-Net bus, Toshiba TCC-Link, Hitachi H-link, Panasonic
-
esphome-panasonic-ac
Open source alternative for Panasonic air condition wifi adapters that works locally without the Comfort Cloud
-
Temper-ESP8266
Temper is a compact temperature sensor based on ESP8266 and SHT30 with large 13x7 pixel led display.
-
-
smart-home-automation-rtos
A complete home automation system developed on ESP32 microcontroller using freeRTOS. The system is controlled wirelessly via Bluetooth with an android app developed using MIT App Inventor.
-
CQC
CQC (Charmed Quark Controller) a commercial grade, full featured, software based automation system. CQC is built on our CIDLib C++ development system, which is also available here on GitHub.
-
ESPHome fills much of this niche for me. It's a framework for turning YAML device definitions into custom microcontroller firmware, with myriad supporting tools. The official device database at https://devices.esphome.io lists 554 devices, but that's nowhere near the end of it.
Most manufacturers bolt on IOT functions by dropping an off-the-shelf module onto their device-specific board. It's sometimes possible to replace the factory firmware with ESPHome, sometimes even using over-the-air updates. For example, AirGradient air quality sensors: https://github.com/MallocArray/airgradient_esphome
Even when it isn't possible to commandeer the factory IOT module, the fact that it _is_ a module is still useful, because it's almost always possible to inhibit or remove the factory module and connect your own instead. For example, an IOT air filter: https://github.com/mill1000/esphome-winix-c545#final-assembl...
Some devices are designed around multidrop communication busses. These are usually even easier, since the ability to join the bus is an intended design feature, even if the device you're using is not intended. For example, many Samsung residential HVAC systems: https://github.com/omerfaruk-aran/esphome_samsung_hvac_bus/d...
-
-
ESPHome-Arduino-Port-Expander
An Arduino Port Expander for ESPHome with added Arduino Mega 2560 support
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
C++ home-automation discussion
C++ home-automation related posts
-
The Danglepoise
-
ESPHome: Effortlessly Automate ESP8266/ESP32 with Simple Configs
-
Ask HN: What have you built with ESPHome, ESP8266 or similar hardware
-
A Beginner's Guide to the ESP8266
-
ESPHome
-
A Custom Zigbee Doorbell
-
Fixing a broken smart cat feeder with ESP32
-
A note from our sponsor - SaaSHub
www.saashub.com | 14 Jul 2025
Index
What are some of the best open-source home-automation projects in C++? This list will help you:
# | Project | Stars |
---|---|---|
1 | esphome | 9,554 |
2 | OpenMQTTGateway | 3,806 |
3 | IRremoteESP8266 | 3,187 |
4 | PJON | 2,755 |
5 | deconz-rest-plugin | 1,929 |
6 | HomeSpan | 1,882 |
7 | MySensors | 1,337 |
8 | esp8266_milight_hub | 983 |
9 | EMS-ESP32 | 750 |
10 | nuki_hub | 601 |
11 | dscKeybusInterface | 544 |
12 | homeThing | 503 |
13 | P1P2MQTT | 376 |
14 | esphome-panasonic-ac | 291 |
15 | Temper-ESP8266 | 174 |
16 | Wavin-AHC-9000-mqtt | 93 |
17 | smart-home-automation-rtos | 86 |
18 | CQC | 66 |
19 | esphome-winix-c545 | 35 |
20 | ws2mqtt | 29 |
21 | ESPHome-Arduino-Port-Expander | 17 |
22 | cloxie_nixie_clock | 13 |
23 | esphome-rotary-dial | 5 |