MPRT - Modified planetary robotics transmission

The reduction of strain-wave, but using a 'single' stage planetary gearset.

Similar projects worth following
This is a compact, 'single' stage planetary gearset where the output is derived from a second ring gear varying a few teeth from the primary.

With the initial model of 18 sun teeth, 60 ring teeth, and 3 planets, this resulted in a 'single' stage gear reduction of -82.33:1.
A regular planetary gearset of this size would have a reduction ratio of 4.33:1.
That is a whole lot of torque in a small package.

The design is thin, flat, equal height for the gear stages, and nearly all of the force is applied right at the edge. That would lend itself really well to being laser cut and driven with a pancake BLDC motor. The ability to use larger teeth and a larger sun gear also works well for 3D printing.

So this begs the question. Wanna build a robot with this? Let's collaborate...

Using it!

I've decided I need a transmission for testing out the #FilaMecanum concept, so this is going to be it.


First I think I need to explain how a normal planetary drivetrain is constructed.  

The power input turns the sun, and the sun drives the planets which rotate within a stationary ring gear.  The planets are mounted to a carrier with bearings, and the carrier is where you take your output.  

This arrangement gives you a gear reduction of:

To get further reduction, you can add more stages just like the above, all sharing the same ring gear.  The stages multiply, so 3 stages of 3:1 would give you a 27:1 reduction.  Problem here is now you need 9 planets, 9 bearings, 3 suns, 3 carriers, and 3 times the height too.

If you try to get more than about 3:1 reduction per stage, you end up needing fine teeth and a small sun gear.  Small sun gears don't survive very long unless made of some heavy duty stuff and so 3D printing/laser cutting that doesn't work so well.

How this works

The power input turns the sun, and the sun drives the planets which rotate within a stationary ring gear.  So far the same.

However, instead of taking your output from the planets, we allow the planets to just rotate within the ring, and cover them with a second ring gear.  The second ring gear is constructed to vary from the stationary ring gear by exactly numplanets teeth.

Now, on each revolution of the planets the two ring gears will advance with respect to each other numplanets teeth.  We take our output as the second ring gear and get massive gear reduction from it.  

This arrangement gives you a gear reduction of:

The result:

  • We can now use a much larger sun gear to drive the planets, and still get significant reduction.  Perhaps even wrap the perimeter of a BLDC outrunner.
  • We only need one bearing, which essentially supports the joint itself.
  • The vast majority of the force applied to the joint is right at the outer edge of both ring gears and drives both in opposite directions at multiple locations.
  • We can get away with using much cheaper materials to do it.

Picking a compatible gear ratio is critical, so here are the rules for the math required for the gearing.  The simplified version for 3 planets is use a multiple of 6 for both the sun and ring gear teeth, and then an output ring gear tooth count of ringteeth - 3.

And here is a video.


video of the laser cut MPRT

Open Web Media Project - Video - 4.57 MB - 05/10/2019 at 07:39



Fully parametric, minimal version

x-openscad - 6.13 kB - 05/10/2019 at 07:09



Put in same directory as MPRT.scad

x-openscad - 18.16 kB - 05/10/2019 at 07:10



Elbow design

AutoCAD DXF - 1.69 MB - 05/04/2019 at 14:28



360 plus laser cut design

AutoCAD DXF - 2.32 MB - 05/04/2019 at 14:28


