Compact Strain Wave Gear Actuator(s)

A compact modular design of the strain wave gear for general robotic applications.

Similar projects worth following
Strain wave gear (a.k.a Harmonic Drive) have been widely regarded as one of the most efficient and accurate transmission gear designs. These gear sets are expensive and hard to be manufactured. I have therefore implemented a self-design 3D printable Strain Wave Gear actuator. Unlike other 3D printable gearbox design, this design features a complete gearbox actuator, meaning that this is a direct drop in for robotics applications. The available ratios are 1:31, 1:21 and 1:15. The result is an actuator that is robust and back-lash free.

Final set test (1:15, 1:21 and 1:31 ratio).


  • Strain wave gear, ratio 1:31, 1:21 and 1:15
  • Weight (no motor): 1241.1 g (1:31)
  • Overall diameter: 145 mm
  • Cooling: passive
  • Backlash: < 5 arcmin

stp - 4.25 MB - 05/25/2019 at 17:24


stp - 5.30 MB - 05/25/2019 at 17:23


Standard Tesselated Geometry - 756.53 kB - 05/25/2019 at 17:22


Standard Tesselated Geometry - 1.15 MB - 05/25/2019 at 17:22


Standard Tesselated Geometry - 308.68 kB - 05/25/2019 at 17:22


View all 25 files

View all 6 components

View all 4 project logs

  • 1
    Assembly timelapse video

View all instructions

Enjoy this project?



raspi wrote 10/12/2020 at 02:20 point

I enjoy your work. I am interested in creating a strain wave gear assembly. I am reviewing the 1:31 unit step file because I am using NEMA 23 motors. I found that the motor shaft does not connect to any part within the unit. Is this something you overlooked?

  Are you sure? yes | no

Jesse Schoch wrote 04/23/2020 at 18:41 point

Thanks for posting this design!!!! I would love to see some torque numbers on the prototypes you made.  I did a quick prototype in PETG and it seems to work pretty well.  I shrunk it to fit a 70mm ID bearing and ran out of room inside the wave generator so I made an elliptical bearing which turned out pretty good.  Here is a link to my thoughts on doing a printed elliptical bearing.

  Are you sure? yes | no

Jesse Schoch wrote 04/25/2020 at 19:23 point

I did some torque testing today on a PETG 77% scale version.  I was able to move around 900 grams at the full RPM of my drill input and stop immediately with no failure.  Ratcheting occurred at around 8Nm.  It is notable that the full assembly was not completed and the outer ring was riding loosely on the bearing with about 1mm of potential axial play.  The wave generator was also not firmly fixed in position and I noticed ratcheting would occur if it crept out.  The best torque was observed when it was seated fully inside the flexspline.  I'm interested in what results others have seen?

  Are you sure? yes | no

Jarrett wrote 04/25/2020 at 21:31 point

Close some damn Chrome windows! :P

(Good video)

  Are you sure? yes | no

its_not_drew wrote 01/01/2020 at 10:04 point

I really like this design. I am working (probably foolishly) on integrating a 3D printed bearing into this design to avoid the cost of the crossed roller bearing. Photo here. I have just completed the build and waiting for controller to arrive to test the motor.

  Are you sure? yes | no

Ngo Nhat Huy wrote 10/02/2019 at 07:11 point


Can you tell me what material of FlexSpline?

I don't know what is it ? PETG, TPU or Nilon ?

  Are you sure? yes | no

cvabc wrote 07/23/2019 at 05:43 point

Best 3D printed strain wave reducer seen so far! I wonder is it back drivable? Also I am waiting for your experiment results on maximum torque.

  Are you sure? yes | no

ProjectMayhem9000 wrote 07/13/2019 at 20:32 point


We are in the US and ordering the ‘big bearing’ (*** See below!). Has anyone located a US supplier or perhaps a MasterCarr link we could purchase this from? Or maybe a cheap alternative for quick prototyping? Lowest we found is about $150. Thanks so much!

