Skip to content
MCU Atlas
ESP32ESP32

Open-source ESP32 touchscreen smart thermostat

A cloud-free ESP32 thermostat with touchscreen UI, Home Assistant integration and forecast-aware behaviour.

Difficulty:AdvancedCost:Source available

Photos

Open-source ESP32 touchscreen smart thermostat photo 1
Open-source ESP32 touchscreen smart thermostat photo 2
Open-source ESP32 touchscreen smart thermostat photo 3

Photos: smeisner/smart-thermostat

Key Facts

  • Chip: ESP32
  • UI: touchscreen, no buttons
  • Integration: Home Assistant (Matter planned)
  • Output: HVAC relay control

About This Project

This thermostat project aims to be genuinely smart without the cloud: it connects over Wi-Fi to Home Assistant, is configured on a touchscreen, hosts a local web UI and adjusts its behaviour based on the forecast and open windows. Matter support is on the roadmap. It switches HVAC circuits, so wiring knowledge (24 VAC) is required.

Source & Attribution

Source: GitHub
License: GPL-3.0
Last verified: 10/16/2026
Open-source ESP32 touchscreen smart thermostat
How to Build It
An open-source, cloud-free thermostat on an ESP32 with a touchscreen and no buttons. It controls HVAC relays, sets up Wi-Fi from the screen, and integrates with Home Assistant over MQTT. There's also telnet access for configuration and monitoring, and Matter support is planned.

Parts Needed

  • ESP32 module or the project's PCB
  • Touchscreen display
  • Temperature/humidity sensor
  • Relays for heating, cooling and fan (low-voltage 24VAC HVAC)
  • Power supply for the 24VAC system

Steps

  1. 1

    Assemble the hardware

    Build the PCB or wire the ESP32, touchscreen, sensor and relays according to the repo's schematics. HVAC control wiring is 24VAC; switch the breaker off before touching it.

  2. 2

    Set up PlatformIO

    The firmware is pure ESP-IDF but builds through PlatformIO. Open the repo in VS Code with PlatformIO and let it fetch the libraries pinned in platformio.ini.

  3. 3

    Build and flash

    Do a clean build (the partition scheme has changed between versions), then upload over USB.

  4. 4

    Configure on the device

    Use the touchscreen to join Wi-Fi and set your HVAC options, then add your MQTT broker so Home Assistant can see it.

  5. 5

    Tips

    You can telnet into the thermostat for config and monitoring. It has no password, so keep it on a trusted network.

Parts List (BOM)
Parts list inferred by MCU Atlas — check the original
inferred
PartQtyRoleEst. PriceBuy
1main board$5–$10View
1display$8–$15View
1sensor$2–$5View
24 VAC HVAC switching; verify against creator schematic
3output$2–$4View
Estimated Total$21–$42 USD

Not included: 3D-printed case, wire, solder, USB cable

Download CSV

Related Projects

Watchy: open-source ESP32 e-ink smartwatch
Illustration
ESP32
An open-source smartwatch with a 1.54in e-paper screen and ESP32, hackable watch faces in Arduino.
Beginner·Under $15·Code
2 parts listed
Low-power ESP32 e-paper weather display (7.5in)
Illustration
ESP32
A wall-mounted 7.5in e-paper weather display on an ESP32 that runs for months on one battery charge.
Intermediate·Cost varies·Code
5 parts listed
OpenEPaperLink: reuse e-ink shelf labels with an ESP32 access point
Illustration
ESP32ESP32-S3
Turns cheap second-hand electronic shelf labels into a Wi-Fi-managed e-ink display fleet via an ESP32 access point.
Advanced·Under $15·Code
3 parts listed