View all 18 files

  • Printing, a lot.

    Daren Schwenke05/17/2019 at 22:51 0 comments

    The parts I needed to use this for the #FilaMecanum project are back to printing after a little battle with some printer issues.  About 70% of my four transmissions are done, but I still don't have a single one actually assembled.

    I have been saving the planets for last as I am going to do those in nylon, and I don't have a lot of that to waste on purging.

    <EDIT> All the PLA parts are done and I started on the nylon ones. 

    Some flailing ensued, but I'm now printing them.


  • The End Game

    agp.cooper05/12/2019 at 03:19 8 comments

    The End Game

    A project has to have an "end game" to steal the concept from Chess. There comes a time not to "chase the rabbit down the hole".

    While laser cutters are very precise, they still have the same accuracy issues common to CNC mills.

    Accuracy versus Precision

    When I was young a had a wind up wrist watch. My watch had a second hand, but it usually off by about 5 minutes a day. So it has a precision of 1 second but an accuracy of 5 minutes. Think about this as it is important!

    CNC machines are very precise, usually better than 1/100 of a mm, but how accurate are they? That depends on many things and how hard you drive them.

    When I first started using my CNC mill, I drove it hard and fast. The result was that my circle cut outs were visibly oval in shape and not to size (at least a 1 mm too small).

    When using CNC machines, it is necessary to slow down and reduce the depth of the cut (to unload the machine) and to compensate for the cut (i.e. conventional or climb cut etc) if you want accuracy.

    What I have noticed in the videos of the laser cut gears is that they suffer the same problems (but not so bad) as my gear box. Their gears are also noisy and wobble around.

    What this tells me is that laser cutters do not have the accuracy necessary to cut very fine gear teeth. Laser Cutting Services are going to run their machines fast as most clients don't have the need for high accuracy, especially in "Z".

    You can see from the image of the sun gear that the teeth are cut very precisely:

    That is at least to 1/10 of a millimetre. But the not very accurately, tilted.

    Another Laser Cutter Service Provider

    I seek out another laser cutter service provider. The one uses a bigger machine and is more expensive (~50%). But her can cut 6 mm plywood and acrylic. Nice.

    The kerf for his machine is about 0.3 mm versus about 0.15 mm for the previous service.

    Backlash Still Too High

    The backlash for my gear box is less than one degree (which is not too bad) but far too high for my intended application (a SCARA elbow). Although I can improve the accuracy of the gears by making the teeth bigger (i.e. change the diameter and gearing ratio of the gear box), and using another (hopefully more accurate laser cutter service provider), the backlash for the gear box will likely still be too high.

    There are still options that can be pursued. One thought is a lantern design:

    Here the accuracy is determined by the location of the socket and pin holes. The machine would very lightly loaded drilling (rather than cutting) these, so likely to be more accurate (than cutting). The pins themselves are very accurate.

    One advantage of the lantern design is I can cut  it with my CNC machine.

    But, for my application I think I may be better off exploring a belt drive and custom belt gears. Time is an issue as well.


  • Laser Cut Original MPRT Version

    agp.cooper05/10/2019 at 03:59 3 comments

    Laser Cut MPRT

    The irony that I am building Daren's design and Daren is build my design has not escaped me!

    I have got back the laser cut original MPRT:

    Now the fit is not overly tight (the laser cut width varies from top to bottom is more that the assumed 0.1 mm width. However the movement is less than a degree.
    Here is a closeup of the gear fit:

    Now your can't expect better than that! It does move, perhaps 0.5 of a mm.

    When I sent the design off to be cut I had not resolved what to do with the protruding star bolt heads. I should have just cut a hole in the retaining cover. But today I will just drill out or counter sink the bolt heads in the star gear.

    The Result

    My gear cover need work and the star gear is off-centre. Not sure why, changed the hub and still off-centre. May be a design fault or bad alignment or problem with the laser cut (it is not that accurate even visually).

    But I did get it working, sound like it is grinding sand. Wobbles a lot and sometimes stops for a moment and then restarts.

    I have uploaded a video into the files area.

    The result is it need more work.


    I pulled the gear box apart this morning. The axle and hub are true. There is a slant to the cut on the sun gear. This is a problem I have had before with this laser cutter service but I had not had to rely on the edge so it is was not important then. Gluing the gears together make the problem worse. I tried measuring the slant and it is at least 2 degrees:

    May not sound a lot but it is too much for a gear box.

    If I pursue the laser cut gearbox, I will have to find another laser cutting service and there has been for a long time only one that is "retail".   


  • Latest

    Daren Schwenke05/09/2019 at 23:30 8 comments

    Cleaned it up, and uploaded the latest.  

    Fully parametric, no inherent extra backlash, and now with minimal extra stuff.  

    The goal now is to have this properly 'included' into other things, and then have you further modify the base transmission parts there instead of trying to make this a 'one stop shop'.  That will take some research as I'm more of an abuser of OpenSCAD than a user.

    And now, some eye candy.  

    If you look in the console part of these images, you'll see the numbers used to generate these and the resulting gear ratio. 

    <EDIT> I forgot to mention.. all that was changed in the source to render these three different transmissions was the ring_teeth, sun_teeth, and planet count. Everything else was parametric and scaled appropriately. </EDIT>

  • I can't be that lucky..

    Daren Schwenke05/09/2019 at 20:43 2 comments

    For kicks I decided to add an idler gear. This is one way to prevent the output ring from pushing in on the planets. 

    Either I'm incredibly lucky, or there must be something happening with the math here that I don't understand that makes this work.

    It fits perfectly.  The idler as shown here is the gray transparent one.

    I just used the output pitch, and added 3 teeth to the sun.

    It's gotta be the math, but I had no idea it would be that easy.  I'll be using that.

    I will need to adjust the model to have more squat gears though so I still have room for 2 6mm tall bearings on my motor shaft.  Working on it.

    <EDIT> I also just realized how to solve for the actual output pitch required here.  Yay!</EDIT>

  • Perfect pitch

    Daren Schwenke05/06/2019 at 08:05 11 comments

    Finally got around to generating a version where the input and output gear pitch matches the corresponding layers, aka split planets.  Here it is, with a twist.

    I generated the above with zero backlash allowance, just to make sure all the teeth were meshing appropriately.

    It works with 6 planets as well.

    I think that may be a bit much though.

    I'm still missing the calculation for one number, and so the code contains a fudge factor I need to eliminate yet before it's fully parametric and gets uploaded.

    Now to add this to the #FilaMecanum project..

  • Original MPRT Laser Cut Design

    agp.cooper05/04/2019 at 03:39 5 comments

    Original MPRT Laser Cut Design

    It is the original design concept (including gear ratios) but with the optimised output ring.

    The optimised output ring has been trimmed to meshes properly. It should have less backlash and gear "movement".

    It has taken a while to work out how to design a layered build up suitable for a laser cutter.

    The main problem was that the stepper motor shaft was too short (only 14mm) and cannot be used (without some sort of extension) to retain the gears. The solution was to extent the height of the sun gear.

    Two designs versions will be presented:

    • a 360 plus rotation version, and
    • an elbow version.

    Here is a top view of the stacked gears:


    • The stepper motor (blue) is mounted to the bottom or first layer.
    • The sun mounting hub and stepper motor mounting bolt heads are on the second layer.
    • The second layer also has to make access provision for setting the hub grub screw.
    • The next layer will have the sun, planets and fixed ring.
    • The next layer will have an extension of the sun and planets, and the output ring.
    • The top layer will have a retaining disk either attached to the sun gears for the 360 plus version, or attached to the fixed ring for the elbow version.

    Really what you should look at here is how well the gears mesh!

    The 360 Plus Version

    The main thing not to like is that the end cap rotates at the same speed as the stepper motor and the hub holds it in place.


    • The slot in the spacer disk is to access the hub grub screw.
    • The really small holes are for alignment.
    • Where necessary, the cutout has been adjusted fro a 0.1 mm laser cut width. 

    The Elbow

    The elbow is similar except the top is fixed (similar to the single stage planetary gear design). The top just holds the gears inside the housing. Here is the laser cut design:


    A bit of trouble with the star gear mount bolts (to the hub). They stick up and interfere with the top. The gear is not big enough to laser cut cut holes (~6 mm diameter) for the bolt heads. I can lower the star hub about a 1 mm, more than that I have to increase the size of the motor mount locating hole (not ideal). I can (post laser cutting) counter the bolt heads.

    I put a small dowel in the top later that can be used to minimise movement of the star gear.
    Like Daren's original design there is no carrier.

    Laser Cut Layout

    Hers i the laser cut layout:

    On the left is the elbow and on the right is a stand/platform.

    It has been submitted for a quote (usually about A$65).


  • Purpose!

    Daren Schwenke05/04/2019 at 00:50 0 comments

    I had another idea a whole 48 hours ago, and that became the #FilaMecanum project. Basically that project is a robotics mecanum type wheel, but instead of using rollers it uses filament.  It should also work better than the original wheels on soft/uneven surfaces, and is cheap and 3D printable.  I didn't have a defined purpose for that project either.  :)

    So I just made a version of that which will fit some motors I have, and I'm going to make a version of this transmission to power it.

    The motors are pretty beefy with a 100w continuous rating, but run at a completely unusable rpm range for robotics of 3k rpm.  This will make them usable.

    I'm now going to take the time to generate the split planet version in OpenSCAD first though, as it has some definite advantages for this.  The most important one being that if I can use a half-height sun gear, then I can put two bearings on the shaft and support the output ring gear/the wheel itself that way.  This is going to be fun.  :)

  • Laser Cut Single Stage Design

    agp.cooper05/02/2019 at 11:06 2 comments

    Laser Cut Single Stage Design

    I was having problems working out the full MPRT laser cut design so I thought I would try a single stage design first. It is not that I could not design a laser cut  MPRT, it is just that I was not happy with the design (i.e. too many layers). I know it can be better.

    Actually even the single stage design was tricky. But eventally here it is:

    The gray components are not necessary but useful for mounting.

    So what we are looking at, starting at the bottom:

    • The motor mount (the fixed arm), for different steppers I should add at least two more holes.
    • The carry ring or output arm, (sun gear is actually on the next slice)
    • The fixed ring and planets (offset for cutting)
    • The upper carrier ring.


    • The gears and bolt hole have been adjusted (where required) for a laser cut width of 0.1 mm.
    • The bolt holes are for M3 bolts but the final construction assumes the layers will be glued.
    • It has been assumed a 2 mm dowel fixed to the planet will rotate in the carrier.
    • And finally, the really small holes are for alignment pins (1.2 mm diameter by 25 mm long nails).
    • The gear design is 5 turn (input) to 1 turn (output) for the single stage.
    • I will wax the wood to reduce friction, may need to add a paper spacers to free up rotation of the carrier.
    • The MPRT version (based on the current gear set) will be 55 to 1.

    I have to double check the design measurements and lay it out for laser cut panel size.

    Here is my laser cut laayout on a 600 mm x 300 mm 6 mm thick MDF board:

    Next is to work out the MPRT version.


  • In the wild.

    Daren Schwenke04/28/2019 at 17:33 0 comments

    @Gavin built one, and did a write-up and video about it!

    Inlining wordpress videos doesn't work so well, so click here for a direct link.

    He also published the files he produced.

View all 23 project logs

Enjoy this project?



agp.cooper wrote 06/04/2021 at 03:52 point

Hi dekutree64, Yes cycloidal gears do not side. It seems to me that they would make a better base for my meshing code. A quick check on the Internet suggests a carrier will be necessary as the profile is sensitive to misalignment. Nice to discover a new path of exploration.
Regards AlanX 

  Are you sure? yes | no

tmackay wrote 01/20/2022 at 01:20 point

I initially dismissed this since all tooth profiles will slide. Just look at where the load acts like a pair of pliers shearing the planet gear teeth as you drive the tooth in like a wedge. What if we roll instead? [eg. using HK0306 needle bearings](

  Are you sure? yes | no

agp.cooper wrote 01/20/2022 at 03:36 point

Hi TMackay,

A lot of water under the bridge with this project.

My thoughts are that it was fatal not to use a carrier (in my case).

A tooth profile that has minimum back-lash is desirable in this application.
Having a deeper understanding of the pros and cons of the various tooth profiles would help. Particularly with the materials being used.

Exploring an expanded construction technology and material envelop (as you suggest) would help. My narrow technology/material  use, reflects my limited knowledge and resources here.

While it was a clever idea, don't think this approach would have been that good in practice. Gears that don't mesh properly, probably don't make good gears.

Regards AlanX

  Are you sure? yes | no

dekutree64 wrote 01/20/2022 at 19:28 point

Here's another idea along those lines, making a cycloidal drive with needle rollers between the squiggly disc and a squiggly ring

But a properly made compound planetary does not wedge the tooth in like you describe. Both halves are proper gear contact, just with pressure on opposite sides of the planet teeth so you need a rigid carrier to prevent the planets tilting and rubbing. The secret is the small difference in tooth pitch between the two halves.

  Are you sure? yes | no

GenericSweetener wrote 03/15/2021 at 14:40 point

I’ve been playing around with using one of these in the shoulder of a quadrupedal robot a friend and I are designing, but I’m getting very low torque outputs (measured with my admittedly slapdash setup involving a lever, string, and a bottle of water at a known weight). We’re set up for a -33:1 ratio with straight cut 3d printed gears (18 tooth sun gear, 3 x 9 tooth planet gears, 36 tooth static gear, 33 tooth output gear). The motor is a nema 17 stepper that I’ve tested to put out 3 kg/cm of torque at the RPM we’re using, which should give us 99 kg/cm out of the gearbox. Trouble is, we’re getting at best 11.5 kg/cm, but the reduction is somewhat correct because the output rpm is correct. My prints are by no means perfect, there’s some play in it and all that, but even in these imperfect conditions I’d expect more than 10% power output. Even when lubed, we can’t crack 11.5. I know I'm a bit late to the party, but I figured it's still worth asking for help on this one.

  Are you sure? yes | no

tmackay wrote 05/31/2021 at 02:35 point

Interesting result. I don't have hard numbers but have been similarly disappointed in high torque applications. I have also heard they are not particularly efficient gearboxes due to the largest forces directly acting on the fastest moving gears. Even with involute tooth profiles there is some sliding as teeth mesh and unmesh (only at the pitch radius and only momentarily is there no sliding of teeth against each other). Still, I'm surprised by 10%. I've been meaning to make a robot actuator for a while, will have to give this a try.

  Are you sure? yes | no

agp.cooper wrote 05/31/2021 at 03:02 point

Hi, I did some work on these gears. Although standard gears profiles can be made to work, I tried making custom profiles to improve the mesh. Looking at some of my designs the teeth certainly slide but whether it is worse than properly meshed gears I cannot say, but I think they would be. My gears barely ran, but at the time I put that down to poor tolerance and not using a cage. I suppose I can add high friction as well.

  Are you sure? yes | no

dekutree64 wrote 05/31/2021 at 14:20 point

You might try cycloidal tooth profile (as in clock gears, not cycloidal drive), which is designed to eliminate sliding at the cost of not being able to mix-and-match all gears of the same pitch like you can with involute. But since 3D printing doesn't have the same manufacturing issues as metal gears, we don't have to worry about that.

Adding a sturdy planet carrier should also be a big help for high torque applications. When loaded, the compound planets are subjected to a tilting force, which messes up the mesh a bit and/or causes them to rub on the floor and ceiling of the enclosure.

  Are you sure? yes | no

tmackay wrote 08/30/2020 at 00:33 point

A bit late to the conversation, but I've been playing around with similar ideas and think I've been able to take it a step further. By noticing that we don't have to start with a "valid" planetary gear (same pitch, R=S+2P) we can also include gear combinations with for example one or two fewer teeth than ideal (we only require R+S divides by number of planets - fudge both layers). This opens up a whole world of gear ratios and we can also do things like having different tooth counts on the sun and planets and still have them synchronised. All without omitting the secondary sun gear or having an idler like the current examples (that I am aware of - still looking).

  Are you sure? yes | no

rraetz wrote 07/29/2019 at 15:20 point

How is the backdrivability of this reduction gear? Could be very interesting as a quasi-direct drive (gear ratio 1:5 - 1:10) for robotic actuators. A high backdrivability would allow force sensing on the motor side. 

  Are you sure? yes | no

Daren Schwenke wrote 07/29/2019 at 15:38 point

It is backdrivable, but not very well with the ratios I have tried.

  Are you sure? yes | no

Xasin wrote 07/26/2019 at 13:06 point

This certainly is looking great!
Though ... No further updates? I was kinda excited to see the FilaMechanum wheels turning >.< 

Anyhow, I have a question!
I wanted to build an actuator for mechanized wings, using a standard drone BLDC and a Trinamic chip. It needs a high reduction, so if I were allowed to take some inspiration from a gearing like this, that would be awesome!

  Are you sure? yes | no

Meek The Geek wrote 06/06/2019 at 19:12 point

Could you please do a writeup/tutorial  on how to use the openscad module that you designed for this project?  I would love to learn how to use it.

  Are you sure? yes | no

qq95538 wrote 05/22/2019 at 06:43 point

Great project. I am using MPRT1.01.scad to compute gears. As we know, MPRT1.01.scad was designed for Inches. When MPRT1.01.scad computes gear parameters by parametric, It echoes wrong Diametral Pitch.

The source code is here:


input_pitch=ring_teeth/ring_gear_r/2;   // compute Diametral Pitch for inches 


echo(str("Input Pitch: " , input_pitch));  // echo the Diametral Pitch

When we use MPRT1.01.scad to compute parametric parameters, we should retrofit echo command by multiplying a 25.4

 echo(str("Input Pitch: " , input_pitch* 25.4));

Because :

Inches= metricmeter/25.4

Diametral_Pitch = ring_teeth/ring_gear_r_inches/2 = ring_teeth/(ring_gear_r_meters/25.4)/2=(ring_teeth/ring_gear_r_inches/2)*25.4=(Diametral_Pitch echoed now)*25.4

  Are you sure? yes | no

Daren Schwenke wrote 05/22/2019 at 14:55 point

OpenSCAD does not have a specific unit of measure.  Everything is just in 'units'.  

I modeled my stuff in mm in the files, but where those units ultimately get interpreted as mm is actually all the way at the 3D printer/laser cutter.  

  Are you sure? yes | no

dekutree64 wrote 05/13/2019 at 15:30 point

Wow, I came up with this thing a couple months ago, and then found the youtube channel "Gear Down For What?" who did it a couple years ago, and now found your project. Fascinating how gears have been in use for so long, but all of a sudden 3 of us come up with this new way to use them at so close to the same time :)

You can also drive it via the carrier, in which case the sun is no longer necessary (one less stage with its accompanying efficiency loss). It results in very high planet RPM though, so probably not good for 3D printed plastic gears.

Carrier driven with two large diameter suns and no ring gears also works, although I think the internal version is better for its lower inertia. But internal tooth metal gears are unreasonably expensive, and you can fit more planets around the outside of a sun, potentially resulting in higher torque to weight ratio.

Also I'm not sure if you've realized this yet, but there are some combinations that don't need the special slightly different tooth pitch between the stages, making them more friendly for traditionally manufactured gears. The condition is (input ring teeth - input planet teeth) = (output ring teeth - output planet teeth).

But again, ring gears are expensive. And the different pitch for each stage is necessary to get high total reduction ratios on the ringless version, because its equal pitch condition is (input sun teeth + input planet teeth) = (output sun teeth + output planet teeth), which results in the total reduction ratio being relatively low even with one tooth difference.

There is some potential for doing the ringless version in metal by using metric pitch for one stage and imperial pitch for the other, finding a pair of pitches that are coincidentally just the right amount different from eachother. I need to write a program to find all the ratios that could be done that way.

  Are you sure? yes | no

Daren Schwenke wrote 05/14/2019 at 21:02 point

I was pretty sure this wasn't anything new, but it was new to me at the time, and useful.  :)   So I made it about making it easy now for targeting 3D printing and laser cutting and optimizing the profiles.  This of course led to splitting the planets, and here we are.

The code is parametric now, so you can build your combinations by changing a number or two, saving, and everything scales.  To build the last three examples all I changed was the 'ring_teeth', 'sun_teeth', and 'planet_num' variables.  Check it out.

I may add the option to split the planet tooth count as well, but it adds complexity without a large return.

  Are you sure? yes | no

dekutree64 wrote 05/15/2019 at 00:17 point

Yeah, the split planet tooth count is mainly needed for the carrier driven version, which otherwise has very limited ratio options.

Split planets also make it unnecessary for the ring tooth counts to be a multiple of num_planets. Although that does make it far more confusing and requires careful marking of the planets to make sure you can get everything "in phase" when assembling.

  Are you sure? yes | no

dekutree64 wrote 06/06/2019 at 20:53 point

Ah, the underlying principle of this thing has been discovered a long time ago as well.

I was just investigating the possibility of doing a single-planet version with one tooth difference between planet and ring. And for that, you need a cycloidal drive type disc instead of involute gear so the teeth don't clash. And then I ran across US patent 3,998,112, which is exactly that. Fortunately it's from 1974 and has long since expired.

You can get some good ratios with very low tooth counts. Here are the first 5 good ones (the first one means 4 planet teeth and 5 ring teeth on the input half, 5 planet teeth and 6 ring teeth on the output half)

4p5r-5p6r 25:1
5p6r-6p7r 36:1
6p7r-7p8r 49:1
7p8r-8p9r 63:1
8p9r-9p10r 81:1

  Are you sure? yes | no

Elliot Williams wrote 05/09/2019 at 07:55 point

Split planet design: that's cool.  The nice thing about herringbone gears is that they're self-centering.  Your split planets look like a split herringbone, but I'm not sure if the same applies b/c of the different rotation of top and bottom outer rings. Which is all to say, I'm wary of the angled gears, but my brain hurts trying to figure out whether they're being driven up or down or both. 

I'm also interested to see if the planets rack inwards/outwards.  The drive ring should be constrained by the bearing, but the planets will be free to lean in/out by whatever slack there is in the system.  

I love the original design idea -- tremendous gear ratio / size just by allowing a little slip/slop. That's a tradeoff that you don't see in other geartrains, but could still be totally useful for e.g. small bots.  I'd be tempted to empirically calibrate out the backlash in software.  :)

  Are you sure? yes | no

Simon Merrett wrote 05/09/2019 at 08:33 point

@Elliot Williams so you're suggesting herringbone on both planes! @Daren Schwenke wouldn't that resist some of the undesirable forces we (collectively in the comments) are concerned about?

  Are you sure? yes | no

Daren Schwenke wrote 05/09/2019 at 19:04 point

@Elliot Williams I added the helical version specifically because my next test of this for #FilaMecanum has the sun gear run directly of a DC motor, and so it will be turning at 3000 rpm! Straight cut gears at that speed would get pretty loud.

I was guessing the split herringbone would *mostly* balance out.  The ring gears will be pulled together by rotation in one direction, but will be pushed apart by rotation in the other.  The sun will also do some pushing on them though, but I could balance that out as well by changing the height ratio of the two ring gears.  If the input ring height was smaller it should balance if the planets are held vertical.

The planets without support will rack inwards at the top.  Three ways we have worked out to solve that.  

1) Add a second idler sun gear, but it will need more teeth than the first sun gear due to the diameter difference of the split planets.  That is math waiting to be worked out. <EDIT> Well that was easy.. </EDIT>

