I'm new to robotics and I'm looking to make a 5-6 axis robotic arm out of stepper motors but I honestly don't know how much torque I should have for each part. Below I have described in more detail what my current plan is but I'm really not sure as to how much I really should be spending on each of these joints.

My general plan for this project was to make a arm that when fully extended would only be around 40-50(max) cm long. It would be consisted of light weight aluminum and I am hoping for it to weigh only a couple of pounds when done.

Here is my current list of actuators for each of the joints:
(Bottom = 1, Top = 6)

My real questions is, is this overkill or is it not enough for what I'm really trying to make. I really don't need it to be able to pick up a lot of weight, at most 1 to 2 kilos but I highly doubt I will ever be picking up anything more than that. Anyway I just wanted to see if this was sufficient enough for my project.

  • $\begingroup$ To help, we would need more information, specifically about the mechanics, like the different arm lengths. Do you intend to put a motor on each joint and try to drive the joint directly? I don't think your lower motors will handle the weight of the upper motors. Do you intend to use some gearing? I suspect that will be necessary, but more expensive. Are you intending to put the motors all in the base, and move the joints with tendons? That is likely your best approach if you can design it with enough precision. $\endgroup$
    – Mark
    Commented Jun 18, 2016 at 6:03
  • $\begingroup$ @Mark I was hoping that I would be able to make a arm that would have the motors at least near the joints (of course with some gears to help drive it all). At least this is how I was designing it. I guess my real question is not as much "is this good" but rather what would be sufficient to do what I was asking to do. My parts list is more of a general sense of what I honestly thought I would need but I'm really not sure. Thanks though for the feedback. $\endgroup$
    – Henry Jeff
    Commented Jun 18, 2016 at 6:12
  • $\begingroup$ @HenryJeff how has this project gone for you? I'm doing something very similar, and also using aluminum. I've decided to use geared stepper motors when possible (it's easiest to buy them with the gearbox already attached), and geared DC motors when I need a lightweight part. I may use belts in some parts so I can mount a motor farther back and use the belt for a gear reduction; I believe many industrial robots do this - particularly for the 2nd and 3rd joints, which need very strong motors. $\endgroup$ Commented Oct 24, 2017 at 14:40

2 Answers 2


Well, Henry, at this point I would resort to a spreadsheet. Since lower motors need to hold higher motors, you would need the weight of each motor, as well as all of the other arm weights. Then, with the length of each arm, you can calculate the torque needed for each motor to just hold the rest of the arm, on down the chain to the gripper. It's a long string of calculations just to know how much torque you need to hold your load still in any position (most difficult is typically fully extended). Balancing each arm segment with counterweights would drastically reduce the needed torque, but the added mass will decrease acceleration.

To that number, you now need to add the torque required for moving. This will be based in your desired acceleration (velocity typically doesn't matter). The torque required to accelerate any given section is equal to the desired angular acceleration times the rotational-inertia of that arm segment and the segments that follow. Knowing the rotational-inertia of your arm segments is often difficult, and I often just over-estimate. Keep in mind that rotational-inertia increases as the arm extends to a longer radius, so you need to calculate worst-case.

So now you see why I use a spreadsheet. Your question is not an easy one to answer, and it requires a lot of data.

For a small robot arm, the motors become intrusive. They can be larger and heavier than the arm itself, and need to be large, just to carry their own weight. For small arms, I would recommend using tendons, and leave all motors on the base, where their weight is not an issue. It also means that you can tailor the size of the pulleys at each end to adjust the torque. That gives you an easy remedy if you find you need more torque or more speed.


Likely you will need to use some kind of gear reduction to multiply the torque and reduce the speed.

But to answer your question the way you work this out is one link at a time. The fact that your arm is 5 DOF does not matter. The link and joint farthest from the base is a 1 DOF robot. Find the worst case which is likely with the link horizontal and holding the maximum weight in the gripper. To find the static torque find the "lever arm" which is the distance from the center of mass to the joint. Multiply this distance times the weight.

Then do the above again you next link and joint is another 1 DOF robot that is holding the fist robot at the end of the link

When yu finish you will know the torque required for a non-moving or very slowly moving 5 DOF robot arm. Next you compute the torque required to accelerate each 1DOF robot and ad this to the above

After you are done you need to multiply buy a safety factor. Just double all the torques to account for friction and other losses and because you can not drive the motors at full rated power for long

You will find that you can't do this without some kind of gear reduction. likely quite a high reduction. Gearing can help in two ways (1) the torque is multiplied by the reduction ratio. so you can get LOTS more torque from a smaller motor and (2) the motor can be located closer to the base by use of belt drives or gears reducing the torque requirement of the next motor. In other words: Every link has a motor mounted to it. the motor can be mounted any place in the link but you prefer to mount it nearest the "base"


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.