DMC, Inc.

Battery Life Calculator

As engineers who design electronic products, maximizing battery life is a constant challenge. Devices keep getting smaller while their feature sets continue to grow, forcing us to carefully manage power consumption across multiple operating modes, batteries, and power conversion stages.

This calculator helps explore those tradeoffs by letting you tune system parameters and compare different battery and power architecture options. Unlike many simple online calculators, it breaks power usage down by operating mode and accounts for conversion efficiency so you can better see where energy is going and how design choices affect battery life.

Final battery life estimate
Average power — uW
Usable pack energy
Life

Ultimate Online Battery Life Calculator for IoT, Embedded Systems, and Wearable Devices

Explore battery life for embedded systems with multiple modes and power rails.

Example configurations

Each link reloads this page with that template.

Each example demonstrates a realistic device setup, so the diagram, mode rows, and results cards line up as a teachable reference. After loading one, tweak values to see how assumptions change the life estimate.

Project

Optional, not used in calculations.

Battery configuration

Chemistry + min/max voltages control derating.
cells
mAh
V
V/cell
V/cell at cutoff

Pack energy is computed as: Pack_mWh = CellCapacity_mAh * AvgCellVoltage_V * NumCells.

Discharge curve & pack stats

Discharge curve preview

Normalized capacity (0% = fresh cell, 100% = fully discharged).

Select a chemistry to view its curve.

Pack energy max (mWh / Wh)
Pack avg voltage
Pack max voltage
Pack min voltage
Pack energy usable (mWh / Wh)
Usable capacity fraction

Power rails

Define each rail once, including its voltage, regulator model, and optional parent rail to model cascaded conversion. Use Switching (fixed) for a single efficiency point, Switching (2-point) for low/high efficiency versus current, and Linear (LDO) to enter quiescent current (Iq). Rails are treated as on by demand: Iq is applied only in modes where downstream load current is non-zero. The calculator also shows a nominal path efficiency back to the battery.

Parent rail Rail name Volts Regulator Params Path Efficiency Notes
N/A — %
%
— %
— %
%
— %
%
— %
%
— %
Enter voltage and regulator parameters per rail so the calculator can translate per-mode currents into battery power.

Loads (peripherals)

Define generic loads such as MCU, sensor, transmitter, or receiver. Each load is powered from one of the rails above and appears as a column in the modes table.

Load name Rail Notes
Loads inherit voltage and cascaded efficiency from their rail; change the rail to move a load between rails.

Block diagram

Diagram auto-generates from your rails (columns) and loads (final column). Parent rails feed child rails and loads.

Modes, timing, and load currents

The first row (Idle) is always on and fills any time not used by other modes. Add additional modes such as Sensor sample, Transmitter burst, and Receiver listen by clicking “Add mode” below. Each mode specifies a current for each load during its active time; loads inherit voltage and efficiency from their rails above.

Modes share a single comparison period based on the longest configured period.

Results

Average power

— uW
Time-weighted average across all modes.

Battery life (hours)

— h
Based on pack energy and average power.

Battery life (days / years)

— days, — years
Converted from hours for convenience.

Mode duty, average power, and contribution are shown per row in the modes table above. The chart below visualizes how much each mode contributes to the overall average power.

Mode contributions

Enter timing and currents above to see how each mode contributes to the total average power.

How this calculator works (conceptually)

Big picture: this is an estimator, not a simulator. It gives a defensible, first-order answer for “how long will my thing run?” and teaches how duty cycle, rails, and efficiency play together. Measure on hardware once you have a prototype.

1. Pack energy

Energy bucket The model converts battery specs into one budget number: Pack_mWh = CellCapacity_mAh * AvgCellVoltage_V * NumCells. This is the full bucket before cutoff and chemistry derating.

How usable energy is estimated For named chemistries with valid min/max cell voltage, the model applies a chemistry profile to compute a usable fraction and then uses UsablePackEnergy_mWh = Pack_mWh * usable_capacity_fraction. If chemistry or cutoff data is missing, it falls back to usable_capacity_fraction = 1 instead of guessing.

Philosophy This is a first-order planning model, not an electrochemical simulator. We intentionally keep one average-voltage energy bucket so design tradeoffs are easy to compare and assumptions stay visible.

Example Two 2500 mAh alkaline cells at 1.3 V average give Pack_mWh = 2500 * 1.3 * 2 = 6500 mWh. If cutoff/chemistry gives usable_capacity_fraction = 0.8, usable energy is 5200 mWh.

