Main Content

ThermTerm: an open source heat pump controller and home automation terminal, built on ESP32

Control heat pumps manually or remotely via MQTT/Home Assistant.

I love my heat pumps. They’re energy efficient and the fastest way to heat or cool any room.

But I’ve always hated the remote controls that come with heat pumps. They’re clunky and hard to read, especially in low light. In theory, you can program schedules for your heat pumps, but in practice the remotes are too frustrating to use for that.

ThermTerm solves all the problems I’ve had with these physical controls, while integrating the heat pumps into Home Assistant via MQTT. Additional sensors pipe temperature, humidity and light data, for statistics and automation. Out of the box, ThermTerm supports Mitsubishi’s infrared protocol, since that’s the system I have. Thanks to integration with IRRemoteESP8266, you can make ThermTerm work with your own heat pumps by writing a few lines of adaptor code. No signal analysis or reverse-engineering required. See Customization for more details.

Bill of materials
- Adafruit ESP32-S3 Feather Reverse TFT
- Adafruit I2C rotary encoder board with Neopixel
- Rotary encoder
- IR blaster board
- Optional: 5mm IR LED
- Optional: Tiny piezo buzzer, for auditory feedback now (and later: alerts)
- Optional: 400 mAh LiPo battery, so the devices can still communicate with HA during a power outage
- SHTC3 Temperature/humidity sensor
- BH1750 Light sensor
- 1 100mm StemmaQT/Qwiic cable
- 2 50mm StemmaQT/Qwiic cables
- Wires for the IR blaster (I trimmed one of these)
- USB-C cable (right angle designs look best)
- A 5v USB power supply
- Opaque PETG to print the main case
- Translucent PETG to print the dial
- Velcro/picture hanging Command Strip to wall-mount

The sensors use I2C, so with a light rewrite, you can replace the above models with alternatives if needed, or skip them entirely if you don’t care about recording data back to Home Assistant.

If you want to design your own enclosure and use a different display, I suspect any ESP32-based device will work fine.

There’s not a huge upside to the battery in the current implementation but I designed the case to accommodate it for future enhancements. You can skip it unless you want to tinker with power outage-related home automation tasks.”

Link to article