Skip to content

Projects

Custom embedded firmware for production Zigbee devices, deployed and operating in a live smart home environment.

Both projects target ESP32-H2 (pure Zigbee mesh router) and ESP32-C6 (Zigbee end device with WiFi, web UI, and Wi-Fi OTA). They integrate with Home Assistant via Zigbee2MQTT and share a common platform architecture. Each started as a focused problem — native Zigbee on a specific sensor or lighting hardware — and evolved into production-grade firmware with OTA update pipelines, automated releases, and modular codebases designed for long-term maintainability.

Shared infrastructure across both projects:

  • Shared C++ components: BoardLed (status LED state machine) and ButtonHandler (factory reset timing) via esp32-zigbee-common
  • Shared OTA component: esp32-zigbee-ota for Zigbee Over-The-Air update handling with rollback protection
  • Automated GitHub Actions release pipelines building H2 and C6 binaries, packaged as Zigbee OTA images
  • Aggregated OTA index served via GitHub Pages for Zigbee2MQTT integration