RB9016UUCC0 P5 Crossed Roller Bearings (90x130x16mm) Machine Tool Bearing TLANMP type High rigidity Medical Device Bearing***

  Are you sure? yes | no

darkomenz wrote 06/22/2019 at 15:50 point

Do you have a parametric version of this design?

  Are you sure? yes | no

Leo Vu wrote 06/28/2019 at 14:33 point

I do not have one that is shareable, apologise for the late reply.

  Are you sure? yes | no

warrumungi wrote 06/10/2019 at 02:43 point

Very well done, the most serious attempt I've seen so far with a 3d print of one of these. What kind of tooth profile did you use for the circular and flex gear: normal involute?

  Are you sure? yes | no

Leo Vu wrote 06/11/2019 at 01:09 point

Yes, I linked some papers and materials that I used for tooth involute in the project log section.

  Are you sure? yes | no

Pontus Borg wrote 05/29/2019 at 11:11 point

I'm trying to build the mid sized version, 1-21. I wonder what bearings you used for the ellipse drive? 3x6? 3x8?

It looks like the ellipse drive is far too big. It fits perfectly in my gears without the bearings, just using on the heads of the M3 hex bolts. At least I can see the strain wave moving, it looks like your teeth profiles fits really well and is smooth running.

I printed the spur gear in PP to get a very smooth ride. It might be bad for the backlash since it is quite flexible. We will see once the ellipse gets sorted.

  Are you sure? yes | no

Leo Vu wrote 05/29/2019 at 16:07 point

Forgot to mention that, I used 683ZZ 3X7X3 for both of the smaller one. Do note that I only used 4 of them not 8, because the teeth are quite large and the curvature of the smaller one doesnt really allow smaller motors to output enough torque for the rotation. In additional, even two bearings are viable as the smaller gears dont tend to vibrate as much as the bigger one.

Now come to the size of the wave generator. Once you have the bearing in, the bolts are squeezed inwards for the bearings to fits the inner curve, that is the pretensioning for zero backlash. However, I believe that most of the printers out there suffer dimension problems. This is due to the nature of FDM 3D printer, link here:, and your part maybe too much oversized, maybe due to the material used, I dont know. I printed my part on the Markforged Mark 2, which itself has compensation. Not to say that it is 100% accurate, but it worked for me. 

What you can do is try to scale down the part, either uniformly or just the longer axis. Then drill the holes for the bolts. Don't use an oversized drill bit because if you look carefully you will see that I designed a built-in spacer for the bearing to rotate smoothly even if you over tighten the bolts. I will also try to print one on my custom printer to check, I guess it should also be bigger than the part printed on the Markforged. I will see what scale I need to set for it to fit. 

  Are you sure? yes | no

Pontus Borg wrote 05/29/2019 at 21:23 point

Thanks for the reply. Measuring the CAD model I can see that the ellipse drive is  1mm oversized. Measuring my printed model it looks about 2mm oversized. The extra mm is probably from the extra ~0.2 you get from each printed surface connecting to another printed surface. Scaling or some CAD work will get it sorted.

My printers produce very exact measurements, size difference are mostly down to the surfaces not being totally even. 

I'm reworking the model to be smaller. Same gears but smaller outside. I want to use it on a parallel Scara arm I'm working on and I do not need that beefy (and expensive) cross roller bearing. 

  Are you sure? yes | no

Leo Vu wrote 05/30/2019 at 10:44 point

Sure, feel free to modify the parts as you need as long as it is not for commercial products.

  Are you sure? yes | no

Tyler Gerritsen wrote 05/25/2019 at 19:59 point

Nice work!   How did you measure backlash?  Is there any way to decrease it?

I'm also interested in max torque.  This may be useful for telescope mounts...  Cheers! Tyler

  Are you sure? yes | no

Leo Vu wrote 05/26/2019 at 10:37 point

