OpenSource 3D printable Robotic Arm

Similar projects worth following
Important Note: Go to Thor's Website to download the latest version and access updated the content of this project!

Thor is an Open Source and printable robotic arm with six degrees of freedom. 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 main purpose of this project was to design a robot that could be used in universities and schools to teach robotics.With this in mind, the design had to be affordable and accessible. Releasing the source files and doing so under an open source licence was the best option: anyone could study any element of the robot in depth and, moreover, modify or adapt it to their needs.

At Thor's Website will find updated info about this project, manuals, list of materials, the community forum and much more. Visit us!

To develop this project, I have been involved in several areas of expertise:

Hardware choice

In order to have a nice accuracy on the moves without raising the price too much, I chose stepper motors for the movement transmission. I had to choose stepper motors with mechanical reduction for the second and third articulation in order to manage the torque generated in these articulations. For the two last DOF I chose smaller steppers with the purpose of reducing their weight.

For the electronics I chose an Arduino Mega as main controlling board. And I designed a "shield" to make possible the control of 7 steppers. I chose pololu A4988 as stepper drivers.

For the transmission of the third, fifth and sixth articulation I have used GT2 Pulleys and GT2 Belts.

Finally, I chose optoisolators and a micro-endstop in order to establish a home position for the first five articulations. Using optoisolators instead of mechanical stop allows it to rotate more than 360 degrees without colliding with the sensor.

As you may have realized, all of the hardware I have chosen is commonly used on DIY 3D printers.

3D Design

I used FreeCAD software in order to design the pieces of the robotic arm. There are 37 different printable pieces in Thor. For every piece there have been a lot of iterations behind the final one.

Some design solutions are inspired by commercial robots, others are the result of hours of work and others are just serendipitous ideas.

The final design had to be compact and safe. I wanted to hide every motor and every single wire to make it more aesthetic. Also, I designed covers and protections to reduce the risk of entrapment while the user is manipulating the robotic arm.

None of the 6 DOF is a end-effector. There are a lot of commercial and DIY grippers/vacuum/hooks around the web and for each use something different is needed. Instead of integrating a gripper into the design I decided to make an adaptable design making an interface between the end-effector and the robotic arm. This way you have 3 options to include a tool on Thor:

1. You can modify the interface, placing the mounting holes wherever you need them.

2. You can modify the tool, matching its mounting holes with the interface ones.

3. You can design an intermediate piece that fit with the interface on one of its sides and with the tool on the other side.

I like the whole robot, but I'm especially proud of these 3 solutions:

- Semi differential (5&6 DOF)

This kind of transmission allows it to do two types of movements using two small gears that act over a big one. When the small gears rotate in the same direction, the big gear bloks and rotates around the small gears' axis. When the small gears rotate in opposite directions, the big gear rotates around its own axis.

This way, actuating over the two small gears allowed me to place the steppers as lower as I could, transmitting the movement with GT2 belts and reducing the torque generated by the motor's weight.

- Support point of 2nd DOF shaft

While I was designing the second and third articulations I was worried about the available space. The motors tookup a lot of space and there wasn't a single small area to establish the second support point for the second articulation axis. The solution was one of the serendipitous ideas I have mentioned early. Why not use the shaft of the stepper of the third articulation as the support point for the second articulation axis? And voila! It worked well.

- DIY Bearing

