Let's Make Robots!

Worm Gear Servo build

Update 12-6-14

Hand mounted on arm



Tried this way too....


Finished product... well, nearly, still need to finish the controllers... and now working on elbow and wrist joint designs

intiial design...


Click on picture for YouTube video!

I'm making some worm gear servos for my BRP's arms, right now I have the mechanical idea down, still need to get the electronics side down. Initial test shows they will be stronger than needed and some type of protection clutch is in order.

I cleaned it up a bit today. next I'll redo the inner frame to allow mounting options.

Click on picture for YouTube video!

BDK6 (thanks BD!) found this chip that looks like just what I need to make these into real single wire servos
I need to figure out a good circuit to allow for 12 volt/<1amp motor  and then will learn how to make a PCB.... 
The example circuit looks fairly close. 


UPDATE 7/8/2014

I received my materials rather quickly and managed to make the updated version of the inner frame....

UPDATE 8-12-14

NJM2611 servo controller circuit testing

Making rotating servo (shoulder joint?)

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Cool, it's been a long time since I saw this blog. You've really progressed well Rox. I love the arm!

yep, having a milling machine at hand and being able to operate it does make a big difference :)

Great design and manufacturing!

I've noticed that you are planning to use worm gears, while they provide great power the joint is not going to be flexible to external forces and the gear may get damaged if you inadvertantly push the arm too strong. In the normal gear the force is limited by the power of the motor (the gear has been designed for that power) and if you push the arm too strongly it will simply yield.

Nice job Machine Girl :D


I wish I had your machining skills. Those are gorgeous enough to make a German or Japanese auto-engineer cry.

I'm actually quite a hack and ruin too many carbide tools!

Nice work Roxanna.

Have you decided on what sort of position feedback you'll use?

I keep hoping to find a way to accurately determine the position of a continous rotaion servo. One of my experiments involved using magnetic absolute position encoders. I made some small PCBs (the size of the pots in a servo) for the 12-bit AS5055 sensor.

The sensor needs to be paired with an appropriate magnet. A sensor like this might work for your arm.

If you're interested in more information about these sensors (and software to use them) you can take a look at these two threads on the Parallax forum.

Of course you may want to just use a pot but I'm not a big fan of poteniometers since they tend to wear out. The magnetic encoders (and optical encoders) don't have the same problem.

I was only looking at using pots, but now... these look way better! Way cool!!  

Duane, Roxanna,

I will be using a RoboClaw motor controller from wwww.orionrobotics.com, partially because it can read encoders going very quickly. If you put an encoder on the motor (before the gearbox) I'm hoping this will make it more accurate. I haven't been able to test it yet, but I should be able to soon.

Another possibility is to use the Dynamixel servos. You can get the absolute position of the servo, but I've asked if they could add another variable to return the absolute multi turn position. For example, if it's gone around exactly 2.5 times, I'd like this to return the equivalent of 900 degrees (360 * 2.5). And their MX series uses magnetic encoders.

This is excellent!  Coming up with elegant and powerful joints is not easy.  This looks like one of the best I have seen anywhere.  Nice work!  I have been building an arm the last few months and have been kind of stymied by exactly the problem you have solved so elegantly.  I have tried several solutions and not been happy with anything I have done.

Why not do a current flow sensor to protect the joint from going over the range of motion and having to do a clutch?  I am no expert so might be some real good reasons not to go this route.  

What did you use for a wormgear on this?  If you could post more details, that would be appreciated.  I was going to make an order to servocity this morning for my next iteration on the mechanics, but there might be some better hardware I haven't found!  Thanks.



The system I suggested is a backup system. Because it is very simple and basically mechanical it will not fail if there is a mistake in your code or a problem with the current sensor.

There are 2 potential problems with a current sensor system.

  1. If the motor is under heavy load this could be confused for being at maximum travel.
  2. The gears must already be under strain before a current sensor detects the limit. Well positioned switches avoid this strain.