ESPHome firmware for Waveshare ESP32-S3 7" touch thermostat with direct HVAC relay control
Find a file
pyr0ball 1f750ea779 fix: wrap classic Home screen in a sized container, separate dial arc radii
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.
2026-07-12 10:02:56 -07:00
docs docs: disambiguate 'Phase 2' terminology now that LVGL work claimed that name 2026-07-11 23:00:04 -07:00
firmware fix: wrap classic Home screen in a sized container, separate dial arc radii 2026-07-12 10:02:56 -07:00
.gitignore feat: scaffold ESPHome project for Waveshare ESP32-S3 7" thermostat 2026-07-11 19:53:54 -07:00
README.md feat: scaffold ESPHome project for Waveshare ESP32-S3 7" thermostat 2026-07-11 19:53:54 -07:00

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

  1. Copy firmware/secrets.example.yaml to firmware/secrets.yaml and fill in your values.
  2. esphome run firmware/waveshare-thermostat.yaml

License

MIT