The design of the 4th articulation had an issue, I didn't find a commercial bearing adjusted to my needs. After days of searching, I decided to make my own. Inspired by a solution that some users used for the Ciclop's bearing, I designed the bearing using 6mm airsoft balls as bearing balls. The result was precise, almost without backlash (after some printing...

Read more »

sla - 864.73 kB - 08/03/2016 at 14:50


sla - 991.29 kB - 08/03/2016 at 14:50


sla - 29.57 kB - 08/03/2016 at 14:50


sla - 745.20 kB - 08/03/2016 at 14:50


sla - 133.68 kB - 08/03/2016 at 14:50


View all 39 files

  • 1 × Barrel Jack Connector Control PCB
  • 112 × Female Pins Control PCB
  • 5 × 3 Wire female connectors Sensor PCBs
  • 4 × Kg of filament
  • 1 × Nema 17; L=40mm; Holding torque: 39.22

View all 51 components

  • Important Announcement: Community migration & Thor v2.1

    AngelLM11/24/2021 at 12:51 0 comments

    Hello everyone!

    It has been a while since I last had the time and motivation to make a substantial improvement to this project. This time I have taken it up with enthusiasm and I think it has been worth the effort.

    I'm proud to introduce you the new Thor's website. I did my best to gather all existing project documentation in one place. I have also taken the opportunity to add new documentation and improve the existing one in order to make the project accessible to more people.

    And let's be honest, although it has been useful, Thor's Google Group mailing list is not pleasant to use. It's also a service that Google could eliminate from one day to the next, losing all the information there. That's why I've taken the trouble to migrate all the messages to a forum hosted on the new site, much more intuitive to use in my opinion.

    I have migrated the users, but not the passwords, so if you had posted a message in this group you will have your user created in the new forum. To set your password you will have to follow this link.

    From now on, the google group will be obsolete and only the new forum will be used, in order to centralise all information in one place.

    And this is not the only change I am proud to announce. I have also released a new Thor design. Designed in FreeCAD 0.19 and based on an old redesign I started a few years ago, Thor v2.1 is now available for download.

    Besides the aesthetic changes it is worth mentioning the new features:

    • Integrated electronics box.
    • Ventilation grills in every articulation.
    • Integrated fan holders.
    • New gripper design.
    • Several design fixes.

    And that's all, I hope you like this new news and see you on the new website!

    Best Regards, Ángel LM

  • Thor's 3rd Birthday!

    AngelLM08/31/2019 at 12:38 0 comments

    It has been 3 years since I released Thor! Woah, time goes by really fast.

    As a birthday gift I want to boost this project, but I'll need help from the community to do it.

    I want to gather all the features, improvements, crazy ideas... that you would want to see in the new version of Thor.
    I have created a list where you can vote and add ideas in a quick and simple way. ¡Feel free to add anything! I will take them all in account!

    How would you improve Thor?

    Thanks for these three years! :)

    Ángel L.M.

  • Thor GUI - Asgard

    AngelLM02/18/2018 at 15:26 0 comments

    Hello everyone!

    It has been more than a year since I released the Thor project. From the beginning, the project was very well received. It received tons of views, likes, comments, forks...
    And more important than the "fame", the feedback started to arrive. Many people liked the robot, but not the way to control it. Not everyone knows how the GCodes work and, even if you know it, sometimes you don't want to type a GCode to move a robotic arm.

    So, some users started developing or adapting GUIs for Thor (I can't really express all my gratitude to they). But at this point, I don't really know the state of that GUIs.

    That's why I decided to make my own program to control Thor. A GUI designed using Qt and programmed in Python. It's my first time programming something that doesn't use the terminal for the user interaction so please be gentle with me hahaha.

    This GUI is called Asgard and is OpenSource too. You can find the source files at the Github repository. Do not hesitate if you want to collaborate in the development, help is always welcome!

    These would be the key features of Asgard GUI: (features marked with a ✔ are already implemented!)

    • User-friendly Graphical Interface ✔
    • Forward Kinematics implementation (1st version) ✔
    • Inverse Kinematics implementation (2nd version)
    • Sequence Programmer (3rd version)

    Some things that I have though about but not in the short-term:

    • 3D display
    • 3D IK Controller/Sequence Programmer

    Finally, this is the current look of the graphical part of Asgard:

    I'll be posting logs as the development reach the different versions. But if you want to be more in touch with Asgard and Thor notices and developments, I would recommend you to join us at Thor's Google Groups community!

    If you have some suggestions/tips/comments please post them! I will be happy to know what do you think about this!

    I'll keep you updated!
    Ángel L.M.

  • Commercial Sensors Adaptation!

    AngelLM08/17/2017 at 09:31 0 comments

    Hi there!

    It’s been a long time since the last time I wrote a log! I’m back!

    Thor’s community is growing fast! There are (at least) 4 Thors assembled & operational around the world and another 17 being built! There are schools and universities relying on Thor for teach robotics… Great yaaay!

    The more people are interested in this project, the more feedback I get. Recently I have received several questions about the sensors I’m using to establish the home position of Thor (opto-couplers, opto-transistors, opto-switches… whatever). To be honest, until now it was pretty tricky… I made my own sensors using a DIY CNC for the PCBs and soldering the components by myself. As this project has attracted different kinds of people, I thought that it could be nice to simplify this issue: making Thor compatible with commercial sensors instead of creating the custom ones. Let’s try to not reinventing the wheel!

    The first thing was to find a cheap commercial sensor which could fit inside Thor. To make things easier, I was looking for a single model which could fit in the 4 articulations. For the first three ones was an easy task, but the sensor located in the Art3body piece for the 4th Articulation had to be pretty small to not collide with the  Art4TransmissionColumn piece.

    Finally I found this one in Aliexpress which met all my needs. I think that it won’t be hard to find that kind of sensors in other online-shops, but I tend to use Aliexpress because of its large catalogue.

    So, without further ado, these are the changes I made in the design (on the left side the old design and on the right side the new design):

    The sensor for the 1st Articulation is now fixed to the BaseBot piece.

    The sensor for the 2nd and 3rd Articulations are placed in a similar position as the custom ones, I modified the Art2BodyB piece adding fixing point for them. Also, the Art23Optodisk has been redesigned to work properly with the new distances.

    The Art3Body piece has been redesigned to fix the sensor of the 4th Articulation. The board of this sensor has to be cut to avoid the collision with the Art4TransmissionColumn piece. Do not worry about that cut, there are no circuits in that zone of the PCB, so can be cut gently.

    I have only tested it using the 3D models. The sensors fit, but presumably the connector of each sensor will have to be replaced with other flatter.

    FYI: the last commit where you can find the older files (the ones for the custom sensors) is this one: b86594c4d48fa64d71cc373a52b4e3dac6e4bde9

    Do you like it?

    Ángel L.M.

  • THOR support in Robot Overlord

    Dan Royer08/08/2017 at 19:28 0 comments

    It's the crossover episode you've been dreaming about!

    THOR robot arm is now simulated in Robot Overlord.  Forward and Inverse kinematics can be manipulated visually in 3D.  I feel confident it won't be long before RO is talking to the firmware and any THOR owner can drive their arm from the software.  One step closer to fully open source process automation!

    Special thanks to @angelILM for producing the STL files and dimensions on request.

  • Control PCB Wiring Diagram

    AngelLM04/22/2017 at 14:13 2 comments

    I just made a Wiring Diagram for the Control PCB v1.0 board.

    You will find the full resolution image & source files at the Github repo.

    I want to remind that there is a Google Groups community with 90 members in this right moment where you can ask, share and read about this project! Join us! :)

    Check soon my fork of the grbl repo to get the lastest firmware for the ControlPCB board.

    Best regards,
    Ángel LM

  • Thor's community is now online

    AngelLM01/15/2017 at 16:30 3 comments


    Since a few weeks I'm receiving a lot of questions/feedback/information from many different directions (email, Twitter, Hackaday, Thingiverse, GitHub, Wevolver, etc.).
    One thing is clear, this project has become known, at least more known than I expected at the beginning, and I cannot do other than thank you! Thank you for your likes, your comments, your feedback, for sharing the project, contributing to it and for building a Thor. You rock!

    Also, from the very beginning I wanted everyone to became part of this project and share all the information. I think that the current platforms I'm using are not the ideal ones to develop a community project. Using a lot of platforms is convenient for spreading the word, but not for focus the information...

    That's why I decided to make the Thor mail-list community. I have been in other communities of Google Groups and it works so well. Everyone can access, everyone can ask/answer/show, it's easy and clear and it's free. In this way I want to share all the info I have with you all. And you will be able to help, give/get feedback and share your ideas, progress and modifications with other community members.

    From now I'll group all info there and I'll be answering the questions there. I'll be posting there my progress and changes too (I will still doing that here too).

    See you there!

    EDIT: I forgot to say that I also did a Frequently Asked Questions in order to answer them :)

  • Danny's mods incorporated!

    AngelLM12/19/2016 at 16:05 5 comments


    Time ago, Danny made some modifications to largest pieces, splitting them and making them printable in 180*180mm bed area printers.

    He made an awesome work, and I wanted that modifications to be in the main repo, so I added it! Also, I migrated the design to FreeCAD in order to have the source files too ;)

    EDIT 21/12/16: I have migrated another 2 modifications to FreeCAD :)

    On the left, my remix of Art4Body modification made by Danny. Designed for low height printers, thank you again Danny :)

    On the right, the BaseBot modification made by Ctrl-Alt-Dude for 190*190mm print area. This will allow more users to print Thor. Thank you too! ;)

    Are you having issues with other pieces?

    Season's greetings for all!

  • New ControlPVB PCB arrived!

    AngelLM12/16/2016 at 14:33 1 comment

    Yay! I received them 3 days ago... Exciting!

    I ordered them to PCBWay and my experience was great! They are fast, kind and very cheap :D And the quality of the PCBs is incredible, very professional. I'll work with them again for sure!

    As you see I have designed it for THT and SMD (1206 package) components. I never used SMD before, but there's a first time for everything haha.

    Now, it's time to wait for the arrival of the components... I think that it will take about a month or two... I don't know if I'll be that patient...

    Hope you like it! :)

  • New electronic board very soon!

    AngelLM12/07/2016 at 21:43 2 comments

    Woah, more than 300 followers! Hello everyone!

    As I said weeks ago, I needed a new electronic board to control Thor... The one I was using had many mistakes (a man may learn wit every day...) and I got tired of botching it. The initial idea was design a DIY PCB board, but due to its limitations and how cheap is to manufacture it in China I decided to design a better control board.

    Of course using OpenSource software, KiCad again.

    First of all, some pictures:

    It took me a few hours to understand the values that I had to set (track width, drills diameters, etc.) in order to send it to the manufacturer... but it won't happen the next time >:D

    Anyway, the new features:

    1. First and the most necessary: Reverse current protection circuit. No more burned drivers because of mistaken power input polarity... It will save my wallet!
    2. This board allows to control up to 8 stepper drivers (instead of 7 of the previous version).
    3. Smaller size: Less than 100mm*70mm.
    4. Easier assembly: the Silkscreen is a nice helper!
    5. Added 3 confirmation LEDs (Power Input, PCB Power, Arduino Power).
    6. Added more 12V aux outputs for the fans.
    7. Added a switch to power off the steppers and keep the fans working.
    8. The connections between the drivers and the male pins that connect with the Arduino Mega are now well driven. This has been possible thanks to the 2 layers board, and it will allows to simply connect a ribbon cable with a 2x18 connector without "hacking it"

    And I think that's all! I'll send it to the manufacturer as soon as I finish another PCB I'm designing.

    Of course, I shared it on the Thor's Github repository. If you are reading this close to the publish date, you will find the new PCB files in the ControlPCBUpdate branch. Feel free to take a look and share your opinions!

    Hope you like it!

    Best regards,
    Ángel LM

