πRobot Battery Guide: 18650 vs LiPo vs AA (Voltage, mAh, C-Rating and Runtime)
How to choose a battery for an Arduino robot: AA alkaline, NiMH, 18650 Li-ion and LiPo compared, 2S and 3S packs, C-rating, BMS protection, safe charging and storage, and how to predict runtime.

In this article (15)
- Volts, mAh, amps and watt-hours
- The four battery types for robots
- Series and parallel: 2S, 3S and 2P packs
- C-rating: can the battery keep up?
- BMS: the protection every lithium pack needs
- Charging: the right charger for each chemistry
- Safety and storage in Indian conditions
- Estimating runtime
- Experiment: measure your robot's real current and test the prediction
- Which battery for which robot?
- Frequently asked questions
- Can I use a 9 V battery for my robot?
- What is the difference between Li-ion and LiPo?
- Why does my robot stop suddenly even though the battery is not empty?
- How long do rechargeable batteries last?
Your code is perfect and the wiring is neat, yet the robot crawls, the Arduino keeps resetting and the sensor readings jump about. Very often the problem is not the code. It is the battery.
This guide compares the four battery types you will meet (AA alkaline, NiMH, 18650 Li-ion and LiPo), explains volts, mAh and "C-rating", shows how to build 2S and 3S packs safely with a BMS, covers charging and storage in Indian heat and monsoon humidity, and shows how to predict your robot's runtime.
Volts, mAh, amps and watt-hours
| Term | Unit | What it means for your robot |
|---|---|---|
| Voltage | V | The "push": motors run faster with more; electronics need the right amount |
| Capacity | mAh | How long it lasts: 2,600 mAh β 260 mA for about 10 hours |
| Current rating | A or "C" | The most current it can deliver safely |
| Energy | Wh | Volts Γ amp-hours: the fair way to compare packs |
The four battery types for robots
Alkaline voltage falls steadily; NiMH and lithium hold a flatter voltage for most of the discharge.
| Alkaline AA | NiMH AA | Li-ion 18650 | LiPo pouch | |
|---|---|---|---|---|
| Nominal voltage per cell | 1.5 V | 1.2 V | 3.6 V β 3.7 V | 3.7 V |
| Full / empty | β 1.6 V / β 0.9 V | β 1.4 V / β 1.0 V | 4.2 V / β 3.0 V | 4.2 V / β 3.0 V β 3.3 V |
| Typical capacity | 2,000 β 3,000 mAh at low current, much less at motor currents | 1,900 β 2,500 mAh | 2,000 β 3,500 mAh | Many sizes, from a few hundred mAh up |
| Current it can supply | Low; voltage sags under load | A few amps | About 5 β 10 A for many cells; 15 β 20 A+ for high-drain cells | Very high (see C-rating) |
| Rechargeable | No | Yes | Yes | Yes |
| Needs protection (BMS) | No | No | Yes | Yes, plus balance charging |
| Best for | Remotes, first tests | Kids' robots, servos | Robot cars, ESP32 projects | Drones, fast or light robots |
In short: alkalines sag under motor loads, NiMH holds a steady 1.2 V (4 Γ NiMH = 4.8 V, ideal for servos), 18650s give robot cars the most energy, and LiPo packs are the lightest and most powerful but the easiest to damage.
Series and parallel: 2S, 3S and 2P packs
Series multiplies the voltage, parallel multiplies the capacity. Energy grows either way.
Connecting cells in series (S) adds their voltages; the capacity stays the same. Connecting them in parallel (P) adds their capacities; the voltage stays the same.
| Pack | Nominal | Full | Empty | Common use |
|---|---|---|---|---|
| 1S Li-ion | 3.7 V | 4.2 V | 3.0 V | ESP32 projects (with a regulator) |
| 2S Li-ion / LiPo | 7.4 V | 8.4 V | 6.0 V | Arduino robot cars with an L298N |
| 3S Li-ion / LiPo | 11.1 V | 12.6 V | 9.0 V | 12 V motors, bigger robots |
| 4 Γ AA NiMH | 4.8 V | β 5.6 V | β 4.0 V | Servos, small robots |
| 4 Γ AA alkaline | 6.0 V | β 6.4 V | β 3.6 V | Quick tests |
Why 2S for an L298N car? The L298N loses about 2 V, so 7.4 V leaves roughly 5 V for common yellow gear motors (see our L298N motor driver guide). A full 3S pack (12.6 V) is above the 12 V many L298N module guides allow when using the on-board 5 V regulator.
C-rating: can the battery keep up?
The C-rating tells you how much current a battery can supply, as a multiple of its capacity:
Charging uses the same idea: "1C" for a 2,000 mAh pack is 2 A. Charge LiPo packs at 1C or less; many 18650 datasheets list about 0.5C as the standard charge.
BMS: the protection every lithium pack needs
The BMS sits between the cells and everything else. The charger connects to P+ and Pβ, never directly to the cells.
A BMS (battery management system), also called a protection board, watches every cell and disconnects the pack if something goes wrong:
| Protection | What it prevents |
|---|---|
| Over-charge (around 4.25 V β 4.3 V per cell) | Overheating and fire during charging |
| Over-discharge (around 2.5 V β 3.0 V per cell) | Permanent damage from running the cells flat |
| Over-current / short circuit | Melted wires, burnt tracks and hot cells |
Single 18650s are also sold as slightly longer "protected" cells with the circuit built in. For a 2S pack, use a 2S BMS rated above your robot's peak current, connect its middle wire (BM) between the two cells, and add a fuse and power switch in the positive wire.
Charging: the right charger for each chemistry
| Battery | Charger | How it charges | Full voltage |
|---|---|---|---|
| Alkaline AA | Never charge | β | β |
| NiMH AA | Smart NiMH charger | Stops automatically when full | β 1.4 V β 1.5 V per cell |
| Single 18650 | 1-cell Li-ion charger or TP4056-type module | Constant current, then constant voltage (CC/CV) | 4.2 V |
| 2S / 3S Li-ion pack with BMS | Pack charger rated 8.4 V (2S) or 12.6 V (3S) | CC/CV | 8.4 V / 12.6 V |
| LiPo pack | Balance charger with the balance lead plugged in | CC/CV plus balancing | 4.2 V per cell |
Safety and storage in Indian conditions
- Heat. Lithium cells age faster when hot. Keep packs out of parked cars, sunny windowsills and kitchens. Most cells should only be charged between about 0 Β°C and 45 Β°C, so let a hot pack cool first.
- Monsoon humidity. Damp air corrodes battery holders and contacts. Store batteries in a closed box with a few silica-gel sachets, keep packs dry, and never charge one that has got wet.
- Long storage. Store Li-ion and LiPo packs part-charged, around 3.7 V β 3.8 V per cell, not full or empty. Remove AA cells from robots and toys before putting them away; old alkalines can leak.
- Damage. Retire any pack that is swollen ("puffy"), dented, punctured or very hot. Do not try to repair it.
- Disposal. Tape the terminals and take old batteries to an e-waste collection point, never household rubbish.
Estimating runtime
Average current is what matters: motors that are only on part of the time count for part of their current.
The 80 % allows for stopping before the cells are empty, ageing, and capacity lost at higher currents. Try your own numbers in our battery life calculator. For an ESP32 sensor that sleeps most of the time, use the IoT deep-sleep battery life estimator instead.
Do not forget the wires. Thin wires waste voltage. With 2 A flowing through 1 m of wire in total (50 cm to the robot and 50 cm back), 26 AWG jumper wire drops about 0.27 V, while 22 AWG drops about 0.11 V. Check your own wiring with the wire gauge and voltage drop calculator.
Experiment: measure your robot's real current and test the prediction
You need: your robot, a charged battery pack, a digital multimeter with a 10 A range, a timer and a notebook. Ask an adult to help with lithium packs.
- Rest voltage. Measure the charged pack's voltage with the robot off. A full 2S pack reads about 8.4 V.
- Set up the meter. Move the red probe to the 10 A socket and select the 10 A (DC) range. Connect the meter in series: battery + to the meter, meter to the robot's power switch.
- Measure. Note the current with the robot on but still, with the wheels lifted and spinning, and while driving. Never hold the wheels still for more than a second.
- Predict. Estimate how much of the time the motors run, work out the average current and predict the runtime.
- Test. Remove the meter, reconnect the battery normally, and run the robot (for example, the obstacle-avoiding robot). Measure the pack voltage every 15 minutes and stop at about 6.6 V (3.3 V per cell). Compare the time with your prediction.
What you learn: current is higher on carpet than on tiles, and the pack voltage dips under load. First predictions are usually a little optimistic, which is why we use the 80 % factor.
Which battery for which robot?
| Project | Suggested battery | Why |
|---|---|---|
| Kids' robot, LED and buzzer projects | 3 β 4 Γ AA NiMH | Safe and simple |
| Arduino robot car with an L298N | 2S 18650 Li-ion with a BMS | Enough voltage, long runtime |
| Servo robot arm or pan-tilt | 4 Γ AA NiMH, or a 2S pack with a 5 V β 6 V regulator | Servos want 4.8 V β 6 V (see our SG90 servo guide) |
| ESP32 IoT sensor | 1S 18650 with a low-dropout 3.3 V regulator | Light; deep sleep stretches runtime |
| Fast racer or drone | LiPo, 2S β 3S, high C-rating | Light, very high current |
Get battery holders, 18650 packs and complete robot builds in our robotics kits, browse parts in our products, and learn battery safety hands-on at our workshops.
Frequently asked questions
Can I use a 9 V battery for my robot?
Not for motors. A 9 V PP3 battery holds only a few hundred mAh and cannot supply motor current for long, so the robot slows and the Arduino may reset. Use AA NiMH cells or a 2S Li-ion pack.
What is the difference between Li-ion and LiPo?
Both are lithium chemistries with 3.7 V nominal cells and 4.2 V full charge. "Li-ion" usually means cylindrical cells such as the 18650 in a hard metal case. "LiPo" means flat pouch cells, which are lighter and can deliver higher currents but are easier to puncture and must be balance-charged.
Why does my robot stop suddenly even though the battery is not empty?
Under load the pack voltage dips. If a cell dips below the BMS cut-off, or the motors pull more than its current limit, the BMS disconnects the pack. A higher-rated BMS, healthier cells or gentler acceleration usually fixes it.
How long do rechargeable batteries last?
Typically several hundred charge cycles for Li-ion and NiMH. Heat, deep discharge and storage at full charge shorten their life; storing them part-charged in a cool, dry place helps.
Try the calculators
ADC Voltage Calculator
Convert ADC readings to volts and back for Arduino, ESP32 and Pico, with LSB size and an optional voltage divider for higher voltages.
Battery Life Calculator
Estimate how long a battery will last from its mAh or Wh, the load current or power, usable capacity and sleep/active duty cycle.
Wire Gauge & Voltage Drop Calculator
Find the voltage drop, power loss and minimum wire size (AWG or mmΒ²) for a copper wire run, with an AWG to mmΒ² resistance table.
LM317 Voltage Regulator Calculator
Find R2 for any LM317 output voltage or Vout from R1 and R2, with nearest standard resistors, dropout check and heat dissipation.
Thinking Robot Team
Thinking Robot is a team of engineers and educators in Pune who design electronics and robotics kits and run hands-on workshops for students and schools. Spotted a mistake or have a question? Get in touch.








