Pololu Robotics & Electronics
My account Comments or questions? About Pololu Contact Ordering information Distributors

Pololu Forum

Powering 16 servos and a Raspberry Pi 3A+ (or Arduino Nano v3?) from a single power source (battery)


I am using the Mini Maestro 18-Channel USB Servo Controller to build a small humanoid robot.

The space to include batteries and boards is VERY limited, so I would like use a Raspberry Pi Model 3A+ but may need to use an Arduino Nano since the Raspberry Pi will not fit without modifications to the plastic body. I’d rather use the Raspberry Pi so I can code directly in Python without additional effort, but either way, if I can power with one power source (battery) that would be ideal.

So the question is, how do you split the power and control both the Pololu Maestro 18 Servo Controller board AND the Raspberry Pi (or Arduino) from the same battery?

I am using 16 servos as below:

  • EMAX Original 12g Mini Metal Gear Analog Servo
  • Operating voltage: 4.8V~6.0V
  • Connector type: Futaba/JR compatible
  • Operating speed: 0.12sec/60º at 4.8V; 0.10sec/60º at 6V
  • Operating current: 200mA/60º

Is it as simple as having a single battery and splicing wires? (which is not simple for me since I have no idea yet how to do that…and links or instructions will be welcomed!)

Any recommendations on battery specs? Is 6 Volts too much? I think the Pi runs off of USB and is 5v, but perhaps you can power it from the GPIO pins? (which have a 3.3v or 5v pin) The servos are 4.8 - 6v.

For amps, how many will be needed? I believe the Raspberry Pi needs 1 amp and the servos may not all be working simultaneously. I found this on the Raspberry Pi 3A+ - Input power: 5V/2.5A DC via microUSB connector, 5V DC via GPIO header, (but I also read that it is ‘dangerous’ to power it via GPIO)

Will any of this be an issue for the Pololu board? Does the power pass through one device and into the other device, or just “fork” from a split point from the battery?

My battery options / ideas are:

#1. 4 AA rechargeable batteries in a custom case (appox 4.8 volts i would guess since rechargable batteries are 1.2v i believe?)

#2. somehow splice the current from a power bank (5v) power source (like you use for a phone, but not sure if this is enough amps? …this works for just a Raspberry Pi alone)

#3. use a 6v battery with JR (futaba) connectors, and somehow figure out how to add a USB out to the Raspberry Pi from that battery in parallel.

Other (and better) ideas are welcomed.

I apologize if I am not making sense, I do not know a lot about this…and I am sure there is a better way to do this.

If all else fails, I’ll try to use the 2 power sources, but this will be difficult for the robot due to the weight and balance issues.

Your help is appreciated!

In most cases, it is fine to power multiple devices in parallel with the same battery pack, as long as it is in the correct operating voltage range for all of the devices and can source enough current for all of them.

The Raspberry Pi’s recommended input voltage is 5V, so you will likely want to regulate whatever battery pack you use so it does not damage the Raspberry Pi when it is fully charged. It is possible to power the Raspberry Pi through the 5V pin on the GPIO header, which is commonly done through HATs, but you lose some of the protections built-in to the Raspberry Pi. In general, the Raspberry Pi is a little harder to work with in this kind of system because it has a much narrower operating voltage and is much more power hungry than something like an Arduino Nano board.

Powering 16 servos from a single power supply, along with your other devices, might be challenging, depending on how many are moving at once and how much current is being drawn. I recommend adding up the maximum current draw from all of the devices in your system and seeing if you can find a power supply capable of that kind of power. I suspect 4 rechargable NiMH AA batteries will not be enough. Please note that the 200mA current you mentioned for your servos is an operating current; they will likely draw more than this while under load. We typically recommend budgeting 1A per standard size servo.

Additionally, for devices with an operating voltage range like the Maestro (5V to 16V), I would recommend not powering it at the minimum voltage (5V) while you are powering so many other devices, like 16 servos, since when those servos draw power, it could cause your operating voltage to dip low enough to reset the device.

If you are having problems finding a power source that is in the right voltage range for all of your devices, one option to consider would be to use voltage regulators to convert the voltage from your power source into a usable voltage. For example, if you power your servos from a 6V battery (which can be higher than that while fully charged), you might consider using a 5V step-up/step-down regulator to power the Raspberry Pi from that same battery.


Thank you for the thorough reply. I still have much to learn, especially with finding the correct parts, but this response is very helpful!