View all 17 project logs

  • 1
    Step 1

    Print it!

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

    Material: I printed every part with PLA.

    Printing Profile: I recommend to slow down the outer shell speed at least to 50% of its normal printing speed in order to get accurate results on holes, gears, etc. For some pieces supports are needed.

  • 2
    Step 2

    Prepare materials!

    If you want to include the home sensors, you will need to make the PCBs and weld the components.

    It's also recommended to weld a wire extension to the steppers wires, specially for the last three ones.

  • 3
    Step 3

    Make the electronics!

    Make the Control PCB and weld the components!

View all 6 instructions

Enjoy this project?



Nils wrote 05/28/2018 at 12:28 point

How much Fillament do you need?

  Are you sure? yes | no

AngelLM wrote 06/15/2019 at 12:59 point

It took me about 3 spools of 1kg to print all the pieces.

  Are you sure? yes | no

Isergix wrote 03/28/2018 at 09:00 point

Good morning. I'm not very good at robotics but I want to make thor.
For the assembly of the pieces is "easy" with the video but the electrical assembly ... is there any step-by-step guide for the electrical assembly?
thank you very much!!

  Are you sure? yes | no

AngelLM wrote 06/15/2019 at 13:24 point

Hi! There is a video made by a spanish maker if it helps you!

