IoT battery-life calculator

Estimate battery life for a device with sensors and a radio. Compare consumption during sensor measurement, data processing, radio activity and sleep.

For example, a wireless temperature monitor wakes every 60 seconds, reads its sensors, processes the readings and handles the radio communication. It then returns to sleep. Replace the example inputs with your device’s currents and timings.

Battery and operating cycle

Time from the start of one measurement cycle to the next, including sleep.

The usable percentage is your capacity allowance. 80% is an editable example, not a suitable value for every battery. Estimate it from manufacturer discharge curves for your device’s load, temperature and cutoff voltage.

Device operating states

Measure current at the battery terminals. Enter the whole-device average current over each state and the duration of that same interval. Sensing, processing and radio activity each occur once per cycle, sequentially. Sleep fills the remaining time. Add only consumption not already included in the state currents to the separate constant draw.

Whole-device average current while the sensors take measurements and the microcontroller reads them.
Whole-device average current while the microcontroller processes the readings for communication.
Whole-device average current over the entire radio event. Include setup, transmission, reception, acknowledgement waits, listening and retries as applicable.
The duration of that same complete radio event, from setup until the device can return to sleep.
Calculated runtime1,670 days40,000 h
Average current48 µAAvailable capacity: 1,920 mAh
Average current allowed by your target219 µAAverage current is at or below the target runtime limit.

Sleep time per cycle: 59.8 s · Active portion of cycle: 0.283 %

Where does the battery charge go?

Sleep4.99 µA · 10.4 %
Sensor measurement5 µA · 10.4 %
Data processing2.67 µA · 5.56 %
Radio activity33.3 µA · 69.5 %
Separate constant draw2 µA · 4.17 %

These shares represent consumed charge. At constant voltage they also represent energy shares.

What if the cycle runs half as often?

The comparison keeps all three active-state durations and currents unchanged. The cycle interval doubles and sleep time increases.

CycleAverage currentCalculated runtime
Current cycle: 60 s48 µA1,670 days
Doubled cycle: 120 s27.5 µA2,910 days

Method and assumptions

Iavg = (Isleep × tsleep + Isense × tsense + Iprocess × tprocess + Iradio × tradio) / T + Iconstant

t (h) = C (mAh) × usable (%) / 100 / Iavg (mA)

The formula uses each state’s average current in milliamps and its duration in seconds. Iradio and tradio cover the complete radio event. Sleep time equals the cycle length minus the combined sensing, processing and radio activity durations. Runtime in days = runtime in hours / 24.

Check example: 1,000 mAh, 100% usable capacity and a continuous 10 mA draw give a calculated runtime of 100 hours, or about 4.17 days.

The estimate assumes a repeating cycle and battery-side currents that already account for voltage-conversion losses. Combine simultaneous activities into one state. The model does not simulate battery chemistry, self-discharge, temperature, cutoff voltage or voltage droop during current pulses. Verify actual runtime with measurements; the result is not a guarantee.

Sources

Your inputs stay in your browser. Nothing is sent to Haksi unless you choose to submit an enquiry.

Help with a hardware project

Haksi works on electronics, firmware and manufacturing. Tell us what you are building and where you need help.

Contact Haksi

You can review and edit the message before sending it.