2) Add a cylindrical area to the upper part of the planet at the diametrical pitch line, and add a cylindrical ring the same size as the sun diametrical pitch line.  Being on the pitch line means they roll at the correct rate to match the gear progression so no slipping.  That math is easy.

3) Add a carrier.

@agp.cooper took on the backlash calibration, and programmatically optimized this:

He did successive subtractions against the teeth until it was meshing as good as it could be.  Not perfectly involute still, but better than my original.  But he did it not using OpenSCAD, so I'm finishing up this version before I tackle integrating that.  His results are posted though.

  Are you sure? yes | no

Xasin wrote 05/09/2019 at 05:22 point

Oh boy... You know, this gearbox is super tempting for me to try out. I just don't have a robot or motors to try it with... However, if we could modify this design to fit those small, super cheap unipolar steppers, I bet they could make for fantastic very slow but fairly accurate little actuators, which could be fantastic for some applications! 

  Are you sure? yes | no

eng wrote 05/08/2019 at 23:40 point

I first saw this gearbox concept described in detail in the Elektor "PCB Drilling Machine" project back in 2001, sometimes described as "PCB Dr illing M achine" ;-) The closest I have found to an accurate name is "Split ring, compound planet, epicyclic gear" but this still doesn't trigger many research papers. An interesting recent work is by the startup IMSystems with their toothless Archimedes Drive.

  Are you sure? yes | no