Sorry for the late reply! I don't know why but the notifications were off :(

  Are you sure? yes | no

Santiago wrote 03/06/2018 at 17:53 point

Hi,  in this website we can't found the new piece  that is located at the base, that supports the new model endstop  of the robot, in order  to print it. Could you help us ?

  Are you sure? yes | no

Santiago wrote 03/06/2018 at 17:41 point

Hi there, 

I'm a student, now i'm studying technology in my institute called IES Ciudad Jardin in Seville.

I and a friend are working on this proyect and we have some doubts. At the  pieces Art56CoverRing, Art56GearPlate,  we found  some slacks and we don't know if in the original pieces there is a slack or not.  ( Art56GearPlate makes a vertical and lateral movement ).Could you help us ? 

  Are you sure? yes | no

Steve Jackson wrote 11/28/2017 at 03:24 point

Do you have solid models that were not created from a mesh?

  Are you sure? yes | no

AngelLM wrote 06/15/2019 at 13:04 point

I designed it using FreeCAD and the source files are published in the github's repo!

The STEP and STL files are published too.

Sorry for the late reply! I don't know why but the notifications were off :(

  Are you sure? yes | no

felipej wrote 09/19/2017 at 13:18 point

Hi there,

I was not able to find any technical details with regards the payload, reachability and precision. Have you done any tests on the robot and if so, could you share the values? I appreciate your answer.

  Are you sure? yes | no

