ESPHome firmware for Waveshare ESP32-S3 7" touch thermostat with direct HVAC relay control
Two bugs found on first hardware test: 1. page_home placed all widgets directly on the page with no sized wrapper container, unlike every other page in this codebase (which all wrap content in an explicit width/height obj before using align:). The dial and its siblings rendered tiny and pinned to the top-left instead of filling/centering on the real 1024x600 screen. Wrapped all of page_home's content in a width:100%/height:100% obj, matching the established pattern. 2. heat_arc and cool_arc were both adjustable:true at the identical 400x400 size, so their rings occupied the same physical pixels. LVGL hit-tests arcs by distance from center, so a shared radius is touch-ambiguous, and the topmost widget (cool_arc, declared last) won every touch regardless of where on the ring you tapped. Shrunk cool_arc to 360x360 so the two rings are physically distinguishable by touch position. |
||
|---|---|---|
| docs | ||
| firmware | ||
| .gitignore | ||
| README.md | ||
Firecrest
ESPHome firmware for the Waveshare ESP32-S3-Touch-LCD-7B touch display board, configured as a smart thermostat panel with direct 24VAC HVAC control.
Requires Home Assistant with the ESPHome integration.
Hardware
See docs/build-guide-phase1-notes.md for full pin assignments and Phase 1 hardware decisions.
Flashing
- Copy
firmware/secrets.example.yamltofirmware/secrets.yamland fill in your values. esphome run firmware/waveshare-thermostat.yaml
License
MIT