Hey! This thing is still a Work in Progress. Files, instructions, and other stuff might change!

Thor - Open Source, 3D printable robotic arm

by AngelLM, published

Thor - Open Source, 3D printable robotic arm by AngelLM Aug 29, 2016
1 Share
Download All Files

Thing Apps Enabled

Order This Printed View All Apps

Design Tools


Use This Project

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag


Thing Statistics

83758Views 10464Downloads Found in Robotics


Important Note: I suggest you to go to Thor GitHub Repository in order to download the latest design!

If you are interested in this project, please consider joining our mail list.

Thor is an Open Source and printable robotic arm with six degrees of freedom, designed using FreeCAD.

Its configuration (yaw­-roll­-roll­-yaw­-roll­-yaw) is the same one that is used on most manipulator robots that currently exist in the market.
In its upright position, Thor is about 625mm and it can lift objects up to 750 grams.
The project started a year ago as my Final Degree Project called "Design and startup of an Open Source and printable 6DOF robotic arm" but a lot of things have changed since the presentation day.

The main purpose of this project was to create a robotic arm that could be used in universities and schools to teach robotics instead of using simulation software or low accurate models. Having this in mind, the final prototype had to be affordable and, of course, Open Source.

If you are interested in this project I'll recommend you to visit the Hackaday Post where you'll find more details!

UPDATE 27/10/16!: DannyVandenHeuven has made some nice modifications and now some pieces are splitted to be printed easier :). Check it out!

UPDATE 21/12/16: Merry Chrismas Gift! I uploaded a ZIP with the last modifications. I really suggest you to go to Thor GitHub Repository and check if there are new modifications!


Print Settings

Printer Brand:



Prusa i3 modified


Doesn't Matter








I have used a 3D printer with 300x220mm of printing area and 0.4mm nozzle.

I used ABS for gears and MotorFix pieces, in this way the steppers' heat dont melt the pieces.


Presentation of Thor

Assembly of Thor

More from Robotics

view more

File Name



All Apps

3D Print your file with 3D Hubs, the world’s largest online marketplace for 3D printing services.

App Info Launch App

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

Print through a distributed network of 3D printing enthusiasts from across the US, at a fraction of the cost of the competitors. We want to change the world for the better through technology, an...

App Info Launch App

Quickly Scale, Mirror or Cut your 3D Models

App Info Launch App

3D Print a wide range of designs with Treatstock. Easy to use tools to get the perfect result. The global 3D printing network that connects you with high-quality and fast working print services nea...

App Info Launch App

Very interesting, in the video i see that move only in joint movement, the controller can do also linear movement with inverted cinematic?

Hi Andicot,

I'm currently controlling it only with fordward kinematics (joint movement) but I had resolved the inverse kinematics (https://hackaday.io/project/12989-thor/log/44018-inverse-kinematics).

I'm using fordward kinematics only because the board I'm using (Arduino Mega) is not powerful enough to do all the math of inverse kinematics. Although in the past I have done all the math in the computer and send the calculated joint movements via serial to the arduino.

Hope it helps!

Comments deleted.

This is a very well done project. I like that your robot arm looks strong and moves smoothly. I'll try to build a robot arm based on your design. I'm so exited !! Thank you for sharing this!!

Thank you for that kind words :)

I'm currently printing this right now and can't find the exact Nema 17 stepper motors listed in the parts list. Do you have links to the three different motors so that I can start assembling the arm.
Many thanks

Hi Jamie!

