The Weather-Station Battery Budget

Ada re-derives this chapter’s own numbers step by step, at full precision

foundations
math-foundations
calculation-audit
sensors
Ada ADA · CALCULATION AUDIT

The Weather-Station Battery Budget

The chapter’s Weather Station Power Analysis puts an ESP32 and BME280 sensor through a 15-minute cycle: a 30 mA sensor read for 3 seconds, a 170 mA Wi-Fi transmit for 2 seconds, and 895 seconds of 10 µA deep sleep, 96 cycles a day. It claims that cycle stretches a 2000 mAh battery to about 171 days. This audit asks the question that headline number invites: do the three per-cycle energies actually sum to a battery life of 171 days when carried out to full precision?

Companion to the chapter Low-Power Sensor Networks — every number here comes from that chapter.

Ada: The headline claim is that a 2000 mAh battery runs this node for about 171 days. That number rests on three per-cycle energies, so let me rebuild each one from the current-and-duration table before trusting the total. Energy in mAh is current (mA) times duration in hours, and one 15-minute cycle is 900 seconds split across sensing, transmitting, and sleep.

  • Sensor read: 30 mA x (3 / 3600) h = 0.025000 mAh
  • Wi-Fi transmit: 170 mA x (2 / 3600) h = 0.094444 mAh
  • Deep sleep: 0.01 mA x (895 / 3600) h = 0.002486 mAh
  • Per-cycle total: 0.025000 + 0.094444 + 0.002486 = 0.121931 mAh

With 96 cycles per day, 96 x 0.121931 = 11.705 mAh/day, and 2000 / 11.705 = 170.9 days, which rounds to the chapter’s 171 days (about 5.6 months). The chapter’s alternate split reconciles cleanly: the active pair is (0.025000 + 0.094444) x 96 = 11.47 mAh and sleep is 0.002486 x 96 = 0.239 mAh, and 11.47 + 0.239 = 11.71 – the same total by a different grouping.

Carrying full precision matters here because the Wi-Fi term is 0.094444 / 0.121931 = 77% of every cycle. The design-meaningful takeaway is that battery life is set almost entirely by how often the radio transmits, which is exactly why buffering transmissions – not shrinking the already-tiny sleep current – is the lever that multiplies runtime.

Every number above is taken from the chapter’s own material and re-derived step by step.