IoT Battery Life Calculator
Estimate battery runtime from a repeated low-power cycle of up to five current stages with per-stage units.
What this estimate includes
I_avg = Σ(I_stage × t_stage) / Σ(t_stage)
runtime = capacity × usable% / I_avg
Model a repeated low-power cycle with up to five stages (sleep, standby, run, and two transmit bursts), each with its own current and time units so firmware timing can be entered directly. The result uses a repeated-cycle average-current model.
How it works
A low-power device spends most of its life asleep, waking briefly to measure and transmit. Because those states draw wildly different currents — perhaps a few microamps asleep versus tens of milliamps during a radio burst — you can't use a single current figure. Instead you find thetime-weighted average: multiply each stage's current by how long it lasts, add them up, and divide by the total cycle time. Runtime is then the usable battery capacity divided by that average. The counter-intuitive result is that a short, rare transmit burst often dominates the budget, so cutting how often the device transmits usually buys more life than shaving sleep current.
Worked example
Suppose a sensor sleeps at 10 µA for 60 s, then runs at 20 mA for 0.2 s each cycle. The average is (10µA × 60 + 20mA × 0.2) / 60.2 ≈ 76 µA. On a 2000 mAh coin-cell-equivalent battery at 85% usable, that's about 0.85 × 2000 / 0.076 ≈ 22 000 hours, or over two years — but double the wake rate and the average nearly doubles, roughly halving the life.
What it leaves out
Real runtime also depends on battery chemistry and temperature, regulator quiescent current, radio retries, self-discharge, and cutoff voltage — so treat this as a planning estimate. Pair it with thebattery capacity table to pick a cell, and the data usage calculator to size the transmit side of the budget.