My Projects

Cone icon by Fornax, CC-BY-SA 3.0, wikimedia commons 1)

Published 13 Jan 2020

Robotic Arm


To build a computer controller robotic arm capable of moving with at least three degrees of freedom. It would seem attractive to re-use a mechanical assembly, like an extendable desk lamp arm, as the basis for this:

Lamp arm extended upLamp arm extended outLamp arm extended downLamp arm not extended
A spring ballast, extension arm, desk lamp

This example, Superlux Model C has quite short arms.

Hardware description

The arms are about 23cm long, the lower one constructed from three beams, the upper, 'fore', arm of only two beams. The lower beams forming each arm are on about 22.5cm centres, the upper beams seem slightly shorter, about 22.2cm between centres. The original payload of light fitting and bulb is about 256 grams (including bulb), this is partially counter-balanced by springs, so the arm will tend to maintain whatever position it is moved to. The springs would be unnecessary if using servos to drive the joints, as the servos would maintain position, in fact the springs would just add extra resistance to movement.

There are 5 joints that you would motorise - swivel at the base, up-down of lower arm, up-down of second arm, up-down of hand, swivel of wrist. The base can swivel 360º (no stops), the lower arm can turn through about 150º, the upper arm can turn about 135º. The wrist can go up and down almost 180º and rotate about 285º.

On this particular arm design the 'hand' end of the arm can only reach the ground from a radius of about 33cm from the base out to 50cm with the arms fully extended horizontally. The under beam of the fore-arm prevents it from bending enough to reach the ground at closer distances. Other lamps that have a square or pentagonal plate at the elbow, can bend without obstruction. Removing the under-beam of the forearm allows the 'hand' to reach the ground from the base out to 50cm, unobstructed.

References and Additional Resources

If any referenced page no longer exists, try looking for its URL on