2. Duty cycle

Comparison window = longest non-idle period. Duty = active_ms / (period_s * 1000). Idle duty is whatever time remains after non-idle modes.

Example If a sensor sample runs for 250 ms every 60 s, then Duty_sample = 250 / 60000 = 0.00417 = 0.417%. If uplink runs 1200 ms every 900 s, then Duty_uplink = 1200 / 900000 = 0.133%. Idle gets the remaining time.

3. Rail efficiency

Switching (fixed) means one fixed efficiency for that rail: efficiency = eff_pct / 100. If you enter 90%, the model assumes about 10% of converter input power is lost as heat at all loads. Switching (2-point) means you enter two points from the regulator datasheet Efficiency vs Output Current graph at your expected VIN/VOUT: (I_low, Eff_low) and (I_high, Eff_high). Below I_low the model uses Eff_low, above I_high it uses Eff_high, and between them it interpolates in log(current) so light-load and heavy-load behavior are both represented. Some datasheets use the Greek symbol η for efficiency. Linear (LDO) uses VIN/VOUT behavior plus quiescent current: P_in = V_in * (I_out + I_q).

Why it matters Efficiency loss becomes heat, and that heat comes from your battery budget. A converter that is 90% efficient needs about 11% more input power than the load uses. At low currents, many converters get worse, so sleep-heavy products can lose more life than expected if you use one optimistic efficiency number.

4. Power per mode

Path efficiency Multiply stage efficiencies up the parent chain to get PathEfficiency. Per load compute rail power with RailPower_uW = RailVoltage_V * LoadCurrent_mA * 1000; battery-side power is BatteryPower_uW = RailPower_uW / PathEfficiency. Per mode sum battery-side load powers: ModePower_uW = sum(BatteryPower_uW).

Why it matters Cascaded regulators stack losses. If one stage is 90% and the next is 90%, the path is 0.9 * 0.9 = 0.81, so only 81% of battery power reaches the load. This is why โ€œjust add another railโ€ can reduce battery life more than expected.

Analogy Think of power as water moved through hoses. Each regulator is a hose section with a leak. One small leak might be fine, but several leaks in series mean much less water reaches the plant at the end.

Example A 3.3 V rail load at 2 mA is 3.3 * 2 * 1000 = 6600 uW. If regulator path efficiency is 85%, battery-side power is 6600 / 0.85 = 7765 uW.

5. Time weighting & life

Weighting ModeAveragePower_uW = ModePower_uW * DutyFraction; total TotalAveragePower_uW = sum(ModeAveragePower_uW). Life Life_h = UsablePackEnergy_mWh * 1000 / TotalAveragePower_uW; UI also shows days/years.

Example If sleep is 100 uW at 99% duty and active is 50,000 uW at 1% duty, then TotalAveragePower_uW = (100 * 0.99) + (50000 * 0.01) = 599 uW. With 6000 mWh usable energy, Life_h = 6000 * 1000 / 599 = 10017 h (about 417 days).

Battery chemistry & capacity

What it is The chemistry (alkaline, Li-ion, coin cell, etc.) sets the usable voltage range and how the cell behaves as it discharges. Capacity (mAh) tells you how much charge the battery can deliver at a gentle load.

Why it matters The same device can run for weeks on a tiny coin cell or years on a larger primary lithium pack. Chemistry also affects selfโ€‘discharge, lowโ€‘temperature behavior, and how much of the cellโ€™s capacity is usable at higher currents.

How to use it here Pick a chemistry that roughly matches your cell type. Use datasheet or applicationโ€‘note values for capacity and voltage. Remember this tool assumes โ€œaverageโ€ voltage; it does not simulate detailed discharge curves.

What to optimize For long life, bigger is not always better. A slightly larger cell that lets your converter operate in a sweet spot (good efficiency, enough headroom) often buys more life than just stacking cells at random.

Pack voltage & rails

What it is Pack voltage is the battery side. Rails are the local supply voltages your circuits actually use (3.3 V digital, 5 V sensor bias, 1.8 V core, and so on). Regulators connect the pack to each rail.

Why it matters Every time you convert from the pack to a rail you lose some power in the regulator. Cascaded rails multiply those losses. A โ€œsimpleโ€ rail with 90% efficiency wastes 10% of its input power as heat.

How to use it here Define one row per regulated rail. Use Switching (fixed eff.) when you only know one converter efficiency, Switching (2-point eff.) when data sheets give light-load and heavy-load points, and Linear (LDO) when you know VIN, VOUT, and quiescent current (Iq).