AngelLM wrote 06/15/2019 at 13:03 point

Hi Felipe, first of all sorry for the late reply! I don't know why but the notifications were off :(

To be honest I never tested the precision accurately. The maximum payload that I succeed to move was 750g in its worst position. Hope it helps!

  Are you sure? yes | no

donskit30 wrote 09/18/2017 at 02:52 point

Any word of advice regarding the use of 3D print material since Angel used PLA to print all parts. i want his build to be durable and and heat resistant.

  Are you sure? yes | no

AngelLM wrote 06/15/2019 at 13:01 point

Hi Donskit, first of all sorry for the late reply! I don't know why but the notifications were off :(

I printed it in PLA just because it was easier for me. If you have the chance to print it well using ABS or other filament with better heat and mechanical resistance do it!

  Are you sure? yes | no

Sepio wrote 08/13/2017 at 10:24 point

Hi AngelLM,

I just want to let you know that I'am also building the Thor robot arm with the Add-ons from Dannyvandenheuvel.

Below the link to my buildlog.

I want to thank you for all your hard work. I really like the result. 


  Are you sure? yes | no

AngelLM wrote 08/14/2017 at 08:35 point

Yay! Welcome to the Thor family! :)

I just added you to the Thor's Builders list (, do not hesitate to update your status when it's assembled!

Also, feel free to post your questions, feedback and progress in the Thor's community (!forum/thor-opensource-3d-printable-robotic-arm)

Willing to see more!

Ángel L.M.

  Are you sure? yes | no

MogolRapetti wrote 05/19/2017 at 00:18 point

hi Someone is able to make me understand exactly how to mount the 2 nema in the upper extremity of thor? It is not very clear. Thank you

  Are you sure? yes | no

AngelLM wrote 08/14/2017 at 08:41 point

Hi Mogol, sorry for the late reply!

Each motor in the upper articulation have 2 printed pieces that have to be attached to each side of the motor. After that, each motor can be slided inside the Art4Body piece, using the inside guides (Dovetail shaped) that should fit with the pieces attached to the motors previously.

Hope it helps!

  Are you sure? yes | no

michael.silvermm wrote 05/08/2017 at 01:29 point

I just downloaded the files and it does not appear that the provided STLs can be printed using a makerbot replicator/Flashforge Creator/ QIDI Tech I. Has anyone already modified the model to be printed using a 225 x 150 x 150mm (8.8 x 5.9 x 5.9 inch) print area?

  Are you sure? yes | no

AngelLM wrote 05/08/2017 at 08:02 point

Hi Michael,

I designed Thor to be printed in a 200x300mm bed printing area, but there are users that splitted some 3D models to make them fit into their printers.

I suggest you to visit the Danny Hackaday Page (, as he was the first to split some pieces in half. 

You can also open a new thread in Thor Community (!forum/thor-opensource-3d-printable-robotic-arm), I'm sure that we'll find a solution ;)