Daren Schwenke wrote 05/09/2019 at 01:49 point

I had no doubt that this existed somewhere as it seemed to be too good for it to not have been done before..  :)  @agp.cooper has since also found it in some NASA documents.  That's in the logs somewhere..

  Are you sure? yes | no

Gavin wrote 04/20/2019 at 08:08 point

Hi Darren, 

Love your project! I did a quick and dirty lasercut version of your concept here:


  Are you sure? yes | no

Daren Schwenke wrote 04/25/2019 at 23:36 point


That..  is the whole reason this went up as soon as it had an inkling of working.

@agp.cooper has made some optimizations to the existing design since then, and suggested a better one with split planets as well.  I have yet to have the time to model the latter though.  That would be perfect for laser cutting as well, and should prove to be lower (or none with a sprung split planet) backlash while providing higher efficiency.

He also discovered the real name of this.  It's called an 'epicyclic' planetary system (or something like that).

  Are you sure? yes | no

Florian Festi wrote 04/15/2019 at 15:32 point

Nice project! I tried something very similar a while ago. It's not documented as I could not really make it work. But is was supposed to be part of which is a part of my box generator.

My experience was that the torque trying to twist the planets is a real problem if you try to get away without a planet carrier. It may work for well lubricated, pretty flat planets.

There are a few more things I came across but I need to read through your logs first to see what you already stumbled across yourself.

  Are you sure? yes | no

