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

Pololu Forum

Maestro servo control - different servos

Discovered something strange this morning and not sure if it’s something I’ve caused or a quirk of the hardware…

I’m using a Pololu Maestro to control the utility arms and doors on my R2D2. Servos are MG996R.

I had set up some sequences for arms open, arms closed, etc. They all work fine from the Maestro Control Center app.

I then moved the Maestro to another computer (Maestro settings were loaded) so I could work on the Arduino code to trigger the sequences. The Maestro is externally powered.

I wanted to confirm that the sequences were being triggered and hooked up a SG90 servo to observe the motion when triggered. No movement was seen so I then used the Control Center app to replay the sequence. Once again, no movement though I can see the sliders moving in the app during sequence replay.

If I swap out the SG90 servo and put in a MG996R servo, the servo moves as expected.

I grabbed a brand new SG90 servo and used a servo tester to confirm the servo worked. I then plugged it into the Maestro, heard the servo adjust position. Observed no movement through Control Center and the servo no longer works with the tester.

Thoughts as to what might be wrong??

Follow-up… I took a look at the SG90 servos that worked before hooking up to a Maestro and they all appear to have burned up chips inside. Should note that they worked fine on another Maestro(5vdc) until they were replaced with a MS90S. Also burned up a brand new MS90S as well.

I checked the input voltage which was 12vdc which I believe is acceptable, 5v-16v is the range. I swapped it out with a 5vdc power supply. I tried another SG90 servo and it works as expected.

Is this an input voltage issue???


The Maestro should work fine with servos that accept standard RC hobby pulses. There are a couple of things that might cause damage to a servo that you should double check though.

  1. Make sure you never connect the servo cable backwards. Doing this will connect the power to the servo with reverse polarity and can instantly damage a servo.

  2. Make sure the voltage you are using is appropriate for the servos you are connecting. Most servos are rated for a nominal voltage of 4.8-6V, but some can be higher. Supplying a servo with a higher voltage than it is intended for can also damage the servo. 12V is likely too high for most standard servos.

  3. If you have extended the pulse width range outside of the standard 1-2ms range, you could risk commanding the servo to a position that is beyond its physical end stop, which can cause it to damage itself. The usable range for each servo will vary, so if you are using an extended pulse width range, I recommend using the method described in the FAQs tab of the Maestro product page for safely finding the maximum possible range for your servo.

If you post pictures of your setup that show all of your connections as well as a copy of your Maestro settings file, I would be glad to look them over to see if I notice anything problematic. You can save a copy of your setting file under the “File” drop-down menu of the Maestro Control Center, while the Maestro is connected.


Thanks Brandon, this appears to be my fault. I thought that 5-16v input would step down to 5v to drive the servo. However, after testing 12v & 5v it appears that input voltage is passed straight through to the servo. So I was initially passing in 12v which burned up the servos. Whoops!