Open HD

A high torque, high precision, Strain Wave Gear (harmonic drive) based 3D printable closed loop servo actuator for use in robotic arms

Public Chat
Similar projects worth following
The primary goal of this project is to develop harmonic drive / BLDC based servo actuator that is suitable for use in automation applications where end point loads are under 5kg. Secondarily, it would be amazing if I can get the production cost down to a point that allows me to sell complete servo units at $200 or less.
  • Custom motors!

    Sam Armstrong10/27/2018 at 19:52 1 comment

    Placed an order for my first batch of custom Open HD 8318 motors.

  • Flexspline Racheting

    Sam Armstrong10/03/2018 at 07:27 1 comment

    I thought this would be worth publishing a log about.

    While preforming a load test I found that the flexspline will start to rachet if too much reverse torque is applied. I find this interesting, I was under the impression that the first mode of failure with this version of the flexspline would be the teeth shearing off.

    I'll be working on a fix for this issue over the next few days. A few ideas in mind have are:

    • Use a less ductile TPU (I have various types on hand)
    • Change the tooth profile
    • Print the teeth and one boundary layer (in Cura slicer "wall line") in nylon and leave the structure of the flexspline printed in TPU

    I've also been given a suggestion by Gabrael Levine, the designer of OpenTorque Actuator, to alter the wave generator geometry to keep a preload on the flexspline. I shall see what works best and include it in the next Open HD revision.

  • V 5.1

    Sam Armstrong09/17/2018 at 01:47 6 comments

    V 5.1 is a general refinement sweep 

    That brings a revised wave generator, fixed spline,  and output shaft assembly. There are now 3mm dowel pins of various lengths (40mm, 14mm, 8mm) placed throughout the fixed spline as well as output shaft assembly for precise mating and added structural support. 

    Changes to the wave generator were primarily processes focused to make their manufacturing simpler to automate. List of component changes:

    • Raceway refinement / re tolerancing on both inner and outer races
    • Precision fix so that all component heights are formatted in exact print layer height units
    • Ball cage re tolerancing and added a snap-off sacrificial adhesion feature to the bottom layer
    • Added 22mm through hole to all output shaft components for slip ring connector

    Changes to the fixed spline consisted only of two component changes and some slight procces refinement.

    • Added ~2mm to OD to allow for the addition of 3x40mm dowel pins
    • Added features for mounting fasteners to the body

    Changes to the (upper) output shaft assembly

    • Added 22mm through hole for slip ring connector
    • Reduced total number of fastening and mounting screws in the upper assembly to from eight m3 to six m3, and in the lower assembly from eight m3 to three m3 as to allow for the addition of indexing and structural dowel pins
    • Added Indexing 3x8mm dowel pins to the assembly for precision mounting of the encoder wheel
    • Slightly reduced the resolution of the encoder wheel to fix precision error in printing
    • Switched the rigid component of the flex spline from being printed in polycarbonate to ABS due to PC cracking repeatedly (TPU and ABS components of the flex spline are printed as a single part)

    Integration of the still unfinished encoder head also came with the V 5.1. Currently the encoder head is using a transmissive photointerrupter (link). I will be switching to a Broadcom reflective sensor in the future, but for now I have some stock of the EE-SX1108 and they work fine as a placeholder till then.

  • Integrated Motor Running

    Sam Armstrong08/11/2018 at 00:40 0 comments

  • Open back operation

    Sam Armstrong08/11/2018 at 00:37 0 comments

View all 5 project logs

  • 1
    Assembling the wave generator

    The only post processing that needs to be done on the parts prior to assembly (inner race, outer race, and ball cage) is polishing the surfaces and cleaning up any printing artifacts.

    Pre and post processing on the races and ball cage:


    The only assembly steps after post processing are:

    1. To slide the ball cage and outer race over the inner race and then rotate the outer race so the ball cage is aligned with the indents on the outer race.
    2. Place a 1/8in steel ball in the indent and press into place with a tool (takes quite a bit of force), repeat 100x
    3. Greace the bearing and its ready to be broken in

View all instructions

Enjoy this project?



Rohit wrote 07/26/2020 at 18:13 point

HI please provide files for the amazing project

  Are you sure? yes | no wrote 05/11/2020 at 11:42 point

Amazing project! The last updates have been written a while ago, are you still working on this project? I would love to see the current state and maybe you are already far enough to upload your files. Best regards! :)

  Are you sure? yes | no

bozkurt13 wrote 12/26/2018 at 19:34 point

3B Basili parça dosyalarını yayınlayacak mısın? heyecanla yayınlamı bekliyoruz. Yapmayı istediğim projemde kullanmak çok isterim. Şimdiden teşekkürler.

  Are you sure? yes | no