Florian Festi wrote 04/15/2019 at 15:59 point

An alternative to using a not properly meshing output ring gear is using stepped planets. One would use a second, free wheeling sun gear to support the upper side of the planets. This also allows even higher ratios. When making the upper parts of the planets one tooth smaller than the lower one the output ring gear has to be only one tooth smaller than the lower ring gear. As the center of the planets are determined by the lower planetary gear set only half of the difference in planet size is in effect on both sides of the ring gear.

Having stepped planets also allows the two ring gears not to line up at every planet position. If you have only one gear difference the planets may have 0, 1/4, 1/2 and 3/4 tooth offset between bottom and upper half (assuming a gear set with 4 planets)

  Are you sure? yes | no

Daren Schwenke wrote 04/15/2019 at 18:34 point

Stepped planets is the current minor goal, although I was going to try to keep them the same tooth count and just vary the pitch to match the rings.  I think this already has *too* much reduction, but yes... having as little as one tooth difference would be allowed with stepped planets for insane single stage ratios.  The same output equation applies, but num_planets is now 'input_ring_teeth-output_ring_teeth' instead.

  Are you sure? yes | no

Florian Festi wrote 04/15/2019 at 16:15 point

I have also been wondering why this type of gear set is not more common. After thinking a while I figured it is probably due to the poor efficiency. A "normal" gear set looses the same amount power in each stage. The mechanical work lost is basically force by distance by coefficient of friction. For each meshing pair the product of force and distance is the same although the values of those parts is changed (that's the purpose of the gear set after all).

The problem with this setup is that the teeth of the planets see the force of the output while still traveling the distance of the input. So the losses of the "delta" stage is multiplied by its reduction ratio (not including the gear reduction of the traditional planetary gear set between the sun and the planets). But that may be an acceptable price to pay in some applications - like Scara robot arms.

  Are you sure? yes | no

Florian Festi wrote 04/18/2019 at 19:49 point

To say this in different words: I am super excited to see some performance numbers. May be you can wind strings around the input and output shafts and attach weights to see how much torque gets lost on the way.

I mean as soon as the basic stuff is worked out.

  Are you sure? yes | no

agp.cooper wrote 04/11/2019 at 02:01 point

Hi Daren,
Although a cage is not absolutely necessary for the planet gears, are they recommended or just optional?
I have made up a preliminary SCARA elbow based on your concept.
For my first prototype I will run waxed wood (candle waxed MDF) on waxed wood.
No point getting to complicated on a prototype.

  Are you sure? yes | no

Daren Schwenke wrote 04/11/2019 at 03:23 point

It would depend on your material choice probably.  Planets on bearings can stay centered in the envelope with a smaller rubbing area.  Planets rotating freely will slide around the face of the rings.  

Also, the forces generated here will want to want to rotate the planet about the contact area between the two rings and the planet, and therefore some rubbing of the top/bottom edges against the top/bottom ring could happen then.

I used PLA for the prototype here, so if I ran it for 5 min at max speed under any kind of load... it would definitely melt.  If I did it out of nylon though, it would be fine.  A drop of grease and both would probably be fine.

I'm going to do the planets and sun out of nylon, and the ring gears out of PLA I think.

The planets being nylon will let me print them a tiny bit oversized (negative backlash in the OpenSCAD model) and eliminate backlash that way.  They will have to be ring shaped so they can flex a little to work like this.

As for staying in place during rotation in general, that won't be a problem.  They are captive.

I would say add a drop of lubricant, and you can skip the carrier for the planets.

If you are going to do this out of MDF though, you may want to split one of the planets across the diameter, pin them back together on the center line with some piano wire, and add a crescent shaped groove to both that you can drop a spring into to eliminate backlash.  It might not work due to meshing with the sun gear as well, but with solid gears that would be the simplest way I can think of right now.

  Are you sure? yes | no

paulojus444 wrote 04/10/2019 at 21:55 point

Genial Project!!! I have just one doubt do you have an idea if with this kind of gear reduction our torque reduction will be the same as the speed reduction? I was wondering if that kind of non-conventional reduction will be able to increase the torque as much as it reduces the speed.

  Are you sure? yes | no

Daren Schwenke wrote 04/11/2019 at 03:32 point

Minus friction, yes.  You are going to lose a little more than normal for a planetary system here due to the imperfect involute tooth profile between the output ring gear and the planets.  If I had to guess, I'd say you could potentially throw away 3-5% of your power there.

Although if you are asking if this can be back-driven to produce lower torque/higher speed... I don't know.  I wasn't able to do it with the 3D printed prototype, but there is no technical reason beyond the *really* high torque required that it wouldn't work.

  Are you sure? yes | no

alireza safdari wrote 04/08/2019 at 02:30 point

How do you guys come up with these ideas? I can't even imagine why this works?

  Are you sure? yes | no

Daren Schwenke wrote 04/08/2019 at 03:06 point

It was seeing #Custom motor for robotics and wondering about how I could get higher torque in the same space.  Two previous projects I also never finished up helped...

For the #Interdimensional Portal Gun project I also used slightly mismatched gears to allow rotating the image discs at different rates so that taught me how to mess with the tooth count by adjusting the diametrical pitch a little, and keep the same gear diameter.  Then for the #Arcus-3D-E1 - Elephant Printer I used a planetary transmission where the carrier for the planets *is* the output for spooling cable and rides on the motor shaft.

Having the OpenSCAD source handy for the latter allowed testing out this idea with just a couple of edits the first time around.

Then again the sheer amount of stuff on my workbench right now could have just as easily have randomly assembled itself into this. 

  Are you sure? yes | no

alireza safdari wrote 04/08/2019 at 22:32 point

I feel stupid because I still do not understand it. I understand planetary gearboxes pretty well. But I cannot understand the stage where you have put another ring gear on top. Please let me ask few things which may make me understand what is going on.

1) By "numplanets teeth", you mean for each planet gear, there will be one teeth, right?

