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

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

WE-R2.4 Six-Axis Robot Arm

by LoboCNC Jan 4, 2019
Download All Files

Thing Apps Enabled

Please Login to Comment

Just bought all the steppers. About $60 from onlinestepper for the 3 NEMA 17's with shipping. About $80 for the 4 small 35PM048S8-08001 from Moon's. Adds up but excited to get this going. Given that the small steppers don't have flat shafts, how are you attaching those to the plastic? I haven't printed those parts yet.

For the small motors, I used a 3mm drill bit to clean up the bore on the gear and then secured it with a drop of superglue. You have to be very careful, though, not to get any glue in the shaft bushing.

I just printed the base. Looking good. Nice work on this Jeff. I attached a photo of my print with the NEMA 17 stepper mounted.

Very nice!

How do you do all the axes homing, do you have any idea?

The plan for homing is to run each joint up against a hard-stop joint limit. However, some of the details of the hard-stops are still listed in the "Stuff Still to Do...." section.

Comments deleted.

Hi! I was wondering what the estimated total cost is for the robot... also, is it compatible with Mac OS X?

Overall, this project will end up costing $300-$400. The rough breakdown is: motors ~$10 ea, controller boards $20 ea, PIC programmer $50, filament ~$25, misc hardware ~$25, shipping and all those other little things ~$50.

The only software that currently exist for running this robot is my very rudimentary TicStepTest program which only runs under Windows, so you'd need to be able to boot into Windows OS on your Mac. I'd love to see someone implement control of this robot using ROS, but that's beyond me at the moment.