The output flange of the gearbox was mounted to a 100 mm VSlot and then calibrated to touch the dial indicator at 50 mm mark on the bar and 0 mark on the indicator. Then the motor was set to move 2 step at full step mode many times. The dial indicator ranged between 2.05 - 9.2 indicating the max backlash of (2 * 1.8 / 31 * 50 - 2.05) / 50 = 0.0752 deg, around 4.51 arcmin. So to be safe I just say that the maximum backlash is around 5 arcmin.

With my stepper motor the gearbox has already provided quite a good resolution, as you can see there I had to use a very short vslot distance to make the measurement in range with the dial indicator. Provided that I have had a better resolution motor, I would still not benefit much since if I make the size of the wave generator tighter to reduce backlash, teeth deformation would certainly cause extra play (not backlash, but mechanical deformation).

  Are you sure? yes | no

Tyler Gerritsen wrote 05/26/2019 at 13:57 point

That's a clever method of measuring backlash.  Good point about the added play, it would also probably require more torque from the motor.  Thanks!

  Are you sure? yes | no

amr_sayed95 wrote 05/25/2019 at 16:45 point

Awesome job that looks one of the most robust 3D printed strain wave gear I've seen so far. I will definitely consider your design in the arm I'm building
Could you please upload the step file of the 1:15 and 1:21 too ?

  Are you sure? yes | no

Leo Vu wrote 05/25/2019 at 17:27 point

Yes sorry I thought I uploaded them, somehow the file management systems messed up the files with the same name. I uploaded the stl as well as the step files for the 1:15 and 1:21. 

Remember that you need a very precise printer to print the circular spline, the flex spline and the ellipse drive (wave generator). I used my Markforged Mark 2, if say your ellipse drive wont fit you need to scale down some part while scale up some other part, best to go slightly with finer details. 

  Are you sure? yes | no

amr_sayed95 wrote 05/25/2019 at 18:03 point

Thanx man I guess I will try to play with the printer settings a little bit and calibrate it to get good results .  Good luck with your robotic arm it looks awesome !

  Are you sure? yes | no

Michael G wrote 05/25/2019 at 02:08 point

Have you tested for backlash or hysteresis? I imagine these could put to a decent amount of torque -- though I'm curious as to how rigidity compares to something like similar-cost planetary gears once you account for flexing in the 3d printed components. Very cool and will follow along

  Are you sure? yes | no

Leo Vu wrote 05/25/2019 at 08:12 point

Yes I dis use a dial indicator for backlash measurement, although not officially. The reason was that I will eventually replace the Nema 23 motor with a bigger closed loop hybrid motor that is capable of outputting far better resolution, hence the better precision for backlash measurement. At the moment the max backlash is as suggested 5 arcmin, can be smaller I dont know because that is the maximum reliable resolution I get with the motor.

About the rigidity, I have been messing with these type of 3D printed gearbox for around 2 years since I saw Simon Merrett's video about it on youtube (who I believe is also on Hackaday, The thickness of the flex spline was adjusted many times to maximise the strength of both the ring and the teeth while keeping it fairly flexible for radial deformation. Each of the different ratios have different thickness for the flex spline ring. I am fairly confident that before the part broken by deformation it will have greatly deformed by the heat from the fiction, hence the large amount of silicone grease as in the assembly timelapse video. I once run the 1:31 ratio gearbox continuously around 52 hours and I believe the whole thing is just slightly hotter than normal due to the heat dissipated from the motor itself, without anything break of course.

The strength of the teeth is another story. Deflection and backlash could certainly come from teeth deformation under high load, although I used module of 1.25 mm that is fairly large for a gearbox. As mentioned in the previous reply I will have to wait for the motors to come from China, then testing with the robot will be much easier. 

  Are you sure? yes | no

Sergey Omelchenko wrote 05/21/2019 at 13:41 point

Have you measured max torque? Very curious on that

  Are you sure? yes | no

Leo Vu wrote 05/21/2019 at 13:47 point

No I have not. But I will definitely do that because I am using this gearbox for my 6 axis robot. I am waiting for the motor to come.

  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