2) Are the stationary ring gear and second ring gear concentric?

If Yes, 3) How come the planet gears are touching a ring gear with 3 more tooth?

if No, 3) If they are not concentric, then what geometry magic is used? :)

Perhaps I could answer all those if I was familiar with OpenSCAD, but unfortunately I have never heard about it, not used it.

  Are you sure? yes | no

Daren Schwenke wrote 04/08/2019 at 22:55 point

@alireza safdari Eliminate the fact this is planetary for now. Imagine a gear with 60 teeth.  Now put another gear of the same diameter right next to it with 57 teeth.  Drive both gears with another gear of 21 teeth.  One is going to turn a little faster than the other. 

That difference is where I am getting my output.  It is the difference between how fast the two bigger gears turn with respect to the gear turning them.  One just happens to be held stationary here, and it happens to be inside out as it is a planetary system.  Hope that helps.

  Are you sure? yes | no

alireza safdari wrote 04/08/2019 at 23:28 point

@Daren Schwenke Now I get it. The key part for me was this "gear of the same diameter right next to it with 57 teeth". I think it is important to mention the diameter is the same. I did not know you can have matching gears with different number of teeth but same diameter. Could you tell me what I should read to learn how its done?

But wow, you are genius. I can't even imagine how you ended up with this idea. Fantastic job.

