Does this project spark your interest?

Become a member to follow this project and don't miss any updates

Affordable, Programmable Robot Arm

Building an open source robot arm for makers and small businesses

Similar projects worth following

This project was created on 04/28/2014 and last updated 5 hours ago.

Industrial arms starts at $10k each and go up from there. With low cost hardware everywhere now, I see a market opportunity for low cost arms to serve small industry. I'd like to drive the cost down by making an arm that others can tinker with, improve on, and build community around. I'd like to see two arms assemble a third.

Tell Elon Musk I need his rockets - lets put Marginally Clever robots to work building that lunar colony.

I don't know what to write here that isn't covered elsewhere. Ask questions?

Like what you see? Support me on Patreon.

  • 2 × linear actuators + controllers and just a soupçon of joy
  • 3 × NEMA17 stepper motors + controllers
  • 1 × MEGA 2560
  • 1 × Custom controller PCB shield for MEGA
  • 10 × bearings of various types
  • 2 × metal brackets
  • 6 × touchless continuous hall effect angle sensors
  • 1 × PC power supply slim profile, 500W
  • 1 × Raspberry Pi or other high level interface for MEGA 2560.
  • 1 × USB wifi dongle wifi access for Pi

See all components

Project logs
  • How to Design a Tool for the Arm

    2 days ago • 0 comments

    I based the current wrist on this camera quick release. As long as your tool has a part that matches then my robot should be able to pick up and use your tool.

    The PCB that is coming has a 12v power line and an RX/TX pair (with ESD protection). The 12v line can be turned on and off from software. That way you can communicate with and power the tool.

    Now go to it!

  • Movement success!

    3 days ago • 0 comments

    It's very early days, but I've got great big news: I have now got controlled movement on all five axies.

    Most of the day was spent testing electrical connections to my sensors and getting them to reliably deliver meaningful data from all five axies at once.

    I also reprinted several pieces to correct for printer ...drift? I ask for a 6mm hole, I get a 5.7mm hole.

    Same goes for pegs - usually oversized.

    After dinner I meant to play Rock Smith but, obsessive that I am, I went back to the robot and started implementing my first PID loop.

    Since the sensors are delivering data all the time, I call gcode M114 to get the current sensor values. Then I call G0 [A/B/C/D/E][angle] and the PID loop kicks in to move that motor or actuator until the sensor value matches the target value.

    Most of the first hour after that was spent hovering nervously over the e-stop while I unscrambled (in software) the motor/sensor relationship. Several times I said "go left" and the motor in question went right. ESTOP ESTOP ESTOP! One time the piston lifted the front end of the arm off the table. I wish the wrist were that strong!

    The sensor magnets are really Goldilocks. For example, if the arm moves far enough back then weight compresses the anchor sensor downwards until the magnet is too close (papa bear). I imagine if I make the arm stretch out too far the opposite will happen (mama bear). I want it to stay baby bear all the time.

    The next couple of days I'm waiting for my custom PCB to arrive. The time will be invested finishing an article for MAKE magazine and tweaking code in the Makelangelo

    I asked HAD.IO to work on instagram integration. They say they're working on it.

  • 3d printing test fits

    3 days ago • 0 comments

    Nothing sucks like printing part that has to be sanded to make it fit.

    Over the weekend I printed several pegs and holes of graduated sizes to find the right fits. Then I went back and adjusted my 3D models with the new tolerances. That really bothers me - do I bake the tolerances into the original model? Maintain a version with ideal+correction? Both solutions are ugly.

View all 43 project logs

Build instructions
  • 1

    Instructions so far:

See all instructions


Andrew Becker wrote a year ago point
Hi Dan, sorry for the long delay, I took my family on holiday and decided to leave the hobbies behind. I have already had a good look at your project and it looks great, I would be more than happy to share my work with you, I'm also very curious as to what control system you're using.

Are you sure? yes | no

Dan Royer wrote a year ago point
The software is home-grown. The electronics are a RUMBA controller - think an Arduino MEGA and a super sized RAMPS board put together.

Are you sure? yes | no

Andrew Becker wrote a year ago point
So you are doing all of the forward and inverse kinematics from first principles? I've managed to logic out the geometric relationships for my arm because the axis pairs intersect which simplifies the maths. I've then moved all of that into excel to visualise it and plan on using that to implement it in Linux CNC. It works out fairly simple because the alpha, beta and gamma angles fix the position of the 3rd link in space, thereafter it's a matter of working back through each joint position. Because of the geometry I chose there is only one solution to the set of equations and it's not necessary to use matrices to solve. How are you handling it?

I have a Reprap Ormerod and initially I had some trouble with the software. It turned out that the PSU supplied was not supplying a stable voltage to the controller and when the heated bed switched on it would freeze. I went for an industrial PSU with a much higher rated amperage and the problem disappeared. It did however put me off using an arduino based controller considering how easily my first Linux CNC set-up went.

Are you sure? yes | no

Kevin Harrington wrote a year ago point
I had a random thought:
If you take that whole arm section and put it in a 2 axis gambol, centered around the elbow joint (with the elbow being the outside joint), you could get a true R-R-R spherical wrist, without twisting the belts. The entire section you have now would rotate around the center axis. With a circular track around the edge the track race could then form the elbow joint on the out side. You could actuate it with a third counterbalance motor and a gear interface to the outer track.

Are you sure? yes | no

Dan Royer wrote a year ago point
That's the first thought I had. I've skipped it for now to ... Work my way up? Also as the gimbal turns the wrist motors could collide with the shoulder assembly. I'm looking for a method closer to what existing arms do where the ulna rotation is between the elbow and wrist. I have some drawings and I'm saving them for later.

Are you sure? yes | no

Dan Royer wrote a year ago point
One of the things that drives my business most is customer feedback. You asked for it and I can do it, so I'll start posting here more. Given how busy I am it will probably be a copy/paste from my website, which may hurt my SEO.

Are you sure? yes | no

zakqwy wrote a year ago point
Thanks Dan. Great work so far, it's been fun to watch your progress as you develop the 4th and 5th axes.

Are you sure? yes | no

zakqwy wrote a year ago point
What are your thoughts on putting more info on I'm less likely to click through for project logs or other updates, it's easier to read everything in one place (and comment on it here, too).

Are you sure? yes | no

Similar projects