Some users bought them all in this website (http://www.omc-stepperonline.com/) I bought there the geared ones. I bought the other two motors at wantaimotors, but you can also find them in most of 3dprinting online shops!

I encorage you to visit the Thor's community (https://groups.google.com/forum/#!forum/thor-opensource-3d-printable-robotic-arm), post a thread with your build log and ask all the question you got :)

Hope it helps!

Feb 14, 2017 - Modified Feb 14, 2017
Jamie7162 - in reply to AngelLM

Thanks AngelLM
I'm still finding it really hard to find the exact ones stated in the parts list, I've never bought stepper motors before and they all look the same.
Do you have links to the exact motors? I feel stupid asking, I've found ones that are the same size but not the same holding torque, don't really want to buy the wrong ones
Many thanks

I'll head over to the community thread from now on for questions.

Hahaha no problem, you'll get used to it soon :P. Just for your info, all you have to look is the voltage (12V in this case), the rated current (I prefeer under 2A in order to control it with cheap drivers), the torque (depends on each articulation, but look at part list specs) and the size of the motor (in this project there are all Nema 17 with different lengths, also provided in the part list specs).

These are the motors of StepperOnline that fit with the specs:

Articulation 1: 1x Nema 17 40 N.cm
Articulation 2 & 3: 3x Geared Nema 17 121.2 N.cm
Articulation 4&5&6: 3x Nema 17 26 N.cm

Hope it helps!

I was having the same problem, thank you.

Aww, well that's the ends of this project for me. These 7 motors end up being 114 + 34 USD ($200 CAD). Out of my recreational budget sadly.
I've got the rest of the parts, and printed most of the shells, so hopefully I can get back to this in the future at some point.

Great job with this!

Hi anjilus, if you have an "adjusted recreational budget" and you don't mind to wait a bit for the pieces to come you can look at Aliexpress or sites like that. For sure you'll get a smaller price! :)

Dec 31, 2016 - Modified Dec 31, 2016

Hello AngelLM,
I'm assembling the 2nd and 1st Articulation, in the video for the 1st Articulation is show a bearing. I can not find the print file is the bearing which installs with BaseTop.stl

Again thank you

Dec 31, 2016 - Modified Dec 31, 2016
AngelLM - in reply to RRamos

Hi RRamos! That bearing is a 16014zz Bearing (metallic) I bought it in a local store.
Hope it helps!

hello angelLM.
i am very interested in building a thor. i was curious if you had better instructions for putting it together then the youtube video provided. any help would be appreciated. thanks

Hi karrl1987
Yes! Here (https://hackaday.io/project/12989/instructions) you'll find the steps that you have to follow to visualize the assembly step by step in FreeCAD. In this way you can pause and rewind the assembly and see it from the angle you want.

Hope it helps!

Hi AngelLM,

Awesome work!

I'm currently printing this monster. Do you have the BOM list

Thank you

Hi RRamos,

Nice to know! Another brother for Thor hehe ^^
I have the LOM (List Of Materials) at "Components" section at Hackaday post (https://hackaday.io/project/12989-thor)

Best Regards!

Hi RRamos,

Nice to know! Another brother for Thor hehe ^^
I have the LOM (List Of Materials) at "Components" section at Hackaday post (https://hackaday.io/project/12989-thor)

Best Regards!

Hi AngelLM,
I made a smaller version of the basebot. So now I can print it on my Ultimaker.
Feel free to add it or else people will find it here on Thingiverse.

I am almost done printing and now busy assembling it. One question remains: how does Art4 connect to Art3. Is it only connected via the transmission column bearing? I can't believe that is strong enough.

Best regards,


OK I put the plastic pellets in the bearing and to my surprise it's really stiff. So I guess this works!

Hi ctrl-alt-dude!

As you said the connection between Art4 and Art3 is:

-Art3Body is connected to Art4BearingRing
-Art4BearingRing is connected to Art4TransmissionColumn
-Art4TransmissionColumn is connected to Art4Body

Just a tip: before connecting Art4Body to Art4TransmissionColumn, make sure that the steppers inside Art4Body are in the lowest position as possible, in order to ensure the belt tension.

Best regards!

This design is amazing, and I want to make one, but I have that little voice in the back of my head asking what I'm actually going to do with it. So, what are you guys doing with your robots?

Hahahaha that little voice...
I'm working on the design, learning mechanics while I'm upgrading it!
Other users are working on it too, modifying the design, making a GUI and new electronics :P (https://hackaday.io/project/16665-thor-robot-with-addons-and-gui)
In a MakerFaire I met a guy who was thinking about making a Thor to do manipulation jobs at his small factory.

If you want to make one, every feedback is well received! :)

Best regards,

Would you consider the machine rigid and repeatable enough to put an extruder on? The cool factor would beat the crap out of delta printers.

A bowden one! Yeah, I met another guy in a Faire who was interested in that. Right now it has 2 limitations:

  1. The currently maximum load is 750g (I guess the weight of a hotend with bowden extruder is less than 750 grams)
  2. The precision. Each articulation has a different precision (due to different transmissions of each one). The last 2 articulations have the lowest precision (which could be about 1-2 degrees in my case). But, in my case, the quality of my printed pieces are not very good, I think that printing it better would result in a higher precision.


Have you though of or tired putting resistance (light rubber bands) on each axis as anti-backlash? This would increase power draw and limit the max payload for the arm but might work well for this application where the extruder is well below 750g.

Hi UptonAK!
That's a nice idea, I heard it before but I don't really know where to locate that rubber bands (or springs) inside the model...
If you have any ideas about that, I'll be so glad to hear them!

Best regards ;)

Hi AngelLM, I have a question about the Thor robot assembly. I read everything here. Also watched the assembly video many times. But I can't figure out how the art56 gear plate is connected to the art56 cover ring. There is a 5mm hole and for now I have sticked a rod in it but that doesn't connect it to anything. Can you tell me how to do this? Thank you! Hans.

Nov 21, 2016 - Modified Nov 27, 2016
AngelLM - in reply to ctrl-alt-dude

Hi Hans,

Sorry for the late reply, this weekend I was at the Makerfaire Bilbao and it was crazy haha.

The Art56CoverRing has a housing for a M5 autoblock nut. You have to connect that pieces introducing a M5 bolt through Art56GearPlate and fixing it to the M5 nut.

Regards ;)

In this image (https://s11.postimg.org/5j58qgdfn/Screenshot_from_2016_11_21_16_12_45.png) the illuminated part is the M5 Nut.

In this one you can see the connection between Art56CoverRing and Art56GearPlate (https://s11.postimg.org/qerj1p9mr/Screenshot_from_2016_11_21_16_13_21.png)

Hope it helps! :)

Aha I see. Thanks for the explanation!

Awesome work!

I'm currently working on printing this monster. Then I'm going to control it with Machinekit + ROS.

Nov 11, 2016 - Modified Nov 11, 2016
AngelLM - in reply to machinekoder

Woah! I'll be glad to see that working :)

Printing is the hardest part, but it deserves the pain hehe :)

Amazing design, seen it live at OSHWDem 2016.

Thank you! :)

