Skip to content
Free public beta until December 4, 2026: every course is open, no card needed. After that, the first chapter of each course stays free and full access is a one-time $39 ($19 for up to 100 founding members chosen for helpful feedback). Your progress is kept. How the beta works

Recipe

Estimate battery life from a duty-cycle table

Use when: a device repeats a cycle of states (sleep, measure, send) and runs from a battery

Goal: an average current and a battery-life estimate, each with its sources and assumptions stated

Taught in Power budgets · extends Estimate a battery's life, best case

  1. 1

    Write every state the device passes through in one cycle, with how long it lasts. The sleep state fills the rest of the period.

    Example

    Period 60 s: measure 0.3 s, send 1.5 s, sleep 58.2 s.

    Why: a state you forget is current you never counted, and the forgotten one is often the long, quiet one.

  2. 2

    Take each current from a datasheet table you can cite, or from your own measurement, or mark it as an example.

    Example

    Measure 40 mA, send 120 mA, sleep 0.05 mA: all marked example.

    Why: a budget is only as good as its worst number, and a chip's sleep figure is not a board's.

  3. 3

    Multiply each current by its time and add the results.

    Example

    40 \times 0.3 + 120 \times 1.5 + 0.05 \times 58.2 = 12 + 180 + 2.91 = 194.9 mA·s.

    Why: charge, not current, is what the battery supplies.

  4. 4

    I_{avg} = charge per cycle / T.

    Example

    194.9 / 60 = 3.25 mA.

    Why: the battery sees the average over many cycles.

  5. 5

    Life in hours = kC / I_{avg}, with k about 0.7 to 0.8 unless the battery's datasheet supports better.

    Example

    0.8 \times 2000 / 3.25 \approx 492 h, about 20 days.

    • the result is long enough — check the biggest state's numbers again, then measure the real device.
    • it is too short — shrink the biggest charge share first: shorter or rarer sends, or a lower sleep current if sleep dominates.

    Why: derating covers what the label doesn't promise, and attacking the biggest share is the only change that moves the answer much.

Common mistakes

  • Using a peak current from a datasheet as if it lasted the whole state.
  • Using a chip's sleep current for a whole development board.
  • Forgetting the time it takes to boot and connect after a deep sleep.
  • Dividing capacity by current without derating, then trusting the result to the day.