What to optimize Avoid unnecessary rails and unnecessary cascades. For example, powering a lowโ€‘current MCU from a linear regulator off a switching preโ€‘regulator can be fine, but putting a linear on top of another linear wastes a lot of energy.

2-point efficiency model

What it is Real DCโ€‘DC converters are not flat. They are usually less efficient at very light load, peak somewhere in the middle, and droop again near the current limit. Measuring or estimating the full curve is hard.

Why it matters Many IoT devices spend most of their life sipping microamps, then wake up to tens of milliamps briefly. A single โ€œtypicalโ€ efficiency value hides how different those regimes are.

How to use it here Enter a โ€œLowโ€ point (efficiency and current) and a โ€œHighโ€ point. The calculator interpolates between them on a log current axis so you get a reasonable effective efficiency for each modeโ€™s load current without a full curve.

What to optimize When choosing converters, pay attention to efficiency near your dominant operating currents, not just the headline peak. A part that is fantastic at 500 mA but poor at 10 ยตA may be the wrong choice for a sleepy sensor node.

Modes & duty cycle

What it is A mode is a named behavior: โ€œIdle,โ€ โ€œSense,โ€ โ€œTransmit,โ€ โ€œOTA update,โ€ and so on. Each mode has a period (how often it happens) and an active time (how long it lasts when it happens).

Why it matters Average power is dominated by the product of power and duty cycle. A very expensiveโ€‘looking transmit burst that happens for 2 ms once per minute can cost less energy than a โ€œtinyโ€ background current that flows all the time.

How to use it here Enter realistic periods and active times for each behavior. You can select timing units per row (ms, s, m, h, d), and the duty column is computed for you from the effective values. OTAโ€‘style events can be modeled with long periods (hours, days, months) and finite active times.

What to optimize Design your firmware so that the system spends most of its life in the lowestโ€‘power mode possible. Shorten active time, reduce how often expensive modes run, and move work into batch operations instead of frequent small bursts.

Idle mode & background current

What it is โ€œIdleโ€ is the mode where nothing interesting happens: MCU in sleep, radios off, only keepโ€‘alive circuits running. The calculator treats idle specially and fills any time that is not used by other modes.

Why it matters In many IoT designs, idle dominates energy use. Shaving microamps off idle current can extend life more than tweaking a highโ€‘power burst that only happens occasionally.

How to use it here The first mode row is fixed as Idle and cannot be removed. Put your sleep/background currents in that row; its timing is auto-computed as whatever time remains after non-idle modes.

What to optimize Turn off unneeded clocks and peripherals, use deepโ€‘sleep states where possible, and make sure regulators are still efficient at your idle currents. Datasheet โ€œoff currentsโ€ for sensors and radios are often surprisingly high.

Loads & current estimates

What it is Loads are the things that draw current on each rail: MCU, radio, sensor frontโ€‘end, LEDs, USB, buzzers, and so on. Each load can be active or mostly off depending on the mode.

Why it matters Mode current is rarely just โ€œone number.โ€ Splitting by load lets you see which pieces dominate energy use, and how moving a load to a different rail or changing hardware affects the whole system.

How to use it here Create a load per major block and assign it to a rail. For each mode, enter the current that block draws while the mode is active. Use data sheets, evaluation boards, or quick bench measurements as a starting point.

What to optimize Look for loads that are on in many modes but do not always need to be. Can a sensor be dutyโ€‘cycled? Can LEDs flash more briefly? Can a radio use a lower TX power in some modes?

Estimator vs. real hardware

What it is A structured way to do the backโ€‘ofโ€‘theโ€‘envelope math you would otherwise keep in a spreadsheet or notebook. It does not know about temperature, aging, or detailed battery curves.

Why it matters The goal is to be โ€œright enoughโ€ to compare designs and guide experiments: choose between chemistries, rail topologies, firmware strategies, and component options before you build hardware.

How to use it here Explore โ€œwhat if?โ€ questions: What if the radio wakes up twice as often? What if I change the sensor regulator from an LDO to a buck? How much life do I lose if my idle current doubles?

What to verify Once you have a prototype, measure currents for each mode and update the model. If estimates and measurements disagree by a lot, that is a great learning opportunityโ€”look for missing loads, sleep bugs, and efficiency assumptions.

Learn more about DMCโ€™s Embedded Development and Programming services and contact us for your next project!