How have the PLA gears held up that are directly connected to the stepper motors? Don't the motors get hot enough to deform/tear the gears?


Yes, as you said I have that problem: steppers overheat and the gears are deformed... I was working on a redesign of the structure to fit some 40mm fans inside in order to allow the airflow to refrigerate the steppers. Also I have printed the critical parts (almost everyone that touch a stepper) with ABS filament.


Beautiful design!
I read on the HaD project page that you used steppers with a reduction gearbox.
Can you list the steppers you used in this project?

Oh sorry didn't see the material list on HaD.
Got it.

Hahaha, no problem!

Best regards! :)

Increíble trabajo y esfuerzo compañero!!

¡Muchas gracias! ;)

Boa Tarde, gostaria de saber se os motores usados são os servos?
e faz essa impressão 3D e vende ?

Hi Henriquepedro,
The motors used in this project are Steppers, you can find more info about the components in the hackaday project page :) https://hackaday.io/project/12989-thor


finally, a good 3d printedable robotic arm. Love the design!

Thank you very much! :)

Hello friend, i have a CTC replicator Dual, do i have to scale objects to the same percentage?

Oct 1, 2016 - Modified Oct 1, 2016
AngelLM - in reply to opserc

Hi opserc,
I don't understand your question, what percentage?
If you are referring to the infill I used 20% and I recommend it, but you can choose the percentage of infill you want :)


Edit: Posted it 3 times due to an error, I deleted the next two duplicated messages.

The robot parte are too big for my printer, my question is do i have to scale all robot parts to the same scale? Like reduce from 100% to 60% so the parts fit in table,

Hi opserc,
There are non-printed parts used in the desing like motors, bearings, nuts, bolts... That cannot be scaled in that way.
I guess you are having troubles with the BaseBot piece and the Art2Body pieces. Currently there are users that splited that pieces in two smaller parts that fit in their printers. As soon as they share the pieces and test them I'll update the description with that info.

Comments deleted.