Battery Life Calculator
Runtime from battery capacity and circuit current draw.
About this calculator
This calculator estimates how long a battery-powered circuit will run by combining several real-world derating factors that a simple mAh-divided-by-mA formula skips. It starts from your battery's rated capacity and the circuit's average current draw, but scales that current down by duty cycle — the fraction of time the circuit is actually pulling that draw — letting you model a microcontroller that mostly sleeps and wakes briefly to take a sensor reading. Rated capacity is then discounted twice: once by a discharge efficiency percentage (batteries never deliver their full nameplate mAh under real loads — typically 80–90% for lithium chemistries, lower for alkaline) and once by self-discharge, the battery's monthly capacity loss just from sitting on a shelf, which matters far more for NiMH at roughly 20%/month than for lithium's 2–3%.
Runtime in hours is that usable capacity divided by the duty-cycle-adjusted current, converted to days and minutes for convenience, alongside total and usable energy in watt-hours and average power draw in milliwatts. What it doesn't model: the Peukert effect's dependence on discharge rate (pulling higher current genuinely reduces usable capacity in real batteries beyond what a flat efficiency percentage captures), temperature effects, or the voltage sag and cutoff behavior specific to your battery chemistry near end of discharge. Treat the runtime figure as an optimistic upper bound, especially for projects with current spikes well above the flat "average" you enter here.
Inputs
Results
Runtime (hours)
16.49
Runtime (days)
0.69
How to Use This Calculator
- Enter your battery capacity (mAh), average current draw (mA), and nominal voltage (V).
- Set the duty cycle (%) — the fraction of time the circuit is actively drawing full current.
- Enter self-discharge rate (%/month) and discharge efficiency (%) for your battery chemistry.
- Review runtime in hours and days, effective current draw, and usable capacity.
How the result changes with Average Current Draw (mA)
| Average Current Draw (mA) | Runtime (hours) | Runtime (days) |
|---|---|---|
| 50 | 32.98 | 1.37 |
| 75 | 21.99 | 0.92 |
| 150 | 10.99 | 0.46 |
| 250 | 6.6 | 0.27 |
What each input means
- Battery Capacity (mAh)
- Battery rated capacity in milliamp-hours (e.g. 18650: 2600, AA: 2500, CR2032: 225).
- Average Current Draw (mA)
- Average current your circuit draws in milliamps.
- Battery Voltage (V)
- Nominal battery voltage (e.g. LiPo: 3.7V, AA: 1.5V, 9V: 9V).
- Duty Cycle (%)
- Percentage of time the circuit is actively drawing current (100% = always on).
- Self-Discharge (%/month)
- Monthly self-discharge rate (NiMH ~20%, Li-ion ~2-3%, alkaline ~0.3%).
- Discharge Efficiency (%)
- Usable fraction of rated capacity (typically 80-90% for lithium, 70-85% for alkaline).
What each result means
- Runtime (hours)
- Estimated battery life in hours.
- Runtime (days)
- Estimated battery life in days.
- Runtime (minutes)
- Estimated battery life in minutes.
- Effective Current (mA)
- Average current accounting for duty cycle.
- Usable Capacity (mAh)
- Effective capacity after efficiency and self-discharge losses.
- Total Energy (Wh)
- Total energy stored in the battery.
- Usable Energy (Wh)
- Usable energy after losses.
- Power Draw (mW)
- Average power consumption of the circuit.
How this is calculated
Worked example, using the default values
- Identify Input Parameters4 parametersBattery Capacity (mAh) = 2000, Average Current Draw (mA) = 100, Battery Voltage (V) = 3.7, Duty Cycle (%) = 100 = 6 input(s) provided
- Calculate Runtime16.49 = 16.49
- Calculate RuntimeRuntime = runtimeHours / 240.69 = 0.69
- Calculate RuntimeRuntime = runtimeHours * 60989.4 = 989.4
- Calculate Effective CurrentEffective Current = avgCurrentMa * (dutyCyclePct / 100)100 = 100
Engine last updated . Built by Paul Gunder, a software engineer, not a licensed financial, medical, or legal professional.
Frequently Asked Questions
How should I set the Duty Cycle input for a project that sleeps most of the time?
Duty cycle is the fraction of time your circuit draws the average current you entered, so for a sensor node that wakes every 60 seconds for a 200ms reading, that's roughly 0.2/60 = 0.33% — set it close to that figure, not 100%. The calculator multiplies your average current by duty-cycle-percent/100 to get an effective current, so getting this number right matters more than almost any other input for a deep-sleep design; even small errors here compound directly into the runtime estimate.
Why does the calculator discount capacity for both efficiency and self-discharge separately?
They model two different loss mechanisms. Discharge efficiency accounts for the fact that a battery rarely delivers its full nameplate mAh under real load conditions — the engine multiplies rated capacity by this percentage first. Self-discharge then further reduces that usable capacity to reflect how much charge the battery loses just sitting unused before you ever draw from it, which is why NiMH cells (around 20%/month) need a much larger self-discharge value than lithium chemistries (2-3%/month) for an accurate long-shelf-life estimate.
Why might my real device run for less time than this calculator predicts?
The calculator doesn't model the Peukert effect, where pulling higher current from a battery reduces its usable capacity beyond what a flat efficiency percentage captures — so projects with current spikes well above your entered average (a radio transmit burst, a motor stall) will discharge the battery faster than the flat-average math here suggests. It also ignores temperature effects and the voltage sag/cutoff behavior specific to your chemistry near end of discharge, so treat the runtime figure as an optimistic upper bound rather than a guarantee.
What's the difference between the two runtime-related outputs, Runtime (hours) and Days To Depletion?
Runtime (hours), along with its day and minute conversions, is usable capacity divided by the duty-cycle-adjusted effective current — a single continuous-discharge estimate. Days To Depletion is calculated separately from a daily energy consumption figure (effective current × 24 hours), so for steady, always-on-pattern loads the two numbers converge, but they're computed through slightly different paths in the engine and are provided as independent cross-checks on the same underlying runtime.
Related Calculators
The questions that sit next to this one — chosen by subject, including calculators filed under a different category.
Arduino Project Cost Calculator
Component cost from project parts list.
Hobby ElectronicsRaspberry Pi Power Calculator
Power supply sizing from Pi model and peripherals.
Hobby ElectronicsWire Gauge Calculator
Wire AWG from current capacity and voltage drop.
IotIoT Power Budget Calculator
Battery life from sensor duty cycle and transmission frequency.
Battery StorageBattery Cycle Life Calculator
Estimate expected battery cycles from depth of discharge and chemistry.
More in Technology & Computing.