I want to make a humanoid robot with my pi, but am unsure of what servos I would need. I did some research and found out they a rated in kg/cm, so I calculated the weights they would be lifting, assuming a distance of 2 ft(about 61 cm). I used the following equations for upper and lower arm servos-


material in upper arm(cm^2) + material in lower arm(cm^2) * material weight(g) / 60.96cm


material in lower arm(cm^2) *material weight(g) / 30.48cm

Neither of these take into account the weight of servos or any attachments I put on the end.

Can you tell me if I did these calculations right, and if I need to do something different since the upper and lower arms rotate up/down independently, which can change the distance between the shoulder servo and the end of the lower arm? Currently, the equation assumes the longest possible distance from the shoulder servo.

I ran the numbers for the equation shown, and came out with 12.5 kg/cm servo for upper arm, and a 5.5 kg/cm servo for lower arm, but I will probably buy slightly large ones to account for attachments I may add. Is there a website where I can buy servos slightly over these ratings if they are correct, and if they are incorrect, where I could get ones for the calculated weight? Amazon seems to only have 20 and 25 kg/cm servos.

Also- Just an unrelated question, is it okay to use one ground pin for everything I hook up to the pi, or will that hurt it in some way? (I have a pi4) Just checking before I break something.

  • (1) You may like to get two popular hobbyist servos for frying, testing and calibration. Me poor hobbyists recommend TowerPro SG90 and MG995/MG996. (2) The gears get stuck from time to time, so you need to take care for that, say, setting motor current limit circuits. (3) I usually use separate power ground and signal ground wiring. For example if you have two servos, then two separate ground wires, and two separate signal wires. (4) you might like to play with Rpi4B's 4 WPM GPIO pins, later try the 16 channel PCA9685 PWM/servo controller: adafruit.com/product/815. Cheers. – tlfong01 Jul 10 '20 at 1:15
  • 1
    I have never seen a servo rated in kg/cm, and such rating makes no sense to me. kg*cm would make sense though. – Dmitry Grigoryev Jul 10 '20 at 13:08

Servo torque is specified in kg.cm, not kg/cm. To figure out how much torque you need to lift something, multiply the weight of the object by the distance from the pivot to the centre of mass of the object.

For example, if you have an arm that weighs 2kg total, and its centre of mass (where it would balance) is 30cm from where you want to pivot it, you will need a 60kg.cm servo.