@Syamil Zaini  check this out.

  Are you sure? yes | no

Daren Schwenke wrote 04/09/2019 at 00:10 point

@alireza safdari Actually...logically, you are correct.  You can't have two gears of the same diametrical pitch and tooth count be the same diameter.  That's kinda the definition of diametrical pitch.

So I cheated.  

I altered the diametrical pitch so the diameter was the same with the 3 tooth count variance between the gears.  This results in a less than perfect involute tooth profile, but at that diameter, the deviation from the perfect involute tooth profile was smaller than my target gear backlash of 0.1mm.

Mathematically correct involute teeth do not slide at all when they mesh.  These will, a little.  I'm still betting it is far less friction than you would get with cycloidal, worm gear, and perhaps even strain-wave transmissions so I think it's worth it.

  Are you sure? yes | no

alireza safdari wrote 04/09/2019 at 00:13 point

@Daren Schwenke  Now I can die in peace :D Thank you for your time and writing back. 

  Are you sure? yes | no

Simon Merrett wrote 04/07/2019 at 21:30 point

Wonderful concept @Daren Schwenke . Can't wait to see something with bearings in. I wondered in the past, when I was working intensively on the designs for the strain wave and hypocycloidal gears I made, whether sending a gear around the perimeter to force phase alignment of a small section of teeth would be good. Never managed to think of a good way to do it. You have found a way to do it that I think could be great. 

  Are you sure? yes | no

Daren Schwenke wrote 04/07/2019 at 21:57 point

Just finished printing the bearing version and assembled it.  No way to drive the stepper to show it off yet, and I need some bolts.  Video tonight, probably.  :)

  Are you sure? yes | no

Daren Schwenke wrote 04/08/2019 at 02:15 point

I forgot to say, Thank you @Simon Merrett.  I enjoyed your work on #Strain Wave Gear with Timing Belts and almost used it to drive an auger based extruder I was toying with.  Too many projects...

  Are you sure? yes | no

