Skip to main content
Calcimator

IoT Power Budget Calculator

Battery life from sensor duty cycle and transmission frequency.

About this calculator

Battery life for a duty-cycled IoT device comes down to one number: the time-weighted average current drawn across a full wake/sleep cycle. This calculator builds that average from three phases — active sensing current times wake time, radio transmit current times TX duration, and sleep current (converted from microamps to milliamps) times whatever time is left in the cycle — then divides the sum by the total cycle period. That average current is divided into the battery's usable capacity (its rated mAh capacity reduced by a self-discharge percentage, since a Li primary cell or CR2032 loses charge over the year even doing nothing) to get battery life in hours, which is then converted to days, months, and years.

The duty cycle percentage is simply the fraction of each cycle spent awake or transmitting rather than sleeping, and daily energy in mWh assumes a flat 3.3V nominal supply regardless of what your actual battery chemistry outputs. The model is a straightforward averaging approach — it does not account for the voltage sag or higher effective internal resistance that occurs during brief current spikes (like a LoRa or WiFi transmit burst), which can shorten real-world life on cells with high internal resistance like CR2032s. A common input mixup is confusing sleep current (typically single-digit microamps for a modern MCU) with active current (typically single- or double-digit milliamps) — mixing up the units by a factor of 1000 will wildly distort the result.

Inputs

%

Results

Average current (mA)

0.61

Battery life (days)133.6
Battery life (months)4.4
Battery life (years)0.37
Duty cycle (%)3.42
Daily energy (mWh)47.9
How to Use This Calculator
  1. Enter your battery capacity in mAh (e.g., AA = 2500 mAh, CR2032 = 225 mAh).
  2. Set active current (mA) during sensor reading and sleep current (uA) in deep-sleep mode.
  3. Enter wake time per cycle in seconds and the full cycle period in seconds.
  4. Input TX current (mA) and TX duration (ms) for your radio technology (BLE, LoRa, WiFi).
  5. Review Battery life in days, months, and years alongside the Duty cycle percentage.
  6. Reduce cycle period or TX duration if battery life is too short for your deployment target.

How the result changes with Cycle period (s)

Cycle period (s)Average current (mA)
301.21
450.81
900.41
1500.25

What each input means

Battery capacity (mAh)
Total battery capacity in milliamp-hours. E.g. CR2032 = 225 mAh, AA = 2500 mAh.
Active current (mA)
Current draw during sensor reading / processing in milliamps.
Sleep current (uA)
Deep-sleep current draw in microamps. Modern MCUs: 1-10 uA.
Wake time per cycle (s)
Seconds the device is active (sensing + processing) each cycle.
Cycle period (s)
Total seconds per wake/sleep cycle. 60 = once per minute.
TX current (mA)
Radio transmit current in mA. BLE ~15 mA, LoRa ~120 mA, WiFi ~250 mA.
TX duration (ms)
Duration of each radio transmission in milliseconds.
Self-discharge (%/yr)
Annual battery self-discharge rate. Li primary ~1-3%, alkaline ~5-10%.

What each result means

Average current (mA)
Weighted average current consumption across the full duty cycle.
Battery life (days)
Estimated battery life in days.
Battery life (months)
Estimated battery life in months.
Battery life (years)
Estimated battery life in years.
Duty cycle (%)
Percentage of time the device is active (wake + TX).
Daily energy (mWh)
Daily energy consumption at 3.3V nominal voltage.

How this is calculated

Worked example, using the default values

  1. Identify Input Parameters
    4 parameters
    Battery capacity (mAh) = 2000, Active current (mA) = 15, Sleep current (uA) = 5, Wake time per cycle (s) = 2 = 8 input(s) provided
  2. Calculate Average current
    Average current = (activeEnergy + txEnergy + sleepEnergy) / cyclePeriod
    0.605 = 0.605
  3. Calculate Battery life
    Battery life = batteryLifeHours / 24
    133.6 = 133.6
  4. Calculate Battery life
    Battery life = batteryLifeDays / 30.44
    4.4 = 4.4

Engine last updated . Checked against 2 independently-derived tests — how we verify calculators. Built by Paul Gunder, a software engineer, not a licensed financial, medical, or legal professional.

Frequently Asked Questions

Why does the calculator convert sleep current from microamps but not active current?

Sleep current is entered in microamps because deep-sleep draw on a modern MCU is typically only 1-10 uA, while active and TX current are entered directly in milliamps since sensing and radio draw is usually in the single or double digits of mA. The engine divides sleep current by 1000 internally so all three phases combine in consistent mA units before averaging — entering a value in the wrong unit for either field will throw the average current off by a factor of 1000.

What exactly counts as 'sleep time' in the cycle?

Sleep time is whatever is left in the cycle period after subtracting wake time and TX duration: cyclePeriod minus wakeTime minus (txDuration converted from ms to seconds). If your wake time and TX duration together exceed the cycle period, sleep time is clamped to zero, meaning the device is effectively active for the entire cycle with no rest phase.

Why would my real-world battery life come in shorter than the estimate?

This model averages current draw over the full cycle, but it doesn't account for voltage sag or the higher effective internal resistance a cell exhibits during a brief current spike, like a LoRa or WiFi transmit burst. Coin cells such as a CR2032 are especially prone to this: their internal resistance rises as they age and under high-current pulses, which can shorten real-world life below what a simple time-weighted average predicts.

How does the self-discharge percentage factor into the result?

Self-discharge reduces the battery's usable capacity before the battery-life math runs: usable capacity equals rated capacity times (1 minus self-discharge percent). A lithium primary cell typically self-discharges only 1-3% per year, while alkaline cells can lose 5-10% per year, so choosing the wrong chemistry here will bias every downstream battery-life figure (hours, days, months, years) by roughly that same percentage.

The questions that sit next to this one — chosen by subject, including calculators filed under a different category.

More in Technology & Computing.