A Quick Checklist for Estimating Battery Life in Your Project

Every maker, embedded developer, or hardware hobbyist has been there: you do the back-of-napkin math, the battery looks like it should last two weeks, and then the thing dies in four days. Or worse — it dies in four hours. Battery life estimation feels simple until you actually try to do it right, and then it turns out there are about a dozen places where your assumption quietly fell apart.

This checklist won't eliminate uncertainty entirely — batteries are messy electrochemical things and your load is probably messier — but it will catch the most common mistakes before your hardware is already assembled and you're staring at a dead device wondering what went wrong.


1. Know Your Actual Capacity, Not the Label

  • Check the rated capacity at the discharge rate you'll actually use. A 2000 mAh Li-ion cell is rated at 2000 mAh at 0.2C (400 mA for that cell). Draw 2A from it continuously and you might only get 1700 mAh or less before voltage cutoff. The Peukert effect is stronger in lead-acid chemistries, but it still applies to lithium cells — just less dramatically.
  • Derate for temperature. Most battery datasheets spec capacity at 25°C. If your device lives in a cold warehouse, outdoor sensor housing, or a car in January, expect meaningful capacity loss. Li-ion can lose 15–25% capacity at 0°C compared to room temperature.
  • Derate for age. A brand-new cell at 80% charge cycle life (often around 300–500 cycles to 80% for cheap lithium cells) will deliver noticeably less than spec. If you're designing for a multi-year product, plan for an aged battery from day one.
  • Do not use marketing capacity numbers. Cheap cells from unbranded suppliers frequently lie. If the project matters, measure it yourself with a capacity tester or trust only reputable datasheets from vendors like Murata, Panasonic, or Samsung SDI.

2. Build a Realistic Load Current Profile

This is where most estimates fail. People take the maximum current draw, multiply by time, and call it done. That's not wrong as a worst-case bound, but it's usually wildly pessimistic or — depending on what they measured — accidentally optimistic.

  • List every operating state. Your microcontroller isn't always in active mode. It sleeps, wakes, transmits, processes, then sleeps again. Map out every distinct state and assign it a current draw and a duration or duty cycle.
  • Measure, don't assume. IC datasheets give typical figures that sometimes differ significantly from what your circuit actually draws at your supply voltage, with your clock speed, with your specific firmware path. Use a current probe, a Nordic PPK2, an Otii Arc, or even a precision ammeter with your device in a controlled loop. Measure sleep current especially — it's often higher than datasheet minimums because of external pullups, quiescent regulator current, or a peripheral you forgot to disable.
  • Calculate average current from duty cycle. If your device draws 50 mA active for 100 ms and 10 µA in sleep for 4.9 seconds, your average is roughly: (0.050 × 0.1 + 0.00001 × 4.9) / 5.0 ≈ 1.01 mA. That's the number you use for basic runtime math — not 50 mA.
  • Don't forget peripherals with their own quiescent draws. GPS modules holding a position lock, voltage regulators with 100 µA quiescent current, always-on LEDs or pull-up resistors across low values — they all add up. A 10 kΩ pull-up to 3.3 V bleeds 330 µA continuously. Twenty of those and you've added 6.6 mA before your MCU even wakes up.

3. Account for the Discharge Curve

  • Understand where your cutoff voltage sits relative to your circuit's minimum operating voltage. A Li-ion cell's nominal voltage is 3.6–3.7 V, but it's fully charged at 4.2 V and cut off at 2.7–3.0 V. Your circuit might stop working correctly at 3.1 V even though the battery still has charge left. If you're not using a regulator, you're effectively losing some of that capacity.
  • Use a boost converter if you need it — but budget its quiescent current. Running a 3.3 V system from a Li-ion cell through a boost regulator keeps your supply stable all the way to low battery, letting you use more of the cell's capacity. But check the regulator's quiescent current, which might be 50–500 µA depending on device, and factor that into your average load.
  • Watch for voltage sag under peak loads. During a radio transmission burst or a motor start, your current spikes hard. If your battery's internal resistance is non-trivial (as it is with smaller cells or aged cells), you'll see a voltage dip. If that dip crosses the brown-out threshold of your microcontroller, you'll get unexpected resets that look like software bugs but are actually power supply problems. Check your cell's impedance spec and calculate peak sag: V_sag = I_peak × R_internal.

4. Apply Efficiency Losses

Even if your load current math is perfect, the energy actually pulled from the battery is higher than what your load consumes, because power conversion is never 100% efficient.

  • Find the efficiency of your regulator at your actual load current. A switching regulator that's 90% efficient at 200 mA might be 70% efficient at 2 mA (many switching regulators are much less efficient at light loads). If your device spends most of its time in a low-power state, check the light-load efficiency number on the datasheet — or better yet, measure input vs. output power directly. Some modern LDOs are more efficient than switching regulators at micro-amp loads simply because the switching losses dominate.
  • Divide your load power by regulator efficiency to get battery power. If your system consumes 10 mW and your regulator is 85% efficient at that point, your battery is providing ~11.8 mW. Over time, this difference compounds into a meaningful error in your runtime estimate.
  • Account for self-discharge if your product will sit on a shelf. Li-ion self-discharges at roughly 1–3% per month. A device shipped with a full battery that sits in a box for six months will have noticeably less capacity when the user first turns it on. If that matters for first-boot experience, it matters for your design.
  • For charging circuits, verify charge efficiency too. If you're evaluating solar or USB recharge vs. consumption, charge acceptance isn't 100% — a typical Li-ion charger IC loses 10–20% of input energy as heat during the CC/CV charging process. This matters when balancing energy harvest with consumption in an energy-neutral design.

5. Do the Final Calculation (and Then Sanity-Check It)

  • Basic formula: Runtime (hours) = Usable Capacity (mAh) ÷ Average Load Current (mA). Usable capacity is your derated cell capacity adjusted for the effective cutoff voltage. Average load current comes from your duty-cycle profile, scaled up by 1/regulator_efficiency.
  • Apply a reality margin. Even with careful measurement, life will apply surprises. A common engineering practice is to target 80% of your calculated runtime as the "guaranteed" figure. That 20% margin absorbs cell variation, firmware edge cases you didn't model, temperature swings, and the mild aging that happens between manufacturing and deployment.
  • Cross-check with a power analyzer if the estimate matters. Tools like the Nordic PPK2 or Otii Arc can log your actual current draw over a representative duty cycle and give you average current directly. Running your firmware through a real 24-hour measurement cycle before committing to a battery size has saved many a hardware revision.
  • Recalculate for worst-case scenario, not just typical. If your product might run in −20°C conditions, with a worn battery at 80% health, under a heavier than typical load — what does the estimate look like then? That's the number your product has to be acceptable at.

One More Thing: Write Down Your Assumptions

This is less a calculation step and more a discipline. When you hand off documentation, write a revision, or come back to this design in eight months, you want to know what numbers you used and why. "2000 mAh cell, derated to 1800 mAh at 25°C, 20% reserved for cutoff, 85% regulator efficiency at 1 mA, average load 0.9 mA from duty cycle measurement 2025-03-10" is infinitely more useful than "battery lasts ~two weeks per spreadsheet."

Battery estimation isn't magic. It's disciplined accounting of where your energy actually goes, and it's almost always more interesting than it looks on the surface.