Ken Yap wrote 04/06/2019 at 02:36 point

Also you're getting a rotation reduction ratio of sun teeth / ring teeth so surely the few percent at most due to the slip would be small beer?

Then again the slip may lead to very large ratios. This visualisation is doing my brain in.

  Are you sure? yes | no

Daren Schwenke wrote 04/06/2019 at 02:59 point

The first stage reduction is sun teeth to ring teeth ratio like a normal planetary. Usually like a 3:1 ratio.  But the 'second stage' is then for each revolution of the planets, advance (num planets) teeth.  For a larger number of teeth and a low planet count that could easily be 15:1, which is where I think this could work really well.

  Are you sure? yes | no

Ken Yap wrote 04/06/2019 at 03:37 point

Surely the equation for the ratio should incorporate the slip fraction and not the number of planets? In the limiting case where the upper and lower teeth are aligned there will be no ring rotation no matter how many planets there are.

  Are you sure? yes | no

Daren Schwenke wrote 04/06/2019 at 04:57 point

There is no slipping occurring here.  The resulting drive ratio is directly related to the fact that the two ring gears *only* line up with each other where the planets are interfacing to both rings, and then only for a couple teeth.  Translate around the ring by 360/(num planets) degrees and the teeth for the two rings are directly opposite each other.

  Are you sure? yes | no

Ken Yap wrote 04/06/2019 at 05:13 point

But you agreed below that there would be some wear due to the imperfect meshing.

Here's a thought experiment: Say the upper and lower rings have the same number of teeth. Result will be the planets rotate and also circle the sun and no movement of the movable ring happens. So the conversion ratio should be some function of the number of teeth in the upper and lower rings and not depend on how many planets there are.

I really need to see an animation.

  Are you sure? yes | no

Daren Schwenke wrote 04/06/2019 at 05:39 point

Yes, a perfect involute gear profile results in needing no sliding of the gears over each other to transmit the force.  This being an imperfect meshing would therefore require some sliding.  

However the difference between perfect and imperfect doesn't change the resulting gear ratio.  It just alters the efficiency of the transmission.  Given other gear systems such as cycloidal or worm gear drives have much more resulting friction/lower efficiency, I think we are still in a pretty good place with this design.

  Are you sure? yes | no

agp.cooper wrote 04/06/2019 at 01:17 point

The "Laser Cut" concept is why I like it so much.

Just have to work out the bearing arrangement.

A teflon ring between the outer gears and a thrust bearing on the shaft with a retainer?

Or something like that.


  Are you sure? yes | no

Daren Schwenke wrote 04/06/2019 at 01:28 point

My thought was to put your bearing for the output ring on the motor shaft directly.  Two layers.  One laser cut being the full face of the ring gear with a bearing sized hole, and the the actual ring gear having a smaller hole to retain the bearing.

<EDIT> Um.. thinking about it, that won't work.. :)  Might need 3 layers.


I did something similar in a previous project and it worked great:

Provided you can keep your applied force centered on the axis, should work.  Off axis, you would need a second (probably expensive) ring bearing, or to support it from above and limit the rotation.

  Are you sure? yes | no

agp.cooper wrote 04/06/2019 at 03:36 point

For SCARA I can limit the rotation which gives options for support.


  Are you sure? yes | no

Ken Yap wrote 04/06/2019 at 01:05 point

>Planets interface with one stationary ring gear, and one moving ring gear which varies in tooth count from the stationary one by (number of planets).

In that case shouldn't the depiction of the planets show upper and lower teeth? If it's a straight tooth from top to bottom then the moving ring cannot differ from the stationary ring.

  Are you sure? yes | no

Daren Schwenke wrote 04/06/2019 at 01:12 point

Ah... but it can if you are willing to fudge the diametrical gear pitch a tad for the rings.  The pitch of the planets is the same top/bottom engagement.  However, the ring gears vary in pitch just enough to create your difference between them of (num planets) teeth.  

Of course this is not a 'perfect' involute gear then, but the larger diameter you go, the less it matters.  That fudging even at just 45 teeth for the ring gear was still well within the value I chose for 'clearance' of 0.2mm.  Double that tooth count and the difference in your backlash/clearance is down to well below the tolerance of what you can laser cut/3D print.

<EDIT> My source actually had 0.3mm backlash and 0.3mm clearance set for over-extruding on that project, which was far too sloppy and didn't work.  </EDIT>

  Are you sure? yes | no

Ken Yap wrote 04/06/2019 at 01:30 point

Ok but isn't the slip going to lead to wear in the long term? If the moving ring has less teeth than the stationary ring then doing a thought visualisation the leading edge of the planet's tooth will rub against trailing edge of the moving ring's tooth.

  Are you sure? yes | no

Daren Schwenke wrote 04/06/2019 at 01:44 point

Yes, it will wear more than the perfect profile.  

Now that you mention it though, it may be possible to do the planets as two layers with pitch profiles which correspond  to each ring and fix that though.  Perfect for laser cutting.  Not so much for printing (overhangs).

  Are you sure? yes | no

Ken Yap wrote 04/06/2019 at 01:57 point

Or maybe you could modify the profile of the moving tooth so that the trailing edge matches up but the profile has a steeper edge to pull the ring forward a bit.

  Are you sure? yes | no

Daren Schwenke wrote 04/06/2019 at 05:05 point

Having a different gear profile for leading/trailing edge is beyond me I'm afraid and would only hold true for rotation in one direction.  :)  

Just adjusting the clearance and backlash values of the involute tooth profile does have a similar effect to this though, and it turns out that the values I have used for 3D printed planetary systems in the past is within the range of the required deviance values to make this work!

  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