A 9 V block battery has small capacity and high internal resistance. It suits tiny low-power projects, not motors or servos.
What the message means
The Arduino regulator turns the extra voltage into heat, and every milliampere you draw comes straight from a small cell. Motors make the voltage sag.
Fix it in this order
- Estimate the current of your robot and divide the battery capacity by it. Use the battery runtime calculator.
- Use a pack of lithium or NiMH cells with a regulator for larger loads.
- Run motors and servos from their own pack, and the controller from a regulator.
- Use a buck converter instead of a linear regulator when the supply voltage is much higher than needed.
- Turn off unused parts and use sleep modes when idle.
If you see this, do this
| You see | Do this |
|---|---|
| Battery hot or voltage collapses | Load too large for the cell. |
| Works for minutes only | Capacity too small. |
Related
battery runtime calculator, robot battery guide, LM2596 setup.
Last reviewed: November 2026. These are the usual causes and the order that finds them fastest. Test on your own board; clones and cables differ.