Skip to content

antoinecellerier/firebeetle-esp32-e-thermometer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

109 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A low power FireBeetle ESP32-E based thermometer with an ePaper display

Assembled first prototype

See docs/wiring.md for wiring information.

Power consumption

Measured with a Nordic PPK2; full traces and methodology in docs/notes.md.

Setup Deep-sleep floor Sensor wake Display refresh
ESP32-E + BMP390L + DESPI-C02 ePaper (FDN340P power gate) ~18 µA ULP bit-bang I2C every 5 s, avg ≈0
XIAO ESP32-C6 + BMP581 + GDEH0576T81 ePaper ~14 µA LP core I2C every 60 s: ~1 mA × 3 ms ~93 mC (3.2 s × 29 mA avg, 322 mA peak)

The main CPU only wakes on a ≥0.1 °C delta or a safety-net tick, so a display refresh is the dominant event on a typical day. Long-term average stays in the 15–40 µA band, which gives a load-only runtime of roughly 1–3 years on a 400 mAh LiPo depending on how often the display refreshes. At this current level LiPo self-discharge (a few %/month ≈ 15–25 µA equivalent) is comparable to the load itself, so expected runtime is on the order of a year — to be confirmed against real long-run measurements. A 2600 mAh 18650 sits near the self-discharge floor and is expected to age out before the load meaningfully drains it.

Two gotchas worth surfacing:

  • DESPI-C02 ePaper adapter leaks ~534 µA from its boost converter even with the panel hibernated. A P-channel MOSFET (FDN340P) on its 3.3 V line eliminates it.
  • XIAO C6 USB Serial/JTAG stays on in deep sleep by default (~20 mA), masking all savings. Disabled via ARDUINO_USB_CDC_ON_BOOT=0 plus matching build_unflags.

For context: the original 2021 prototype (wake + refresh every 60 s, no ULP) ran a 2600 mAh cell flat in 8.5 days at ~12.6 mA average — the ULP/LP-core redesign is ~700× more efficient.

Hardware

Controller boards

Temperature sensor (multiple options)

Display (multiple options)

Good Display panels are driven through a DESPI-C02 adapter. Its boost converter leaks ~534 µA in deep sleep, which an FDN340P P-channel MOSFET on the adapter's 3.3 V line eliminates — see docs/wiring.md.

Other components

  • FDN340P P-channel MOSFET (SOT-23) — power-gates DESPI-C02 3.3 V during deep sleep
  • AO3400A N-channel MOSFET (SOT-23) — switches the XIAO C6 battery voltage divider so it doesn't draw ~10 µA continuously

Battery

About

Experiment in building a simple ESP32 e-Ink room temperature thermometer

Topics

Resources

Stars

Watchers

Forks

Contributors