Robotic Arm Servos Overheating

Hi, i hope that i posted in the right section :smiley: , im having troubles with my project, a tank chassis with a robotic arm mounted on it. The problem is the robotic arm. It's a 7 dof arm and there are 3 critical points for the servos that overheats because of the load i think but i dont understand why they cant handle the arm weight itself ::slight_smile: , it's not a problem with the object that im going to take with the arm that is too heavy, im talking about the arm without any object. The servo that im using are the mg996r, i don't know how to solve this problem. I already broke 2 servos :cry: , opened them and discovered that they had a blown mosfet because of the heat. Here is the link of the robotic arm wit the chassis and the mg996r specs:

The critical points are the two servos on the base that raise the full arm and the servo that raise the half arm.

Thank you for the help :slight_smile:

What voltage are you running it off? If this is too low it could cause strain on the motor leading to the overheating. The link says from 4.8 to 7.2V. Are you sure your power supply can provide enough current?
Measure the voltage into the motors when it is under strain, does it drop.

Also that supplier is not the most reputable of sources. It seems they have little in the way of quality control in what they sell.

Welcome to the forum.

Please read the first post in any forum entitled how to use this forum.,148850.0.html

Can you please post a picture of your project so we can better understand your configuration.

Are the servos that are having a problem under continuous load?
Even when a servo is stationary, if there is a torque/load on the output shaft the servo circuitry will apply current to the motor to keep that position.
So if you have a stalled motor consuming current, then it will get hot, possibly overload if the mechanical load is to high.

Tom.... :slight_smile:

If you use the servos to move the arm up and extended (I'm guessing because you have not posted a diagram) and then disconnect all the power will the arm fall under its own weight?

If not it suggests that the friction due to the gearing in the servos is sufficient to hold the load and, consequently, there would be very little load on the motor when the arm is not moving.

On the other hand, if the arm does fall it would imply that the motor must continually draw power to hold the weight and that may be why it is overheating. Possible solutions would be a counterbalance to take some of the load, a bigger servo, a better quality servo that is able to take a continuous load.

Also make sure that the servos don't run against their physical end-stops as that can put a huge load on the motor.


How heavy is the complete arm?
I assume that there are several 55g/60g servos built into the arm.

Have you calculated the torgue needed to lift the arm, at full extension?

Photo from the seller’s website:

Have a look at another picture from the seller's site

It looks as though the arm is being suspended by the cable from a point out of view of the camera.

In the first picture the claw was shown resting on the ground.

I think that there is a problem known by the sellers.

In the six photos they show on their website, only one shows the arm as being fully self supporting and correctly wired (but it's in a low torque - 'home' position).

In all the other photos, the claw is on the ground, showing a mysteriously cut cable, or being held up by the same mysteriously cut cable.

That looks to me like a poor design with far too much weight at the end of the arm. I reckon a much bigger servo is needed at the base.

But putting a bigger servo for lifting the outer half of the arm will just put more load on the base servo so I reckon a spring would be a good idea to take some of the weight of the outer half. A rubber-band might do the job.


From the site;

Product Description:

  • Name:TR001 Vehicle-Mounted Robot
  • The Motor For Tank : 12V 37GB520 Motor
  • The Wheel :Aluminum Alloy
  • The Track:Plastic
  • Tank Body:Aluminum Alloy
  • Robot Arm:Aluminum Alloy
  • Servo for Arm: MG996R or DS3218


Weight: 55g
Voltage: 4.8v / 6v
Speed: 0.20sec/60deg (4.8v) - 0.16sec/60deg (6v)
Torque: (4.8v) - (6v)
Gear Material: Metal
Gear Type: Digital
Motor: Brushless
Dimension: 40.719.742.9mm
Temperature range: 0_ 55
Servo Plug: JR (Fits JR and Futaba)
Spline Count: 25


Item No. : DS3218
Operating voltage:5-7.4V
Operating Speed: 0.16sec/60°(6V),0.14sec/60°(7.2V)
Running Current(at no load): 80MA(6V),100MA(7.2V)
Stall Torque(at locked): 15kgcm(6V),20kgcm(7.2V
Stall Torque(at locked: 4MA(6V), 5MA(7.2V)
Control Angel:180°, 270°(optional)
Working frequence: 50-330HZ
Cable: 320 mm
Weight: 60g

DS3218 would probably be better.
What have you got as a power supply?

Tom.. :slight_smile:

Hi guys, thank you for the replies, first of all as power source im using a desktop power supply that provides 5v and 14A, im not powering all the servos with the power supply because is not enough, i should provide ~16A if im not wrong. Anyway, when the arm is fully extended the servos are trying to hold the position and gets hot, if i power off the power supply the arm drops because of it's weight. Like some of you said, i should add a rubber band, or a counterbalance.

i should provide ~16A if im not wrong.

Can you show your working in that?

What are you powering it with?

I would be amazed if 14 amps is insufficient.


This is the diagram made with Fritzing:


I read somewhere that 8 servos requires 16A, im providing 14A 5V with a desktop power supply, i have not connected all of them, i'm only using 4 of them just for testing the critical points.

OP's image. See this Simple Image Guide

FRITZING diagrams are pretty but useless. It is too easy to misunderstand them. Please make a simple pencil drawing with all the connections clearly labelled and post a photo of the drawing.


It's pretty simple, every servo has a control cable that goes to a digital pin of arduino, they uses pin 2,3,5,6,7,8,9 and A0, all the vcc cables of the servos are connected togheter, same for the gnd cables. A motor shield is mounted on arduino that uses pin 13,12,11,10 and a buzzer is soldered on the motor shield and use pin 4. There is also a bluetooth module connected to RX and TX. The two DC motors are connected to the motor shield, here are the specs:

-Model: XD-37GB520
-Rotation: 5-800rpm
-Voltage: DC 12V/24V
-Current: 0.5A
-Power: 10W
-Weight: 280g
-Speed Adjust: Yes
-Diplopore chassis

I'm using only 4 of the servos, the base rotation servo, the two base servo that raise the full arm and the servo that raise half arm.

It's pretty simple, every servo has a control cable that goes ...

A verbal description of wiring connections is even easier to misunderstand than a Fritzing diagram.


Ahahah nice :smiley:

I noticed that getting the central screws of the servos tighter, the arm doesn't fall anymore but i'm not sure if it can damage the servo. How much strong i have to hold the screws?

Thank You.

I noticed that getting the central screws of the servos tighter, the arm doesn't fall anymore

That will only make a difference if the arm is not a firm fit on the servo spindle. If your problem has been a loose arm then all the advice so far has been irrelevant.

Usually the servo arm is a firm fit on the splined servo spindle and the screw is only there to stop the arm falling off.