Tyler Reid wrote 11/07/2018 at 23:45 point

Where are you at in this project? We are starting a robotic arm project and have been debating on whether to pursue a printed gear reducer or used Harmonic Drives. This looks like it could be a compelling fit for us!

  Are you sure? yes | no

Sam Armstrong wrote 11/14/2018 at 21:39 point

Hey Tyler, as far as a ready for use and tested design goes, I'd say 3 more months. But I won't have the capacity to produce and sell them for another 9 months to a year. Once I finish the first round of thorough testing with the custom motors I'll post the part files.

I found an issue with deflection in last iteration of the design and have been working of fixing that. Also, I decided not to post files until I have a working encoder ready to use with it because it kinda doesn't make sense to use the drive without one.

  Are you sure? yes | no

John Lauer wrote 10/16/2018 at 07:17 point

Do you have the 3D printed parts files available? I'd love to try to make one of these. I've been wanting to do the same type of project and love that I found this one.

  Are you sure? yes | no

Sam Armstrong wrote 10/16/2018 at 22:43 point

Hi John, stl and part files should be available in about 3-5 weeks. Things have been progressing quickly on my end over the past couple weeks. I want to make sure everything lives up to a minimum standard of usability before I publish the first round of files. Just so you know, the first round likely wont include working encoders. I just started to dig into the encoder redesign last week. 

Also, if you do end up printing your own once they are available I'd love a critique and feed back.

  Are you sure? yes | no

M.d.s.kemp wrote 10/12/2018 at 17:32 point

I was wondering what BLDC motors you are using for this project? 

  Are you sure? yes | no

Sam Armstrong wrote 10/13/2018 at 20:52 point

Hello, Initially for testing I have been using:

For the production gear boxes I've been designing two different motors, one large (8318) and one small (8315). Both should still be quite torquey. I'm placing the order for the first batch of 8318's on the 20th of this month.

Here's the 8318:

  Are you sure? yes | no

M.d.s.kemp wrote 10/15/2018 at 00:29 point

Awesome, thanks! I see the JD powers have a order min of 50 pieces? I also saw in one of your images that you are using Tiger motors? How were those working for you? 

Any idea on the rough torque outputs of your custom designed motors?

Also, I see you are using flexible filament for the flex shaft, any reason you wouldn't just use nylon with a thinner wall? I don't think you would see the back driving with a more rigid material?

  Are you sure? yes | no

Sam Armstrong wrote 10/15/2018 at 22:02 point

No problem! The quantity threshold on the JD power motors is new... if you send them a message I think they will send you a single unit. I purchased a second unit yesterday and had no issues. As for the t-motor gb85-1, I salvaged those off an old gimbal I bought from someone. I only got them because it was a great deal at $150 for the entire gimbal! They didn't see more than a day of testing with the Open HD. Not the form factor I was looking for.

I really need to do some testing on the stock motor I have that the Open HD 8318 is based on. I don't have a setup to do that atm. I saw that you are in the Bay Area? If you have a way of characterizing torque, I have the motor and driver to do it. I'd gladly let you borrow it for a bit to do so (could also print adapters/mounts for anything that might need it). 

As far as the flexspline being printed in TPU, it's because the tapered section needs to be able to radially deform a good bit to accommodate the wave generator. I plan on testing a nylon flexspline sometime soon, but for a different harmonic drive design that i'm working on that doesn't experience a significant radial deformation.

  Are you sure? yes | no

Gravis wrote 09/19/2018 at 21:21 point

Are the files going to be posted somewhere so that we can make our own?

  Are you sure? yes | no

Sam Armstrong wrote 09/19/2018 at 22:12 point

Hey Gravis, indeed they will be once complete.  I estimate 3-4 more months until Open HD is in what I would consider to be a usable state. I will publish files then. I'm getting some custom 8318 BLDCs made to pair with Open HD, once I have those in hand I will be able to give a more certain time frame.

  Are you sure? yes | no

Simon Merrett wrote 08/16/2018 at 16:27 point

Wonderful work Sam. Please could you do a log on your flexible bearing design? I had a go but mine was rubbish!

  Are you sure? yes | no

Sam Armstrong wrote 08/16/2018 at 17:48 point

Thanks Simon, glad this project caught your eye! I will. I’ll be adding much more info starting a week from now. On vacation at the moment

  Are you sure? yes | no

Sam Armstrong wrote 09/17/2018 at 03:17 point

Hey Simon, took a bit but I've posted info about the wave generator 

  Are you sure? yes | no

Simon Merrett wrote 09/17/2018 at 21:50 point

Looking good! Nice to see so much detail and a change log already. 

  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