Heat & Gust is a tiny “at-a-glance” home cockpit: one quick look tells you how your house feels right now — temperature, humidity, and what the wind is doing outside — and one tap lets you nudge your smart home without opening an app.
Built for the Waveshare ESP32-S3 Touch LCD 4.3” (800×480 RGB565, GT911 touch, 8 MB PSRAM) on ESP-IDF v6, it runs an always-on carousel: • Temperature view: Windy-style background + weather data + a room grid • Humidity view: same layout, different metric • Map view: the gust map gets its own uninterrupted spotlight 
Touch the left pane and you drop into a dedicated IoT control page with 8 Home Assistant entities (lights/switches) for quick “do the thing” moments — then Back takes you straight to the carousel. 
Why this project is fun to steal (and easy to remix)
Heat & Gust is deliberately split into two parts:
-
ESP32 firmware (fast + deterministic UI) The ESP pulls pre-rendered full-screen images over HTTP and pushes them to the display, keeping the embedded side lean and responsive. 
-
Python render service (pretty pixels, no compromises) A Python renderer generates the 4 RGB565 frames (temp / humidity / map / IoT) and serves them from a simple HTTP service; a systemd timer can refresh them automatically. 
This “render-on-server, display-on-ESP” approach is the trick that makes the visuals look polished without turning your microcontroller into a tiny, suffering graphics workstation.
Make it yours in an afternoon • Change Wi-Fi + server address in firmware config.  • Point it at your Home Assistant and drop in a token.  • Customize the IoT page by editing a JSON file on the server — no reflashing required. 
If you’re looking for a maker project that’s immediately useful, pleasant to look at, and easy to extend (more rooms, different sensors, extra pages, TLS, interrupts, you name it) — grab the code, fork it, and ship your own household dashboard.
PolyForm Noncommercial 1.0.0 - See LICENSE.md. Commercial use requires explicit written permission.
Robin Kluit


