3D Printed Harmonic Drive

for a robot arm.

Stuff From Amazon

29 December 2025

Adding ball bearings and using heat set inserts.

When my ball bearings arrived I 3d modeled a way for them to be carried in the drive and started the print.


I switched from a version where there are ball bearings that connect to the wave generator

to a version where the ball bearings are placed around the outside of the wave generator which from videos i've watched, is more efficient than my old design.

The first issue I had was mostly my fault because I had to figure out size the wave generator so that, with the balls between it and the flex spline, it would still allow the flex spline to interface with the circular spline.

But when I printed the first wave generator of this new version I realized that it was no where close to being able to fit all the balls

so I checked the CAD again and realized that because I was drawing the ellipse of the wave generator with its diameter I needed to multiply the diameter of the ball by 2.

For my second iteration I also decided to print the flex spline out of tpu because when I printed it out of pla the first time it cracked in half when I was adding balls.

I my Bambulab h2d to print all of the parts but the one problem it has is that the ams doesn't support tpu, so Bambu recommends using the AMS HT which is another $100 on top of the already $2000 printer which I didn't want to pay.

So the solution I used was to open the lid of the printer and put my AMS on the side of printer, then remove the ptfe tube and feed the tpu from the spool, which is in the ams so that it can roll around on the rollers, into the printer in a really akward setup, which is why I didn't want to print tpu for the first iteration.


The first version of the new design had one big problem that because each ball bearing I used was 1/4" in diameter when I put them between the flex spline and wave generator there would be a very small gap, that when the peak of the wave generator touched it, it would cause the torque output to drop very low for a split second. The gap also caused a really loud rattling noise

You can see the gap in this slow motion video I recorded


I decided to make the inner diameter of the flex spline smaller so the gap would be smaller but after printing all the parts the gap was still there, just smaller. I also decided while I was designing the second version to make the gear ratio higher by adding more teeth.

Also after that design I ran out of black filament so the new parts are red.

The next iteration I made had ball bearings on the bottom because I saw that the motor was losing a lot of its torque to just the wave generator rubbing against the housing.

You can see how I fixed it in this video


And heres the Onshape document.


This might be the last devlog on this project for a while because I think the current harmonic drive is good enough for the robot arm i'm making.