MakerBot Print is our newest print-prepration software, which supports native CAD files and STL assemblies,
allows you to interact with all your printers via the Cloud, and many other exciting new features.

Download Now


Thor - Open Source, 3D printable Robotic Arm

by AngelLM Aug 29, 2016
Download All Files

Thing Apps Enabled

Please Login to Comment

Has there been any update on the split parts for smaller printers? You have an amazing looking build going on, but the info on what version, what parts etc to get is a little scattered at present.

hello, looking at your robotic arm, I thought you might like this project, "magic lamp completely made of pla from 3D printers capable of making objects by hanging them with white light who wants can make it by downloading the plastic from

and asking for instructions to info@q3d.it or wait for it to come out in the tiger shops in this case you can book on the site at the price of $ 99"

Comments deleted.

How much would it cost to make this? And do you think a 13 year old without much robotics knowledge would be able to make it? Thanks!

Hi Wolokie!

If you already have a 3D printer and you don't mind to order the components to China the final cost would be around 350-400€. If the 13 year old is a handyman or a handywoman and is patient enough I think it can be done!

Best regards!

How long did it take you to assemble it once you had all the parts?

Mmm... To be honest I have never measured it, but I estimate about 3-5 hours if it's the first time and less than 2h if you already know how to assemble it. This is my estimation, it may take more or less time in reality haha

Hope it helps!

Hi Angel,

as I've told you some weeks ago I have started making your project as a final thesis for bachelor degree in electronic engineering for my girlfriend. We have build the electronics and flashed on the arduino mega your modified version of grbl firmware. Everything works fine but I have a question, how can I move the gripper with the servo? I've made the gripper you've uploaded on thingiverse with a futaba servo and I've connected it to your controlPCB as you suggest on the wiring diagram in the files you've provided with the project. So the problem is we don't know which g code command we have to send to make it move, we have tried it separately and it works fine.
If you can help us it would be great, if you wish we could share with you the progresses in the project and if you have any skype or gmail account we can stay in contact and let you know and share with you our suggestions about the project.

Thank you very much, have a nice day.

Andrea A.

Hi Andrea900!

I think I have already talked with you at the Thor's Community and the question had been solved.
If not, please do not hesitate to ask it there!

Best regards!

Hi, Does Thor have a interface with Grasshopper on Rhino 3D? This is a fantastic project!! Thank you!

Hi MRobots!

Thanks for your words! And sorry for replying it months later... The didn't get the notification of the message!

Currently I think there is no interface neither with Grasshoper nor Rhino 3D. If there is, I have not been informed!

Best regards!

I would like to modify your work. I plan to do it in a smaller size and modify some pieces, to adapt the arm to a system.
Can you help me ?, since I do not know how to transform stl. files in an ipt. (Autodesk Inventor).

Greetings from Chile !

Hello Felreyes!
have you thought about working on FreeCAD? Hahaha
If you still want to work using Autodesk Inventor, you can find the STEP files at the Thor's Github Repo and you can import them to Inventor easily!

Hope it helps ;)


I'm new to 3d printing an still learning. I want to download a 3d modeling software to practice an get the feel for it.
Do you have any recommendations on what software I should use on my MacBook Pro?

Hi dsilva743!

I designed Thor using FreeCAD, which is a OpenSource, Free and multiplatform (Linux, OSX & Win) 3dCAD modeler. I cannot recommend highly enough!

Hi Angel,

finally I will start the project soon and I'm currently making the list to buy all the variuos components. One question, I've seen in the component list under the section "bolts" that there are listed only M3 screws while under the "nuts" section there is one one M2 nut so I'm wondering if there are any M2 screws also or if there's some mistake in the bolts and nuts list.
What type of screws have you used? I mean, which head they have and what are the dimension of the head of the screws? Is there some hex head or flush head screws?

Another question, I cannot find the optocoupler ITR9608 on RS Components but I can find only similar devices with not the exact dimensions of the original, do you have any suggestions about a compatible model on RS?

Thank you so much,


Hi Andea!

Glad to know that you'll join the Thor family soon :)

