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

Battery Runtime Under Motor Load: Practical Guide

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

Here's something every robotics engineer learns the hard way: your robot will die at the worst possible moment if you don't do the math first. I've seen competition robots grind to a halt mid-match, and I've watched drones fall out of the sky because someone trusted a battery label without actually calculating runtime. The instinct is to grab the simplest formula:

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

This will lie to you. It'll tell you that you have twice as much runtime as you actually do, and you'll find out during a demo or in the field when it's too late to fix. Real systems aren't that simple. Your motor driver wastes power as heat. Your battery shouldn't be run down to zero if you want it to survive more than a dozen cycles. And your motor doesn't pull constant current — it varies with mechanical load, acceleration, and a dozen other factors.

The Battery Runtime (Motor Load) calculator fixes this. It accounts for driver efficiency, safe depth of discharge limits, and gives you a runtime number you can actually plan around. Use it before you spec a battery, not after your prototype dies during the investor pitch.

The Inputs You Need to Know

Let's break down what the calculator needs and why each parameter actually matters in the real world.

Battery Capacity (CC) — This is the number printed on your battery in milliamp-hours (mAh) or amp-hours (Ah). Seems straightforward, right? Except that number comes with fine print. For lead-acid batteries, it's typically measured at the C/20 discharge rate — meaning they discharge the battery over 20 hours. For LiPo packs, it's usually at 1C. Pull more current than the test conditions, and your effective capacity drops. Temperature matters too: a LiPo at 0 °C might only give you 85% of its rated capacity. Keep this in mind if you're doing anything outdoors in winter. Battery Voltage (VbatV_{\text{bat}}) — The nominal voltage of your pack. The calculator has presets for the usual suspects: 3.7 V for a single-cell LiPo (1S), 7.4 V for 2S, 1.2 V for NiMH AA cells, and 12 V for sealed lead-acid. You can also punch in a custom voltage if you're running something weird like a 6S pack or a 24 V system. Remember this is nominal voltage — your pack voltage will sag under load and rise when you remove the load, but nominal is what we use for energy calculations. Motor Current, Average (IavgI_{\text{avg}}) — Here's where most people mess up. You need the average current during your typical operating cycle, not the stall current from the datasheet (which is way higher) and not the no-load current (which is way lower). If you're spinning wheels on flat ground with moderate load, you might be pulling 25–40% of stall current. Climbing a ramp? Maybe 60%. The only way to know for sure is to measure it, but even a rough estimate is better than using stall current and wondering why your battery died in ten minutes. Drive Efficiency (η\eta) — Your motor driver is not a perfect pass-through. An H-bridge using modern MOSFETs in PWM mode might hit 85–95% efficiency if it's well-designed, switching at a reasonable frequency, and using low RDS(on)R_{DS(on)} FETs. A cheap brushed DC driver board you got for $3 on eBay? Maybe 80% on a good day. That missing efficiency turns into heat in the driver, and more importantly, it means the battery has to supply more current than what actually reaches the motor. This is not a small effect — at 85% efficiency, your battery current is about 18% higher than motor current. Depth of Discharge (DoD) — How much of the battery you're willing to actually use. This is where battery chemistry really matters. LiPo packs start degrading fast if you regularly drain them below 20% state of charge, so 80% DoD is standard practice. Go deeper and you might get a few more minutes of runtime today, but you'll be buying new batteries in a month. Lead-acid is even more sensitive — most designs use 50% DoD to get reasonable cycle life. NiMH is more forgiving, and you can safely use 90% DoD without killing the pack. The calculator lets you adjust this so you can trade runtime against battery longevity depending on your application.

The Math Behind the Calculator

The calculator spits out four numbers. Here's what it's actually computing and why.

Usable Capacity:
Cusable=C×DoDC_{\text{usable}} = C \times \text{DoD}

Straightforward: you take the rated capacity and multiply by the fraction you're willing to use. If you have a 2200 mAh pack and you're limiting yourself to 80% DoD, you've got 1760 mAh to work with.

Effective Current from Battery:

This is where driver efficiency comes in. The battery doesn't just supply the motor current — it has to supply enough current to cover the losses in the driver:

Ibat=IavgηI_{\text{bat}} = \frac{I_{\text{avg}}}{\eta}

If your motor pulls 1.5 A and your driver is 90% efficient, the battery is actually supplying 1.67 A. That extra 0.17 A is turning into heat in your MOSFETs.

