Skip to content
AESTECHNO
Energy

Battery life estimator

Battery life is usable capacity divided by average current drawn. This AESTECHNO estimator returns runtime in hours, days or years from your capacity (mAh or Ah), a constant average current or an active/sleep duty cycle, your derating factor, and monthly self-discharge.

Inputs

Cell rated capacity from the datasheet (for example 2000 mAh for a common 18650).

Consumption mode

Constant current for a steady load, or active/sleep duty cycle for a node that wakes periodically.

Average current drawn by the circuit. Use the µA unit for deep-sleep sensors.

Current drawn during the active phase (radio, sampling, compute).

Residual current in sleep, often a few µA. Enter the value then pick µA.

Length of the active phase at each wake-up, in seconds.

Interval between two wake-ups, in seconds (for example 60 for one wake-up per minute).

Share of rated capacity actually delivered, after discharge reserve and cutoff voltage. 80 to 90 percent is realistic.

Charge lost per month at rest. About 1 to 3 percent for lithium, higher for NiMH. Set 0 to ignore.

Current Time I_avg (constant)

Current vs time (not to scale)

Result

3.533 d

Breakdown

I = 20 mA · Ceff = 1700 mAh · t = 84.803 h

First order: usable capacity divided by average current. Real life is shorter (self-discharge, temperature, cut-off voltage, peak currents, converter efficiency).

Frequently asked questions

FAQ

What exact formula does the estimator use?
We start from the capacity-over-current relation t = C / I. Usable capacity is C_eff = capacity x (usable percent / 100). Self-discharge is modelled as a parasitic current I_sd = C_eff x (self-discharge / 100) / 730.485 (730.485 h is the average month). Final life is t = C_eff / (average current + I_sd), expressed in hours.
How does active/sleep mode compute the average current?
The average of a periodic current is its time integral over the period. For a two-level waveform this reduces to the duty-weighted mean: D = active time / period, then I_avg = I_active x D + I_sleep x (1 - D). A 2 s wake every minute gives D = 0.033, so the sleep current dominates the runtime.
Why enter a usable capacity below 100 percent?
A cell never delivers its full rated capacity. The regulator cutoff voltage, discharge reserve and voltage profile all reduce the charge you can actually use. We keep this derating factor under your control (80 to 90 percent is realistic) rather than hiding it in a constant. It is the lever that separates a cautious estimate from an optimistic one.
Why will real runtime be shorter than the estimate?
The result is an estimate. Four factors degrade real runtime: temperature (cold reduces delivered capacity), cell ageing (capacity loss over cycles), high-rate Peukert losses on current peaks, and self-discharge. For brief radio peaks, add margin or measure real consumption on an oscilloscope before committing to a battery size.
uA or mA: which unit for a deep-sleep sensor?
Sleep currents on modern microcontrollers and sensors are often sub-milliamp, on the order of a few uA. Enter the datasheet value then select uA, otherwise the estimator overstates sleep consumption by a factor of 1000 and badly underestimates the runtime of a low-power node.
Go further
ENERGY BUDGET

Need your node to last years on a single cell? We size the energy budget, the wake cycle and the battery choice. Book a free 30-min audit with our design office.

AESTECHNO is an electronics design office based near Montpellier, France, with 10+ years of experience in low-power embedded systems and a 100 percent first-pass record on CE/FCC certification.