Skip to content
RFrftools.io
Motor ControlMarch 8, 20266 min read

How Long Will Your Battery Last Under Motor Load? A Practical Guide to Runtime Estimation

Estimate battery runtime under motor load. Covers LiPo, NiMH, lead-acid packs with drive efficiency, depth of discharge, and real worked examples.

Contents

Why Runtime Estimation Matters

If you've ever watched a robot die mid-competition or had a drone drop out of the sky earlier than expected, you know that back-of-the-envelope battery runtime calculations are not optional — they're essential. The problem is that the naive formula everyone reaches for first:

t=CbatteryImotort = \frac{C_{\text{battery}}}{I_{\text{motor}}}

almost always overestimates runtime. Real systems have drive-stage losses, batteries you shouldn't fully discharge, and current draws that fluctuate with mechanical load. The open the Battery Runtime (Motor Load) calculator accounts for all of these factors so you get a number you can actually trust in the field.

The Inputs You Need to Know

Let's walk through each parameter the calculator accepts and why it matters.

Battery Capacity (CC) — Rated in milliamp-hours (mAh) or amp-hours (Ah). This is the headline number on the battery label, but remember: it's measured under specific discharge conditions (usually C/20 for lead-acid, 1C for LiPo). Your actual usable capacity depends on discharge rate and temperature. Battery Voltage (VbatV_{\text{bat}}) — Nominal pack voltage. The calculator offers quick presets for common chemistries: LiPo 1S (3.7 V), LiPo 2S (7.4 V), NiMH AA (1.2 V per cell), and 12 V sealed lead-acid. You can also enter a custom voltage for oddball packs. Motor Current, Average (IavgI_{\text{avg}}) — This is the average current the motor draws over your duty cycle, not the stall current and not the no-load current. If your motor datasheet only gives stall and no-load values, a reasonable first estimate for a moderately loaded motor is roughly 25–40% of stall current, but measure it if you can. Drive Efficiency (η\eta) — No motor driver is 100% efficient. An H-bridge running in PWM mode might be 85–95% efficient depending on switching frequency, FET RDS(on)R_{DS(on)}, and duty cycle. A cheap brushed-DC driver board from a hobby supplier might be closer to 80%. This factor inflates the current drawn from the battery relative to the current delivered to the motor. Depth of Discharge (DoD) — How much of the battery's rated capacity you're willing to use. For LiPo packs, going below 20% state of charge accelerates degradation, so a DoD of 80% is standard. Lead-acid batteries are even more sensitive — 50% DoD is a common design rule for cycle life. NiMH cells are more forgiving, and 90% DoD is reasonable.

The Math Behind the Calculator

The calculator computes four outputs. Here's how they relate.

Usable Capacity:
Cusable=C×DoDC_{\text{usable}} = C \times \text{DoD}
Effective Current from Battery:

Because the drive stage is not perfectly efficient, the battery must supply more current than the motor consumes:

Ibat=IavgηI_{\text{bat}} = \frac{I_{\text{avg}}}{\eta}
Runtime:
thours=CusableIbat=C×DoD×ηIavgt_{\text{hours}} = \frac{C_{\text{usable}}}{I_{\text{bat}}} = \frac{C \times \text{DoD} \times \eta}{I_{\text{avg}}}

The calculator reports this in both hours and minutes for convenience.

Battery Energy (estimated):
E=Cusable×VbatE = C_{\text{usable}} \times V_{\text{bat}}

This gives you a quick watt-hour figure for the energy budget, useful when comparing packs of different voltages.

Worked Example: 2S LiPo Powering a Small DC Gearmotor

Let's say you're building a small wheeled robot with a 2S LiPo pack and two brushed DC gearmotors.

ParameterValue
Battery capacity (CC)2200 mAh
Battery voltage (VbatV_{\text{bat}})7.4 V (LiPo 2S)
Average motor current (IavgI_{\text{avg}})1.5 A (both motors combined)
Drive efficiency (η\eta)0.90 (90%)
Depth of discharge (DoD)0.80 (80%)
Step 1 — Usable capacity:
Cusable=2200×0.80=1760 mAhC_{\text{usable}} = 2200 \times 0.80 = 1760 \text{ mAh}
Step 2 — Effective battery current:
Ibat=1.50.90=1.667 AI_{\text{bat}} = \frac{1.5}{0.90} = 1.667 \text{ A}
Step 3 — Runtime:
t=1760 mAh1667 mA=1.056 hours63 minutest = \frac{1760 \text{ mAh}}{1667 \text{ mA}} = 1.056 \text{ hours} \approx 63 \text{ minutes}
Step 4 — Battery energy:
E=1.76 Ah×7.4 V=13.0 WhE = 1.76 \text{ Ah} \times 7.4 \text{ V} = 13.0 \text{ Wh}

So under moderate driving, you'd get roughly an hour of runtime. In practice, if the robot spends time stationary or lightly loaded, you'll get a bit more. If it's climbing ramps or pushing objects, the average current goes up and runtime drops. This is exactly the kind of sensitivity analysis the calculator makes easy — just tweak IavgI_{\text{avg}} and see how the numbers shift.

Tips for More Accurate Estimates

Measure average current empirically. Strap a current-sense resistor or a USB power meter inline and run your system through a representative duty cycle for a few minutes. The average you measure will be far more accurate than any datasheet guess. Account for the rest of the circuit. Motors are usually the dominant load, but don't forget the microcontroller, sensors, LEDs, and radio modules. Add their quiescent currents to IavgI_{\text{avg}}. Derate for temperature. LiPo capacity drops roughly 10–15% at 0 °C compared to 25 °C. If your application operates in cold environments, reduce CC accordingly before plugging it in. Watch the C-rate. A 2200 mAh LiPo discharged at 1.67 A is running at about 0.76C — well within the comfort zone of most packs. If your motor draws high pulse currents that push the pack above its rated C-rate, voltage sag will reduce effective capacity beyond what DoD alone captures.

Try It

Plug your own battery specs and motor current into the open the Battery Runtime (Motor Load) calculator and get an honest runtime estimate in seconds. It's the fastest way to sanity-check your power budget before you commit to a battery pack — or before your robot embarrasses you on the competition floor.

Related Articles