I am currently working an a personal hexapod robot project. I am building it using 18 MG996R 4.8 to 7.2 V servo motors. I would like to use a Raspberry Pi 3 B+ to control it. I purchased a 7.4 V 8000 mAh Li-Po battery to power the motors. I am currently having trouble finding a servo motor controller that supports more than 16 servo motors that also would support a 7.4 V power supply. I am new to this and find myself with a lot more questions than answers.

Such as:

  • Are there any large servo controllers that can support more than 16 servos that would also work with a Raspberry Pi?
  • Is the battery I bought too big at 7.4 V?
  • Should I be using a voltage regulator to tone it down and how would that effect my current output?
  • Is it possible to stack two 16 channel servo controllers?

1 Answer 1

  1. Yes, there are servo controllers capable of even 24 servos. As example, check out Pololu Mini Maestro board. It communicates with RPi through USB or UART and You can find more information about that in this blog or Pololu Maestro user's guide.

  2. These servos, as you said, are rated for max. 7.2V input voltage. 2S LiPo battery has a nominal voltage of 7.4V and maximum voltage of 8.4V, therefore it may damage your servos. You should rather use servos more capable for 2S LiPo batteries, change Your LiPo to NiMH packet with 6V output voltage, or, in case You bought them already, utilize some powerful voltage regulator.

  3. Once again, Pololu saves the day with its 15A step-down converter. It has input voltage of 7.2-40V and output voltage of 6V, so it suits Your needs.
    Using voltage regulator will limit Your max output current to a maximum of converter's capability. Why I linked 15A one here? Because Your servos can draw 500-900mA @6V each (MG996R documentation). Multiplying those values by 18 servos, all will draw between 9-16A fully loaded. However, in hexapod mobile platform hardly ever Your servos will be at full load all at once. Therefore, 15A converter is more than enough for Your robot.

  4. You can use two separate 8 channel controllers connected to Your Raspberry. Pololu Mini Maestro may transmit data to other one, but that will require programming them in the Maestro Scripting Language.

  • 1
    $\begingroup$ I will quickly note that I have measured a single MG996R (clone from china) pulling peaks of around 2.5 amps when undergoing shock loads. I'd suggest budgeting a bit more than 15 amps or putting some large capacitors on the servo voltage supply. $\endgroup$
    – sdfgeoff
    Oct 5, 2018 at 4:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.