Hope it helps!

  Are you sure? yes | no

michael.silvermm wrote 05/08/2017 at 09:32 point

Thanks for your prompt reply. I look forward to building a Thor.

  Are you sure? yes | no

reillyier wrote 05/06/2017 at 02:15 point

Just stumbled across Thor while looking for a new project. This looks really cool! I am curious though about the motion. Does Thor have Linear motion capabilities or does he move strictly joint by joint?

  Are you sure? yes | no

AngelLM wrote 05/08/2017 at 07:50 point

Hi reillyer,

My Thor robot is moving using Fordward Kinematics (joint by joint) just because my electronics don't have the power enough to solve the Inverse Kinematic equations in real time. I'll try soon to solve that equations in my PC (as I'm controlling it with one) and send the solved position to the electronics. In this way I'll get a Linear motion ;)

We have a discussion at Thor's Community about this topic, feel free to visit us :)!topic/thor-opensource-3d-printable-robotic-arm/GYjeoyt_SRU

  Are you sure? yes | no

adam wrote 03/09/2017 at 14:00 point

I have started printing parts for this. As i do so, I am wondering if anyone has thought about scaling up the design to accommodate NEMA 23 and 34 motors?

  Are you sure? yes | no

AngelLM wrote 05/08/2017 at 07:47 point

Hi Adam!

I remember that someone asked me about scaling it to fit larger motors, but I don't really know if that person started doing it or not :/

Anyway it would be a nice project!

  Are you sure? yes | no

Olaf Baeyens wrote 01/10/2017 at 23:04 point

Maybe Danny has better results in the 3D printing quality but in my prints I have noticed that for accurate movement your "theoretical" calculated movement will not be accurate enough for reliable automated percision movement. Joystick control yes, but repeating the process I doubt it. 

Also every 3D model that gets printed will be slightly different.

I think in the software must take into account imperfection to compensate. But first I think we need a mechanism to actually measure the imperfections first.

  Are you sure? yes | no

AngelLM wrote 01/11/2017 at 18:00 point

Hi Olaf! What is the calculated movement that are you talking about? About repeatability I didn't test it yet, but I got almost equal movements doing a process two or more times. I'll upload a video soon :)

Printing tolerances is an issue hard to deal with... Every printer has his own tolerances and are different from other printer, as there are only one 3D model to print probably there will be some printed pieces better than others.

Of course doing a closed-loop control with sensors (potentiometers or encoders) will ensure that repeatability.
If it helps you I applied the trial and error method to identify my printer's tolerances before print them. 

Best regards!

  Are you sure? yes | no

Olaf Baeyens wrote 01/11/2017 at 18:20 point

It is only intended as feedback so we can improve the Thor ;-)

I am not that far yet, I am now building the code (proof of concept). I have now my base that can actually rotate. But when you look at the side, then you see that the plastic top is a bit tilted. This will affect the precision when I ask the robot to rotate around its axis. The payload may shift up or down depending on the angle.

I have been toying with the idea of a Gyroscope+accelerometer, but I am still busy setting it all up (buying the electronics, wires, .... since I am a complete N00b)

Another thing I am thinking of is to use a photo-detector with a ring hat has multiple varying spaces. If one space is 5 steps to cross and another 10 steps, yet another 15 steps  then it has a sense of direction but also a sense of how off its position is. It could compensate real time during the movement.

Example: If the software expect a gap that starts at position 105 but it already detects it at 103 then the robot knows that it must add 2 additional steps to get to the correct position. If that gap is in the middle of normal operation then the robot can work longer with less need of a recalibration getting to the home position.

The hardest part is to develop that software and squeeze it into that small memory space :-)

  Are you sure? yes | no

Olaf Baeyens wrote 01/11/2017 at 18:51 point

Ah yes: "Calculated movement" Your forward kinetics formulas.

  Are you sure? yes | no

AngelLM wrote 01/11/2017 at 21:59 point

Of course! I really appreciate your feedback :) I think it's the only way to progress! 

About the forward kinematics and control: to be honest I estimated the steps per unit (the steps that the motor has to rotate to complete a degree in this case) in firmware by trial and error, maybe it is the main issue about the forward kinematics control. I'll upload soon the steps I followed to do it. About repeatability, do you have some backlash between pinions and gears?

