Tertiarm - low cost, 3d printed robot arm based on Ikea lamp

This is first version of my low cost 3d printed robot arm. It is based on Ikea Tertial lamp. I choose it because it has very good kinematic with using springs to unload servos. So you can use different number of springs to achive diffrent lifting power.

Techinacal specification:

  • 5 DOF.
  • Full lenght: 690mm
  • Lifting power with 4 standart spring: 0.5kg (distance between base and attaching point: 500mm)

You can find some information and download STL files for free at:



I recommend your to use VarSpeedServo library by NETLab Toolkit Group. It allows your to change speed of your servo. Your can read more and download it at GitHub.


Thank you for viewing!


Move things, push buttons, etc.

  • Actuators / output devices: Servos, magnet
  • CPU: arduino uno
  • Programming language: C++
  • Target environment: indoor

This is a companion discussion topic for the original entry at https://community.robotshop.com/robots/show/tertiarm-low-cost-3d-printed-robot-arm-based-on-ikea-lamp

Very Nice

Which servos are you using?

mg-958 1 pcs.mg-945 2

  • mg-958 1 pcs.
  • mg-945 2 pcs.
  • sg-5010 2 pcs.

Interesting servo

Interesting servo combination you have going there. I have never used any of those I mostly use the MG-996R servos.

I did a comparison between the 996R and the 958 and was surprised at the difference in torque.

The 958 might be a new one to try in bipeds.


MG-958 is perfect for

MG-958 is perfect for heavy-duty joint. I use it in shoulder, since MG-945 haven’t got enough torque.

Nice Idea!

Nice Idea!

**Thank you! **

Thank you!


Nice project!


I like the idea of re-using something around home to create a new robot with some servos and a micro. Great project! The VarSpeedServo is a great adition and I didn’t know about it. I’ll have a look :wink: Thanks for sharing and keep going!

Thank you! With standart

Thank you! With standart servo library all motions were too fast and rude. So I decided to use VarSpeedServo library to make it nice and smooth. Also it allows to automatically wait until one move complet, before begining next.