← All projects in the gallery

Heating Thermostat

by jonathan harrocks

A thermostat that behaves like one. The dial writes a setpoint and the firmware reads it back, so the number on screen is the number the logic uses. Heat comes on 0.3 C below target and off 0.2 C above it - the gap is what stops a relay chattering when the room sits exactly on the setpoint. Boost adds 2 C for half an hour and counts itself down a minute at a time. A BME280 on the capacitive CYD CN1 connector measures the room. Exported with Home Assistant turned on, the setpoint, the temperature and the heat demand all appear as entities - so a schedule can live in Home Assistant while the panel keeps working when the network does not.
Board
ESP32-2432S028C (capacitive CYD)
MCU
ESP32 (WROOM / WROVER)
Display
ILI9341
Resolution
320 x 240
Touch
CST820
LVGL
v9
Peripherals
BME280