Thanks for the reply! Unfortunately, no Mac support is a huge drawback for me :(

Amazing work, not just visually, but mechanically as well. Thanks for sharing!
I have a few questions:
How much is the payload and repeatability?
Have you heard about the Mechaduino nema17 stepper driver? It has a magnetic encoder and motor current sensing, so you can have torque control; with these you will be able to build a collaborative robot arm, which means you can program gravity/friction compensation, teach mode, collision detection etc.

As for the payload, the shoulder and elbow joints are good for about a pound at full extension. Right now, the wrist joints Are the limiting factor as the little 35mm steppers barely overcome the startup friction of 3D printed gearhead. When the gripper is extended, the first wrist joint (J4) and only lift about 1/2 lb. The tricky part is getting the 40p gears printed cleanly enough for both low-friction and low-backlash. I'm using a 0.35mm nozzle, but I really need to try reprinting with a 0.25mm nozzle. I'm tempted to get SLS versions of the wrist actuators printed, but that takes this out of the realm of a DIY hobby project.

As for repeatability, I haven't measured this with any accuracy yet. However, unidirectional repeatability (approaching a point from the same direction each time) is maybe about a millimeter, and less so for multidirectional repeatability (even with a gravity bias on the joints.)

Hey, thanks!. Yes, I am familiar with the Mechaduino (I've got a couple floating around). I'm definitely a big fan of closed-loop stepper control, but there are a couple of reasons I didn't go that route: I needed something to use with the smaller 35mm tin-can wrist motors that don't have a good backshaft for the encoder magnet, the board is a little bigger than I'd like, I would have had to do a lot of modification to the code to support coordinated motion and 4-wire bus communications, and they are a little more expensive than I'd like for a hobby project.. The bigger thing, though is that the 3D printed compound planetary are non-backdrivable which makes many of the features you mention extremely difficult to implement effectively. (I've used to have a company selling force-controlled robots many many years ago.) For a more serious robot development, though, I'd definitely go to the extra effort of closed-loop control.

Thanks for the detailed answers!
Having a force-controlled robot company sounds awesome, can you share more info about the robots you used to sell?
I'm planning to build a 7axis(4 torque controlled stepper + 3 torque controlled smart servo) open source 3d printable robot arm based on the Barret WAM arm, I planning to use timing belts and differential cable drives, hopefully with this design i can have a fully torque controlled collaborative arm. I have no experience in building robot arms, so what do you think, is this a good direction?

The company was Zebra Robotics, and back in the early 90's I sold a handful of force controlled robots to mostly university and corporate research labs. The arm had a 6-axis wrist force sensor and I used a novel stiffness model approach where I mapped desired forces into deflections of the actuators. Here's a link to an ancient video I did: https://youtu.be/7dl0U3rq9Ss

Regarding your proposed project, designing a robot arm is tricky enough, but designing one for low-level torque control is even more ambitious because you need a full dynamic model of the arm, very low friction actuators and a low-mass arm. A simpler approach is to use a 6-axis force sensor, although this doesn't help you detecting collisions at, say, the elbow.

Thanks for sharing the video, awesome robot arm and demonstration, this tech is pretty advanced even with today's standards.
If I have the time, I'll make the robot arm without the force sensing capabilities, then I'll start figuring out how to add the torque sensors.
Thanks for the advice!

I will be grateful for your help in flashing.

Here's a video that might help you get started with reflashing the Tic T500: https://www.youtube.com/watch?v=81ho9Y28dXI. Note you'll also need to refer to my firmware modification PDF file to see where to connect up the pins PGC, PGD, Vcc, GND and Reset.

Thank you very much for the movie.
I still have a question - is Vcc, it means Vin or 5V (outside)? Mark on the Tica board.

When connecting the PICKIT 4 to the Tic T500 board, you should connect the PICKIT's Vdd to the Tic's +5v (out) pin, and the PICKIT's Vpp to the Tic's RST pin. Also connect GND to GND, PGD to PGD and PGC to PGC.

Thanks for the tips.
Now I will know and I will not make a mistake.

After reading your pdf, I have a question about addressing.
Can you write to me punt after point as you approach the addressing of individual points.
I mean, how should the host and other modules be set up. Can you send me an example
print scren settings. I think I can have a problem here, that's why I'm asking. (how to set up the host, and set other modules)?

When I get a little more time, I can work on a tutorial setting up the host serial port, programming and configuring the modules, etc..

In that case, I will wait patiently for your toturial, I hope you will find moments in the near future.

Thank you for your response.
I have looked through the files and I have to say that the biggest difficulty for me is loading the tic firmware.
Are you able to write a short instruction for this fragment, how to do it step by step (eg connecting wires, which file to upload?), Or screenshots?

Yes, having to re-flash the microcontroller is unfortunate. Firstly, you will need a PIC programmer - probably the PICKIT 4 (https://www.digikey.com/product-detail/en/microchip-technology/PG164140/PG164140-ND/8536593) is the cheapest and easiest option. Microchip (who makes the PIC processors) has a bunch of video tutorial - I'll have to look around and see if I can find one most closely applicable.

Thanks LoboCnc,
I will post a picture when I build this.

Hi, I would also like to participate. Please post the STEP file.

Can you publish an electrical connection, diagram?

Here's a link to a shared Google Drive folder with documentation on the modified Tic T500 controller boards, and also the firmware source code and Windows test utility program. The PDF file in there includes connection information. Let me know if you have any questions.


This is a very nice design.
I would also like to participate. Please post the STEP file.

Any chances getting anything more then just STLs? I would love to participate.

Sure! I'd be thrilled to have any help or input on this project. I'm using Solidworks 2011, so I could post those files or I could post STEP files - which would work for you?

STEP will do. I work with Fusion 360 (Solidworks was out of reach financially =) Usually it is good with importing whole assembly thing from Solidworks.

A step file of the entire assembly has been posted. I welcome the shared enthusiasm!

This is incredibly cool.

Have you thought about an approach based on Trinamic drivers-- since they have programmable current per phase and stall detection, so you can detect when you lose steps and also detect when you have reached endstops for homing?

Thanks for your comments! Yes, stall detection would be pretty handy, but the Tic controllers had the right form factor and I had the ability to reprogram them with code to support coordinated motion with distributed controllers.

About the Gripper
What about using a Linear Actuator and a cable (like a bicycle brake caliper)?
In my opinion that would get the noisy stuff off the arm and also might be stronger then any motor you could put on the arm.
Running the cable might be a problem though...
All in all it seems like a well done project, Good Work

A brake caliper gripper sounds like a good idea, although the cable sheaths are really stiff. I could see this working for a particular application but it might be a bit cumbersome for general use.