ESPHome is a framework for building custom home automation that runs on an ESP8266 or ESP32. It’s pretty cool - you select and configure components by writing a YAML file, which then drives host side Python snippets to configure and bind the device side code, which is then built and pushed using PlatformIO.
Some nice touches:
- It integrates with Home Assistant and has automatic discovery
- It can drive displays, including rendering TTF files host side to give nice fonts device side
- It looks reasonably composable so, for example, you can have multiple Bluetooth broadcast parsers
It also gave me a reason to break out the 3D printer and make a case for the ESP-WROOM-32 based Lolin32: