Battery-powered thermocouple temperature alarm built on an M5Stack CoreInk (ESP32 + e-paper) with the M5Unit KMeterISO.
| ThermoTimer active | ThermoTimer in sleep mode |
![]() |
![]() |
- K-type thermocouple readout (°C) via KMeterISO
- On-device target temperature alarm (adjustable in 0.5°C steps)
- E-paper status screen (battery %, current temp, target temp)
- Automatic timed sleep between measurements for long battery life
- Auto power-off after cooldown / idle timeout
- Persists the target temperature in NVS (Preferences)
- M5Stack CoreInk
- M5Unit KMeterISO (I²C)
- K-type thermocouple probe
- Optional:
M5ThermoTimer_case.scad(OpenSCAD enclosure)
BtnB(middle): toggle config mode (edit target temperature)BtnA(up): increase target (+0.5°C) while in config modeBtnC(down): decrease target (-0.5°C) while in config modeBtnEXT: immediate power-off (shows the “sleeping kitty” screen first)
- In normal mode, the device shows battery percent, current temperature and the alarm setpoint.
- If the measured temperature is ≥ target, it plays a short tune and sleeps briefly, then continues checking.
- Power saving:
- Sleeps for ~60s between measurements (configurable in the sketch).
- Auto powers off if the temperature is stable and below ~40°C for ~10 minutes, or if no probe is detected for a few minutes.
- Install board support for M5Stack / ESP32 (as required by CoreInk).
- Install libraries:
M5UnifiedM5Unit-KMeterISO
- Open
ThermoTimer.ino, select the CoreInk board + serial port, and upload.
ThermoTimer.ino: firmwareM5ThermoTimer_case.scad: 3D-printable enclosure (OpenSCAD)kitten_200x200_1bit.*: monochrome bitmap used for the sleep/off screen
MIT (see LICENSE).

