MG996R servo buzzes, gets hot or jitters: current and stall limits

Large servos can draw an ampere or more when they stall, so power them from a separate supply and never push them past their end stops.

What the message means

A servo that is asked to go beyond its mechanical range keeps pushing, draws high current and heats up. A weak supply also makes it buzz and reset the controller.

Fix it in this order

  1. Power the servo from a supply rated for its stall current, check the datasheet of your model, and join the grounds with the controller.
  2. Limit the pulse range in code to the real travel of the arm.
  3. Add a capacitor of several hundred microfarads across the servo supply.
  4. Do not hold a heavy load against a stop for a long time.
  5. Check the gears are not damaged. A worn servo buzzes even with good power.

Why it happens

A servo that is commanded past its mechanical end stop keeps its motor pushing against the stop. The control circuit holds a steady position error, so the motor draws high current, and the drive stage heats up. The same stall current can be many times the normal running current. A supply that cannot deliver that peak will sag, which makes the servo buzz and can reset the controller.

The MG996R is a metal-gear hobby servo with a fairly high stall torque, and its stall current depends on load and supply voltage. Check the figures in its datasheet rather than relying on memory, because values vary between sellers. Gear wear also adds friction that increases current. Good power, a realistic angle range, and a bypass capacitor across the supply together reduce these problems.

If you see this, do this

You seeDo this
Buzzes at one endPast the end stop. Limit the range.
Controller resets when it movesSeparate the servo supply.

Confirm the fix

  1. Measure the servo supply voltage with a multimeter while the arm is driven against its stop; it should stay close to its rated value.
  2. Limit the sketch’s pulse range to the arm’s real travel, then confirm the buzzing stops at both ends of the movement.
  3. After two minutes under load, feel the servo case; warm is normal, but too hot to touch means the load or supply needs changing.

Common mistake: Many readers assume the servo is faulty whenever it buzzes, when the usual cause is an end stop being commanded past its travel or a supply that cannot deliver stall current.

servo jitter, servo torque calculator, PCA9685 not moving.

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.