Best regards!

  Are you sure? yes | no

Olaf Baeyens wrote 01/12/2017 at 18:38 point

If I can find time this weekend I will test accuracy. I did try to hold the base with my hand to see if it broke or halted the stepper motor, but it has decent force. But I did manage to make it stop by hand. (The plastic itself did not bulge)

I also discovered the mystery why my optical ring came lose. It turned out that the screw that held the stepper motor cog in place was a bit too long. When I assembled it I did notice but it probably pushed the optical ring from the inner cog base.

I am wondering when you move a heavy object how it behaves too. We may have to modify the stepper motor code to accelerate slowly and also stop more slowly to keep accuracy. I am wondering if we can put a weigh senors in the base so that the robot motor controls can optimize its speed depending on teh laod it carries.

  Are you sure? yes | no

dannyvandenheuvel wrote 01/11/2017 at 19:07 point

The main reason I did not build the robot so far, I tried to make the software almost complete and experiment with it to see what are the main bottlenecks and issues to have a perfect robot. After all proofs are well done I build it for 100%. I printed all parts and I see some problems with the heating and the precision. For the heating I gonne modify some parts with build-in fans like AngelLM already done, for the precision I am thinking to make a feedback with a encoder or something I can measure to angle. In that way I can make a closed loop controller for the stepper motors. If I make it absolute I don't have to home, just for the first time setup. I have to luck to have a proffesional stratasys uprint se printer, the accuracy is a lot better than the hobby printers. I didn't have any problems printing the parts, some parts I made a little smaller or broken into two parts because the dimensions of my printer area. Olaf, if you wish, I could make that part where you have some troubles with be split in two parts, I will mean, the upper shrew blocks could be the second part with a little inlay plate to fit inside the second plate and can be glowed togetter. Then you can print both parts without structures.

  Are you sure? yes | no

Olaf Baeyens wrote 01/11/2017 at 21:26 point

You are reading my mind, I too am focusing on seeing how the robot behaves first so I can pair the software and the mechanics so that act as one entity. If only I had more time after my day job :-) 

I am interested if you could modify the model to avoid having support material to be the Guinea pig :-). I probably wasted 25% or more plastic on that support structure. The plastic is not the issue but the time to print it is more of an issue.

I think what is important for people that wants to copy the Thor is that it can be printed in 12 hour maximum 3D prints. The longer the print lasts the bigger a cache that a print fails. In addition, people are less interested because the part is too big so people give up to soon.

I really do enjoy both of your work greatly. It challenges me and it is very rewarding when parts comes together and start to acvtually move.

  Are you sure? yes | no

vader333 wrote 12/17/2016 at 09:51 point

Hi there, I'm looking to build a Thor, and am ordering parts now. I would like to modify the model to fit a hitec servo, as I'm reusing the servos in another project. Do you think it is possible to do so without altering the mechanism too much?

  Are you sure? yes | no

JustinShaww wrote 12/18/2016 at 05:06 point

Can I ask where you are ordering your other parts from? I am also trying to put this build together and quite frankly I have no idea where to begin! 

