

Thermostat
This is an ESPHome touch e-paper thermostat based on the following hardare:
- Size
- 85 × 38 mm
- Copper layers
- 4
- Thickness
- 1.6 mm
- Parts
- 10
- Nets
- 54
- Pads
- 80
- Tracks, vias
- 125, 2
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 9 Aug 2026
- Updated
- 24 Oct 2026
Overview
Thermostat is an open-source printed circuit board by danepowell, from the danepowell/thermostat repository on GitHub. It is a 4-layer board of 85 × 38 mm with 10 parts on 54 nets, routed with 125 tracks and 2 vias.
Its parts include 2 resistors, 2 ICs and 2 connectors. It belongs with the home automation and IoT boards and the ESP32 and RISC-V boards of this library.
README
README.mdESPHome E-Paper Thermostat
This is an ESPHome touch e-paper thermostat based on the following hardare:
- XIAO ESP32C6
- Waveshare 2.9in E-Paper Touch HAT
- Pololu U1V11F5 5V regulator
- 240 mAh 1S LiPo battery
[!NOTE] This is a work in progress and still in a pre-protoype phase. Use at your own risk.
Depends on:
Still in progress:
- Improve battery life (currently only ~5 hours)
- Add a temperature sensor (currently this is more of a remote control than a thermostat, strictly speaking)
The challenge with battery life is the touch sensor and wifi. While the E-Paper display and ESP32 can theoretically go into a deep sleep and consume only a few microamps, this presents two problems:
- We won't receive updates from Home Assistant during this time. One of my biggest grievances with my current IR-based heat pump remote control is that it gets out of sync with changes in Home Assistant, so this is non-negotiable. But maybe we can at least use light sleep and a regular (~15 min) wakeup timer as a compromise.
- The touch display can't be put into any kind of sleep mode without disabling touch updates completely, and it draws quite a bit of power even when idle.
Supposedly the icnt86 touch controller has a low power scan (gesture) wakeup mode that draws only 1-3 mA, which is still more than desired but an order of magnitude less than normal. It could then pulse on INT to wake the ESP32.
Or we could put the icnt86 into deep sleep and poll every ~300 ms. Not actually sure if this would work.
If we ever get to this point, check that our SCL and SDA lines are explicitly put into INPUT_PULLUP on sleep to avoid leakage current.
Parts
10| Qty | Value | Footprint | References |
|---|---|---|---|
| 4 | MountingHole_3.2mm_M3 | MountingHole:MountingHole_3.2mm_M3 | M3*6, M3*6, M3*6, M3*6 |
| 1 | 100K | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R2 |
| 1 | 33K | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R1 |
| 1 | Conn_01x02 | Connector_Wire:SolderWire-0.25sqmm_1x02_P4.2mm_D0.65mm_OD1.7mm_Relief | J2 |
| 1 | Conn_02x20_Odd_Even | Connector_PinHeader_2.54mm:PinHeader_2x20_P2.54mm_Vertical | J1 |
| 1 | XIAO-ESP32-C6-SMD | Seeed Studio:XIAO-ESP32-C6-SMD | U3 |
| 1 | ~ | PCM_Pololu:U1V11F5 | U1 |
Questions
How big is the Thermostat PCB?
It measures 85 × 38 mm and has 4 copper layers, 1.6 mm thick.
What parts does the Thermostat use?
10 parts. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Thermostat KiCad files?
From the danepowell/thermostat repository on GitHub, at the commit this page was made from: the board is kicad/Thermostat.kicad_pcb and its schematic kicad/Thermostat.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Thermostat design in my own project?
Its repository states no licence, so its author keeps all rights: ask danepowell before reusing the design.
Similar boards
- 4 layers22 × 42 mm

- 4 layers28 × 70 mm

DSC DB9 Splitter
nanographs/Open-Beam-Interface
Just what you need to control the beam and get an image.
10 parts371 - 4 layers59 × 23 mm

- 4 layers47.9 × 47.9 mm

FlashCardBanked2M
clydeshaffer/gametank
design files for the gametank hardware implementation
10 parts150 - 4 layers32 × 50 mm

J533DreamPCB
lukasloetkolben/OpenpilotHardware
Welcome to the Openpilot Hardware Collection!
10 parts95MIT - 4 layers118.1 × 68.6 mm

Nucleo-144-click shield
COVESA/Open1722
Open-source implementation of the IEEE 1722 protocol, for streaming audio/video, tunneling CAN/LIN messages and enabling remote access to peripherals
10 parts86BSD-3-Clause - 4 layers72 × 40.2 mm

Thelio io sata
system76/thelio-io-hardware
KiCad electrical design of Thelio Io board
10 parts70GPL-3.0 - 4 layers60.9 × 34.2 mm