Regarding your questions: I just uploaded the Component list, there was a mistake with the M2 nuts and bolts, thanks for notice! After the sensor update there are only 2 M2x10 bolts and 2 M2 nuts used to fix the micro end-stop of the 5th articulation.
I used Allen bolts (cylindrical head). Like this ones

About the opto-switched (optocouplers): I recently updated the design to fit a cheap commercial sensor I found online (more info here). I suggest you to search this kind of sensors in your country (I guess that some 3D printer stores will have it). Anyway, if you want to do the DIY sensors I suppose that any optoswitch with the same dimensions as ITR9608 model will do the job.

Hope it helps!
Ángel L.M.

Hi, I am studying your project and I am planning to make it in the near future so I would like to know what materials have you used to print the various parts.
I have a tevo tarantula and I would like to print with PLA cause it is simpler to achieve a good print but I've read that you've printed some parts with ABS, what are exactly those parts? Do you have a list ?

Thank you so much


Hi Andrea!

I have printed it with PLA and I only have used ABS on small gears in order to prevent heat deformation due to the heating of the motors.
The gears are: Art1GearMotor, Art2MotorGear, Art4MotorGear

If you are interested in this project and you have more questions, I invite you to visit the Thor's community! ;) (https://groups.google.com/forum/#!forum/thor-opensource-3d-printable-robotic-arm)

Best regards,
Ángel LM

Hi Angel,

thank you for the informations.
I have another question: how many kilos of filament did you have to buy to fully print the robot? and what type of PLA have you used? Do you have any tip about that?

Thank you

Hi Andrea!

I used about 4 spools of 1kg each. And that's the minimum amount I recommend to estimate before start building it. Errors happen sometimes when printing (at least in my case) and the pieces are big, so the wasted prints will be big too. Supports also add more wasted filament... Also, as there are big parts, sometimes the plastic left in the spool is not enough to print them and you have to pick a new one.
In case that you can print it at a first attempt I guess 3 spools of 1kg each would be enough.

You can check the Component List (https://github.com/AngelLM/Thor/wiki/Component-list) to see rest of materials!

Hope it helps!

Ok thank . sorry for my disattention I've seen later the bill of materials.
Anyway I've read the informations about the arm on the blog but I didn't understand which software you are using to interface with the arm and manage the movement from the PC.
Do I have to make my own sw written in C or Python or something else sending g code commands with angles velocity ecc. ecc. extrapolated from direct or inverse cinematic calculations made on PC or do you have something already done and published with open source license?
It would be nice to have a starting point software on which I could define my own routines to move the end effector in the positions that I want.

Thank you so much again!

Hi Andrea!

The firmware inside the Arduino Mega is a modification I made from GRBL. As well as the rest of the project it's Open Source! :D You can check it here: https://github.com/AngelLM/grbl

To control the movement I use the Universal Gcode sender (https://github.com/winder/Universal-G-Code-Sender) which is also Open Source.
I wrote a guide about compiling and flashing the firmware and how to control the robot using Gcodes. You can check it here: https://github.com/AngelLM/Thor/wiki/GRBL-&-GCode-Control

Hope it helps!

Hi, that thing seems to be designed really well. But from the video it seems that it's kind of slow. Will it perform better if I would use more powerful steppers, or are there any issues which might appear if I do so?

Hi Sci_Dev!

Yes, in order to ensure the accuracy I chose to lower the velocity. It actually can go faster, but due to the inertias the motors start to lose steps...
A more powerful steppers could solve this, but I think that you will have to redesign many parts of Thor in order to fit bigger steppers inside!

I also suggest you to visit the Thor community (https://groups.google.com/forum/#!forum/thor-opensource-3d-printable-robotic-arm), I'm sure that other Thor builders would be interested in your idea!

Thank you very much :)

Hey this looks really good. Are all the motors placed in the base of the robot? I couldn't tell for sure from the video. If so, how do you control the other joints away from the base?

Hi nixt!

There are 7 motors in total, distributed inside this pieces:

  • Base: 1 motor for the 1st articulation.
  • Art1Body: 2 motors for the 2nd articulation and 1 motor for the 3rd articulation.
  • Art3Body: 1 motor for the 4th articulation.
  • Art4Body: 2 motors for the 5th and 6th articulation

Hope it helps ;)

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!

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! :)

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

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

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.

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.

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?

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.