Runtime:

Now we can calculate how long the battery lasts:

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 shows this in both hours and minutes because nobody thinks in decimal hours. This is the number you actually care about — how long until your system shuts down.

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

This gives you watt-hours, which is useful when you're comparing batteries at different voltages. A 2200 mAh 2S LiPo (7.4 V) and a 4400 mAh 1S LiPo (3.7 V) have the same rated capacity in mAh, but the 2S pack has twice the energy. Watt-hours cuts through the confusion.

Worked Example: 2S LiPo Powering a Small DC Gearmotor

Let's run through a real scenario. You're building a small wheeled robot — maybe for a university competition or just messing around in your garage. You've got a 2S LiPo pack and two brushed DC gearmotors driving the wheels.

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:

You're not going to drain the LiPo all the way down, so:

Cusable=2200×0.80=1760 mAhC_{\text{usable}} = 2200 \times 0.80 = 1760 \text{ mAh}
Step 2 — Effective battery current:

Your driver is 90% efficient, so the battery supplies more than the motors consume:

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}

About an hour of runtime. That's assuming continuous moderate driving — flat ground, steady speed, no aggressive acceleration.

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 you've got 13 watt-hours of usable energy in this pack. If you were comparing this to a different voltage pack, this is the number you'd use.

Now here's the reality check: if your robot spends half its time sitting still waiting for sensor input or moving slowly, your actual runtime will be longer than 63 minutes. If it's climbing ramps, pushing objects, or doing rapid direction changes, the average current goes up and you'll get less. This is exactly why the calculator is useful — you can plug in different values for IavgI_{\text{avg}} based on what you expect the robot to do and see how sensitive your runtime is to operating conditions. That 1.5 A average might be 0.8 A for light duty or 2.5 A for heavy work, and the runtime swings from 110 minutes down to 42 minutes accordingly.

Tips for More Accurate Estimates

Measure your average current in the real world. Datasheets are a starting point, but they're not gospel. Get a current-sense resistor or a USB power meter (the kind with a display and logging) and actually measure what your system pulls during a typical operating cycle. Run it for five minutes doing representative tasks and look at the average. That number is worth ten times more than any guess based on stall current and hand-waving. Don't forget the rest of your circuit. Motors are usually the biggest power hog, but they're not the only thing drawing current. Your microcontroller might pull 50 mA. Your sensor suite might add another 100 mA. That WiFi module you added at the last minute? Could be 200 mA when transmitting. Add it all up and include it in IavgI_{\text{avg}}, or you'll be mysteriously short on runtime. Temperature is not optional. LiPo capacity drops by 10–15% at 0 °C compared to room temperature. If you're flying a drone in winter or running an outdoor robot in cold weather, you need to derate your capacity before you plug it into the calculator. Otherwise you'll be surprised when your battery dies early. Some people just multiply CC by 0.85 for cold-weather operation and call it a day. Watch your C-rate. In this example, we're pulling 1.67 A from a 2200 mAh pack, which is about 0.76C. Most LiPo packs are happy at 1C continuous and can handle burst currents much higher. But if you're pulling high pulse currents — say your motor stalls briefly during startup or hits an obstacle — and you're exceeding the pack's rated C-rate, you'll see voltage sag that reduces effective capacity beyond what the DoD setting accounts for. A pack rated for 20C burst will handle this fine. A cheap pack with no C-rating? You're gambling. Consider voltage sag under load. As the battery discharges and as you pull more current, the terminal voltage drops. For most DC motor applications this just means the motor runs a bit slower toward the end of the discharge cycle, which is fine. But if you've got voltage-sensitive electronics (like a 5 V regulator that needs at least 6.5 V input), your system might brown out before you hit your DoD limit. The calculator gives you average-case runtime, but real systems have voltage floors you need to respect.

Try It Yourself

This isn't one of those things you do once and forget. Every time you change motors, swap battery packs, or adjust your drive profile, your runtime changes. Plug your actual numbers into the Battery Runtime (Motor Load) calculator and see what you get. It takes 30 seconds and it'll tell you whether your power budget is realistic or whether you need a bigger battery, a more efficient driver, or a lighter mechanical load.

I've seen too many projects fail because someone assumed the battery would last "long enough" without checking. Don't be that person. Do the math, measure your current, and design with margin. Your future self — and your competition performance — will thank you.

Related Articles