Battery Life Calculator

Capacity, load and efficiency → exact runtime hours, minutes and a discharge curve.

Ad placeholder (leaderboard)
Enjoying the tools? Go Pro for £4.99 (one-time) and remove all ads — forever, on this device. Remove ads — £4.99

Whether you are designing an IoT sensor node, choosing a power bank for a camping trip, or sizing a battery for a robotics project, the key question is always the same: how long will this battery last? This calculator gives you an instant, formula-correct answer — including a discharge curve and a minute-by-minute breakdown — without needing a spreadsheet.

The formula

Battery runtime is governed by a simple division:

Runtime (h) = (Capacity_mAh × η) ÷ Load_mA

where η (eta) is the efficiency fraction (efficiency % ÷ 100). Three quantities drive the result:

  • Capacity (mAh) — the total charge the cell can store at its rated condition. A standard 18650 lithium-ion cell is typically 2500–3500 mAh; a AA alkaline is about 2500 mAh; a coin-cell CR2032 is roughly 220 mAh.
  • Load current (mA) — the average current your circuit or device draws from the battery. This is the single most important variable: halve the load and you double the runtime.
  • Efficiency (%) — a real battery never delivers its full rated capacity. Internal resistance wastes energy as heat, voltage sag cuts off circuits before the cell is empty, and self-discharge reduces charge over time. A realistic derating for a fresh Li-ion cell at room temperature is 80–85%; for an ageing or cold cell, use 70% or less.

The calculator also computes:

  • Effective capacity = Capacity × η (the mAh you can actually draw)
  • Energy stored = Capacity × V ÷ 1000 (in watt-hours)
  • Power draw = Load_mA × V ÷ 1000 (in watts)

How it works

Enter battery capacity, load current, efficiency and nominal voltage. Results update instantly — no form submission required. The discharge curve is an SVG rendered in the browser showing how the remaining charge percentage falls over time. The discharge schedule table lists the exact elapsed time at every 10% capacity step, which is useful for low-battery warning thresholds in firmware.

Use the battery presets panel for common cells (AA alkaline, 18650, coin cells, power banks) and the device profiles panel for typical microcontroller and module loads (Arduino, ESP8266, Raspberry Pi Zero, GPS, Bluetooth beacons).

Worked example

A common IoT project uses a 3000 mAh 18650 Li-ion cell to power an ESP8266 module averaging 80 mA (WiFi duty-cycled to roughly 15% on-time). Efficiency is set to 80% to account for the boost converter and cell derating.

InputValue
Capacity3000 mAh
Load current80 mA
Efficiency80%
Nominal voltage3.7 V

Working:

  1. Effective capacity = 3000 × 0.80 = 2400 mAh
  2. Runtime = 2400 ÷ 80 = 30 hours
  3. Energy stored = 3000 × 3.7 ÷ 1000 = 11.1 Wh
  4. Power draw = 80 × 3.7 ÷ 1000 = 0.296 W

Doubling the battery to 6000 mAh (two cells in parallel) would extend runtime to 60 hours. Reducing the average load to 40 mA (deeper sleep cycles) would also deliver 60 hours from the same single cell — demonstrating that optimising software sleep modes is often more cost-effective than buying larger batteries.

Formula note

The formula assumes a constant average load and a linear discharge model. Real Li-ion cells show a relatively flat voltage plateau between 20% and 80% state of charge, then a steep drop near empty — the efficiency parameter captures this in aggregate. For high-precision battery modelling (especially for cells with strong non-linear discharge curves) a Peukert-law correction or a lookup-table approach based on measured discharge curves is more accurate, but for most practical sizing the linear model is sufficient and is what manufacturers use for their own published runtime estimates.

Ad placeholder (rectangle)