Tools

IoT Battery Life Calculator

The question every battery-powered build hits: how long will this thing actually run? Enter the battery, how long and how often the chip is awake, and its sleep current. The model is a rectangular duty cycle (wake, then sleep) with the assumptions spelled out so you know when not to trust it.

Chip presets fill the sleep and awake currents, and you can still adjust them: ESP32 (WROOM) (10 µA sleep, 80 mA awake); ESP32-C3 SuperMini (5 µA sleep, 35 mA awake); RP2040 / Pico (dormant) (2 µA sleep, 12 mA awake); Arduino Pro Mini 3.3V (20 µA sleep, 12 mA awake); Dev board with USB-UART (worst case) (150 µA sleep, 80 mA awake).

Result

runtime ≈ 1600 mAh / 32.2 mAh per day = 50 days

QuantityValue
Runtime50 days
Drain per day32.2 mAh (active 32 + sleep 0.236)
Average current1.34 mA
Share of drain that is active time99%

When not to use this calculator. It models datasheet-typical currents in a rectangular duty cycle. It does not model regulator quiescent current (often 5–100µA, the hidden killer), battery self-discharge, cold-weather capacity loss (Li-ion can lose 20–50% at 0°C), WiFi retry storms, or brownout margin. Treat the output as an order-of-magnitude planning number and measure your board's sleep current with a µA meter before shipping.

Worked example

A soil sensor wakes every 30 s (2,880 times a day), reads for 500 ms at 80 mA, sleeps at 10 µA, and runs from a 2000 mAh LiPo with 80% usable capacity. Active charge is 2,880 × 0.5 s × 80 mA = 32 mAh a day; sleep charge is about 0.24 mAh a day. The 1,600 usable mAh last about 50 days. Active energy dominates: double the wake time and the runtime nearly halves, while halving the sleep current barely moves it.

FAQ

How long will a 2000mAh LiPo run an ESP32 deep-sleep sensor?

For the default scenario (2,880 wakes a day, 500 ms at 80 mA, 10 µA sleep) about 50 days. Active energy dominates, so cut the wake time before anything else.

What deep-sleep current does the ESP32 actually draw?

The bare chip draws about 5–10 µA. Dev boards draw 20–150 µA because of the USB-serial chip and regulator. Some boards never truly sleep, so measure.

Why does my battery die faster than the estimate?

Regulator quiescent current, WiFi reconnects, cold weather, or an ageing cell. The calculator shows the ideal; reality subtracts 20–50%.

A free tool from TinkerNews, the free weekly email of DIY electronics builds — ESP32, Arduino, Raspberry Pi and more.

More tools: LED resistor calculator · Voltage divider calculator · ESP32 DevKit V1 pinout · ESP32-C3 SuperMini pinout · Resistor color code · WS2812B power calculator · Voltage drop and wire gauge · all tools