February 18, 2026
Description
A high-end Air Quality Monitor based on the ESP32-C3 and Sensirion SEN66, featuring a fully dynamic GC9A01 round display dashboard. This project goes beyond standard ESPHome configurations by allowing real-time UI customization directly from Home Assistant without re-flashing.
Software Repo: https://github.com/doctormord/SEN6X_ESPHOME
Dynamic Dashboard: Round UI with three configurable arcs and six data slots.
Real-time Customization: Change sensor assignments, arc ranges, and update intervals on the fly via Home Assistant.
Dynamic Theming: Support for Light and Dark modes with user-definable HEX colors for backgrounds, text, and UI elements.
Advanced Sensor Handling:
Intelligent Backlight: Automatic day/night brightness adjustment based on sun elevation (Sunrise/Sunset).
Health Monitoring: Visual color-coded alerts (Green/Yellow/Orange/Red) based on three-stage configurable thresholds for every pollutant.
WiFi Diagnostics: On-screen signal strength indicator (%) and auto-reboot logic for weak connections.
Relative Humidity (RH) is highly dependent on the ambient temperature. When applying a temperature offset (e.g., to compensate for internal device heat), the raw RH value from the sensor becomes physically inaccurate.
To solve this, the firmware implements a real-time compensation logic using the Magnus-Tetens Formula. It calculates the saturation vapor pressure to maintain a consistent dew point, ensuring that the displayed humidity remains accurate even after temperature calibration:
| Component | Description | Datasheet |
|---|---|---|
| Microcontroller | ESP32-C3-DevKitM-1 | ESP32-C3 Datasheet |
| Air Quality Sensor | Sensirion SEN66 (or SEN6x/SEN5x) | Sensirion SEN66 Info |
| Display | 1.28" GC9A01 Round LCD (SPI) | GC9A01 Datasheet |
License:
Creative Commons - Attribution - Non-Commercial - Share Alike