On a more general note, I downloaded the ListofMaterials.txt file but it looks like is no longer a working domain and also the counts for the quantity of each motor is off (for example, the .txt file says you'll need (2) 40mm Nema 17 servos but the components list on this page says you only need 1. I've also checked the hub and it calls for only 6 servos (versus the seven in the txt file and the components section of this page) and of those 6, half of them are Nema 17 and the other half are Nema 14. What is the difference? Are the 14s just smaller/lighter? Does it matter which ones you get, or will it affect the performance/strength of the arm?

Any help is appreciated, 


  Are you sure? yes | no

vader333 wrote 12/18/2016 at 08:16 point

I'm getting most of my parts off Nema is a size standard; Nema 17 means 1.7 square inch face plate. Nema 14 is 14 square inch face plate. Download FreeCad and the fcstd file and look for yourself.

Motor size doesn't necessarily correlate with performance.

  Are you sure? yes | no

JustinShaww wrote 12/18/2016 at 23:57 point

You're a life-saver Vader! Thanks so much!

Sidenote: How many of each motor do I need? The hub says I need 6 total, and this hackaday page says I need 7 total... Does it matter?

  Are you sure? yes | no

vader333 wrote 12/26/2016 at 06:39 point

7 based on the model.

  Are you sure? yes | no

Olaf Baeyens wrote 12/26/2016 at 21:03 point

I also have a hard time to find the components, they are spread everywhere.

I ordered the motors from this site: but so far I have not been at a point to actually test the motors. It took some time to receive them. Also be careful, some people seem to have had a import tax, I did not.

There are 6 degrees of freedom so in theory 6, but one of the joints needs 2 motors that work together to get the needed power to get the arm up.

There are 3 motors that have a planetary 5:1 gear ratio, those are pretty expensive (I got them for €31 each).

Also the big ball-bearing for the base is hard to get. I found one on Amazon for €31 but I never received it and Amazon canceled the order because of undeliverable. I got refunded. 

  Are you sure? yes | no

dannyvandenheuvel wrote 01/11/2017 at 19:22 point

You can find a lot of things at For the motors, I used three types,
for the base I use a little more powerfull type 17HS16-2004S1 and for the first arm and second arm movement I use 3 geared motors 17HS13-0404S-PG5 and for the wrist and tool rotate and up/down movement I used 3 motors 17HS13-0404S. All motors I ordered at steppersonline. Please consider to take they last 3D parts because they will be corrected with extra fans to cooldown the chambers.
The next comming days I will do a full reupload off all my modifications. I will make a new list of materials where you can find all parts at the moment. I changed some 3D parts so you can use more standard products that you will find on the internet.



  Are you sure? yes | no

dannyvandenheuvel wrote 11/19/2016 at 00:39 point

Hi all! on my page the first glimps of the graphical controller!
Basics has been fullfilled! Now the big works arrives making the
simulator and after that the real TCP socket connection between this
piece of software and the real robo arm!!!!
Take a look and give any comments as you like, all feedback is welcome!

  Are you sure? yes | no

AngelLM wrote 11/21/2016 at 15:31 point

As I posted on the YouTube video, it blowed my mind. Awesome work. You lifting this project to a new level!
Best regards!

(I'll download it right now to see it in actiooooon :D)

  Are you sure? yes | no

dannyvandenheuvel wrote 11/08/2016 at 21:21 point

BTW, it will be a version for PC and MAC! 

  Are you sure? yes | no

dannyvandenheuvel wrote 11/08/2016 at 21:19 point

Hi all! Update!

I've been working hard on the graphical GUI controller at the moment and must say it's moving fast! Inverse kinimatics is working great! There will be Joint jogging and Cartesian Jog with translation along or rotation about X,Y and Z axis. Camera views has a lot of improvements. Watch out these comming days for the first real release! :)

  Are you sure? yes | no

Olaf Baeyens wrote 11/05/2016 at 22:29 point

Hello, am I wrong that Art4Optodisk.stl is missing in your files list?

I am builkding your robot :-)

  Are you sure? yes | no

AngelLM wrote 11/07/2016 at 10:25 point

Hi Olaf! You were completely right, I just uploaded the stl file of Art4Optodisk to the Files List, I'll update the github repository later.
Thank you for the appreciation :)

  Are you sure? yes | no

Ethan wrote 10/16/2016 at 19:34 point

Hello Thor team. I am proud to be building one of these awesome robot arms. my goal is to control it through rhino and grasshopper so that driving the movements can be para metrically controlled. First got to build Thor though. Its taken me a while but I am up to the largest parts now . Thanks to danny vdh for breaking some parts up into smaller pieces. Ill look for those now. I have an ultimaker 2 and some parts are just too big. In the future i hope to also find someway to laser cut some of the parts... so that the fabrication can be faster. and maybe to have an acrylic window to see into the inner workings! I look forward to seeing the builds of others. :) ethan

  Are you sure? yes | no

dannyvandenheuvel wrote 10/15/2016 at 07:48 point

I made some modifications on thor to print it on smaller area 3D printers, I will put the step and stl files later this day on my github page! You can find me on the github page of Angel. There will be a link to my github! If you have any questions don't hesitate to give me some feedback! Success in making a real Thor! (Needed me two weeks to print the whole robot!)

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates