Plastic Gears other than Nylon lube versus dry - interest?

In the past I have run Nylon (Taulman 910) gears successfully and also some HIPS In most cases in a mixed environment Nylon at >1000rpm Hips <1000 rpm. and Most of the time at a 1.5mm modulus (aprox 3/16 pitch) involute double helical (herring bone).

I set up a test rig that initially will be used to help me design and build and program a low cost (< $10) Motor controller that should have most the functionality of a Talon SRX with a max current of 43 Amps at 12 Volt with limit switche, encoders, current feedback etc. So well enough suited to run a CIM or weaker brushed motor (mini CIM, Bag, Gearmotors automotives etc.) And instead of CAN I2C.

I designed this 4 stage gearbox.

This gearbox has 2 motors CIM1 will drive it and initially will be just connected to a battery with some current sensing to provide data, CIM 2 will be in “Break” mode that means its power leads shorted and as such working at a predictable load.

The overall ratio of the gearbox can be adjusted -by swapping gears - from a max of 22:1 to 1:22 and pretty much anywhere in between in steps where at least 1 of thegears of each interacting pair has a tooth count that is prime. In the config in the pic you have at each stage a 19 tooth interacting with a 53. I could go 17/55 on each stage and get to around 30 but I start to dislike the undercut necessary at a 14.5 pressure angle at gears with a count of <19

This device can also be used to answer some questions and I am willing to answer some that will be suggested here Maybe some already know the answer.

1.) Nylon is expensive and HIPS not always available - The whole rig in the PIC including the gears are PETG. Anyone ever ran PETG gears? Should I try to run them Dry (no lube) ATM I intend to run them lubed.

2.) Other Materials - maybe except PLA because I know PLA gears even with lube in the past last less than 2 min at 4000-5000 rpm under load. Which materials should we test dry/lubed? (Don’t say peek I currently dont have a printer and the $$$ to print that lol)

3.) Any interest in lower modules. I guess with a .4 nozzle you could print decent involute gears with a sensible fillet at the crown down to about 1mm module. Even tough my guess at 1mm is that non Nylons might pull teeth at some stage in that setup but that would be valuable data maybe too.

4.) How long is a successful test. Under current rules If you print a gearbox then next year you cant reuse it. So figuring on 2 min matches and some practicing I feel it is unlikely that a gearbox runs for more than 12 hours a year except maybe on drive trains. And a 12 hour test is doable. After all the intent here is hardly to make a gearbox that.

I intend to load the system up to about 35-37 Amps on the input which should create a max of about 6 in/lb torque at the input. Torque at the output will be depending on the overall ratio of the gearing. Once the controller is finished I also could provide reverse current to the “Load CIM” to adjust the current apropriately on the input motor. The CIMs graphs can then provide info on torque as the relation between current and torque of the CIM are known and so are the relation at 12 V between current and RPM.

As for the cost of a sample gearbox above:

You have roughly 300 g in gears at PETG/HIPS (volume) prices of < $10/kg its about 3 bucks. If you use taulman 910 at about $80/kg its $24. The housing is about 400 g so about $4 So in filament between $7 and $30 depending on the filament you use. Then there are 6ea 688 Bearings and 2 ea 3.5 in 5/16 bolts as axles with 2 Nuts and of course 2 CIM Motors - but bearings and bolts/nuts and motors can legally be reused.

As for reusing… as I design/print the gears etc with bearing press fit I had trouble removing some bearings I solved that like that

I make a 2.5x2.5mm cutout on each side of the bearing that is camfered on top and bottom so you can stick a 2mm key in on each side like shown in the pic and pry the bearing out and recover it easily.

Once all is working all Cad will be shared on my grabcad. Willing to share some sooner privately in case someone wants to collaborate or “print along”. The parts on this particular rig should fit any printer with a build volume of equal or greater than 200x200x200mm


This looks super cool!
In your first photo the big gear on the right seems to be tilted relative to the gear next to it…

Load wise, I suggest using a 12 Volt headlight across the “brake” CIM so that at least part of the heat goes somewhere else. Hard to beat a light bulb for a cheap power resistor :wink:

You will need a big fan blowing on the CIM. Its gonna get really hot in a 12 hour test!

You definitely want grease!

Not sure I’ve ever heard of doing this. What’s the reason for using a prime tooth count?

Even tooth wear. Actually it should more accurately be “Not have a common denominator”. So for example 19 and 53 are not divisible whereas 18 and 36 have 18 as a common denominator tooth 1 meshes with tooth 1 and 19 of the 36 tooth gear and no other tooth so if there is an imperfection on tooth 1 it will constantly hammer that into tooth 1 and 19 of the 36 tooth gear and you will have a 36 tooth gear damaged in the 1 and 19 position soon whereas with the 19 and 53 example tooth 1 of the 19 tooth gear will hit every single tooth of the 53 tooth gear before hitting tooth 1 again. IOW all teeth take the imperfection of the 1 tooth or the 19 tooth gear (assuming there is one) and the changes are great that the 1 tooth of the 19 tooth gear gets “fixed”/ worn right through the power of all 53 teeth in other words if the 2 gears don’t have a common denominator and the gear is not an integer multiple of the pinion then the gears will wear evenly and even wear themselves in evenly giving you a smoother running gearbox. That is particularly helpful with 3dp gears which due to layer lines etc is less accurate than a high quality gear precision machined the conventional way. Hence I like to work with at least one odd numbered prime number teethed gear and make sure gear 2 is not a multiple of the pinion


I double checked - seems to be straight/parallel - should be. There is the slight possibility of an occasional minor deflection as the bearings have some very minimal play. I am also using 5/16 Bolts (7.9375mm) bolts as axles as I had problems with getting 8mm id bearings on an 8mm (M8) bolt without sanding and filing etc. The herringbone setup and a crown filet seems to fix and adjust for small imperfections. Based on experience I give it some room. all axles have a lateral play of about 1mm so the hole gear train can move 1mm left or right. The gears on the motor dont move easy as they are having a key and are printed for a tight fit so usually after 5 min or so running everything straightens itself out if it isnt straight in the first place. And still all has less “play” than a tough box mini or so by a mile. And dont forget the CIM shafts have more in/out play than the rest of the assembly. The crown filets and camphers especially on a high # of teeth gear is one thing that on a circular pattern makes F360 “choke”/crash

Yeah and I will start with some grease on PETG.

1 Like

We have had good results using “super lube” synthetic grease on PETG printed gears. You can pick it up on Amazon.

Good to know - thanks - I had some “Trident pure silicone grease” sitting in my shop which got a try. Just for curiosity What modulus/pitch etc did you use, what printer/nozzle how many perimeters, infill etc and what did you use them for including pls RMP/torque.

Silicone greases are sort of ok lubricants; you use them when you need the high temperature or food contact aspects, or low temperature coefficient… or if your plastic doesn’t play well with petroleum. However, for the low loads on plastic, -anything- is an improvement, so silicone away!!

You might want to try shoulder bolts. They have very accurate bodies, unlike regular bolts!

Glad to hear the angle was just the camera!

They are shoulder bolts Don’t like to put bearings on threads


Last year we used 3D printed gears for our intake deployment. The intake used two REV 20:1 HD HEX spur gear motors (one each side of intake) which was further geared down by 72:24 3D printed gears. The gears were 20DP, 20deg PA, straight tooth printed in PETG with a 0.4mm nozzle, 0.2mm layer height, 3 perimeter and 3 top/bot layers with 50% infill. Gears were 0.5" wide.

The intake deployed over 90deg in about 0.3 seconds and had hard stops at both ends with limit switches to cut the drive at the stops. We used two motors so both sides deployed equally, but also to add redundancy. If one side failed the other could still deploy. The intake moment was about 4lbs at 9". In testing we show that the gears could easily withstand the stalled motor torque (~300oz-in) by manually forcing the intake off the stops. This translates to about 15lbs at the gear teeth. We did not have any issues with intake deployment due to the printed gears. We did notice part way through our first competition that we did loose some teeth on one of the gears, but it seemed to have no effect on deployment, and we ran it that way for a couple matches until we had time to replace the gear.

The teeth were not missing at the stops, but some where in the middle. I highly suspect the teeth were damaged by defense. It’s possible the gear was damaged by hitting a wall, but we tested that several times before the competition without any gear failure. In the end we decided to switch to 3D printed pulleys and timing belts to allow slip and avoid the teeth shearing problem all together.

We only used 3D printed gears for low torque, momentary on applications where we can be sure breaking or melting will not be an issue. In this case I think the gears could handle the motor torque, but not the additional stress caused by defense back driving the motor. I think it’s likely that a SIM motor has the power to shear teeth, so I think you will need to be careful on how much you load the gears. I look forward to you results.

Thanks for the info and I agree that a belt is better on an intake that gets hit. 20 DP is about 1.27 module so a little less than what i currently use (1.5) If you do gears and look at a slicing plan (at least in my experience) you want enough perimeters to keep each tooth solid and have a solid circular rim sufficient to handle 2x the torque. You can run tensile tests. I do with a 50mm2 cross section test piece, I do not like infill at all on gear as - unless you have real heavy floors and bottoms you run the chance of the rim with the teeth twisting off the hub in gears that transmit torque to the axle. As for torque I have lifted a whole robot and more with 1.5 module teeth. Here is a unit that repeatedly did 200 lb on the bench in HIPS
and here is a successor waiting to be tested
On smaller gears up to about 35-40mm diameter I like to print solid about 5mm in perimeters and 100% infill on larger gears I “Cut” holes to form spokes like this

you see the 53 tooth has spokes the 19 does not and anything plastic (white) is solid. Printed in a manner as close as possible to a casting. I usually do not use straight tooth but herringbone. I found you can put more torque on them as more than one tooth engages at a time and you also get less deflection as again more teeth share the load.

Also if you get into heavier loads either stay away from hex shafts or use a metal hub and mount the gear to the hub. for plastic Hex (especially of the 3/8 variety) is too close to round and will sooner or later strip out anything but Nylon and will so “skip” We had problems with the PG-71 at close to stall loads and first switched to very tight Nylon 910 which rarely skipped (at least the Nylon did not get “chewed” out but snapped back and then found an older version with round shaft and key that never skipped.

If you need to use gears in a situation where they get beat up by opposing robots go to Taulman 910 and print them with at least 5mm rim and hub and spokes and solid teeth. They are practically indestructible. You might skip if they get hit hard enough but I never had Nylon teeth take damage. (of the 1.5 modulus variety) The above device is printed with a .6 nozzle. Outside perimeter .66mm inside perimeters 1mm 6 perimeters .3 layer height 100 % infill. 14.5 PA 30 deg helix. And about 17 dp (aprox) and 16mm gear height with a .8 camfer on each side


Very nice work!

Just thinking out loud, if one were to need an even stronger gear, a mold could be printed and used to cast a gear. A very thin frame is made to hold the center hub in place, then something like glass-filled epoxy can be poured into the mold. Once cured, the printed mold is broken away leaving a nice cast gear.

The mold could be printed from inexpensive and weak plastic.

On the list as a possible future project one of my next projects I am saving up to is a composite frame . Printing a thin frame in a cheap plastic in pieces like this

then wrap it in fiberglass cloth (in this case 10 oz

and there you got a fiberglass piece with about 1mm of plastic at the core The 3dp places all the holes and you can cut them out of the cloth while its still wet with an xacto knife
With some 1/2 in 16gauge al or steel square tubing in strategic places - especially where you put bolts and need extra stiffness you could make a composite light custom frame for less than $ 200 I estimate about 5-6kg of plastic at $10/kg about 20 in aluminum and about 40-60 in cloth and resin


Ah, now I get it! I was mystified by the hex heads! It turns out that you -can- get a hex head shoulder bolt, but not in 8mm shoulder. You might want to look at these; the straight part is a precision diameter, unlike the un-threaded area on a long regular bolt. They also make them in M8 thread, 8mm shoulder. Amazon has them pretty cheap if you aren’t ordering from McMaster.

The 3DP cored fiberglass beam is quite an interesting idea! It makes me think of the cardboard frame surfboard kits :wink:

I tried some 8mm bolts and had trouble getting on some 8mm bearings hence I use those and the ones above (hex) in 5/16 (7.9375mm) seems the .0625 undersize helps slipping on bearings only drawback with everything being metric is that you need to have a standard 1/2 wrench ready.

I use the hex more often than the shoulder bolts.

1.) I can put the Hex head in a tapered recess for a tight fit So you only need to hold one side of the bolt and have the other hand free ( that comes in handy)

2.) I have a lot of them.

3.) I have them all the way up to 6 in. With few missing. The one above stops at 70mm In the current design the outside walls are 83mm apart so a 3.5 in one fits perfectly - granted one could redesign it.

4.) They are cheaper and my local Hardware store got a good supply of them if I ran out like I did a couple of months ago when I needed a 5.5 in one.

I have had similar problems with hardened steel rods. No problems with a 8mm linear bearing like its used on a printer or CNC but most of the time a 688 or 608 wont go on except with considerable sanding so I stopped buying 8mm rod a couple of years ago and bought 5/16 instead for applications where I use 688 or 608 bearings on them.

But I agree in some cases shoulder bolts are better than Hexbolts with a shoulder. But for prototypes and my current situation stuff gets built in a way that minimizes having to go and buy new stuff.

Also in many cases I found beats amazon in selection and price especially if you buy by the box. Even though they charge shipping and it really pays to place a considerably size order as that makes shipping more efficient. Especially when they have their occasional sale.

Working on the power source

Waiting for print to finish

S-600-12 (12V 50A) PSU with fuse, DFR0245-R Ammeter With display, IDK yet if I use Wago or XT 60 plugs. And of course AC on/off Switch with fuse. We don’t want to blow no circuits and set anything on fire. Now that should do for initial monitoring and data collection.

Oh and there is a 5030 Fan 12V I got a few of them I am contemplating printing something and stick them on the back of the CIMs

I’m especially interested in your inexpensive motor controller. I remember you saying that it was in development. Have you posted any details on that elsewhere?

I’m also interested in trying out herring bone gears for medium sized summer camp robots. We’ll be trying out a new version of MDFbot in camps this year, and if we could use plastic gears in the drives, that would lower the cost for a future version. For something that only needs to run for a limited number of matches over several days, we could cut corners more than we’d dare to do in an FRC robot. It might be interesting to try ASA or PETG, but Alloy 910 and HIPS could be options as well. PETG would be my top choice since it’s inexpensive and easy to print.

A.) Gears: Have not had a lot of experience with PETG yet. But if you look for inexpensive… HIPS Filament 1.75MM Dia 1KG/2.2LB Spool - Natural* - Toner Plastics
That works very well in most cases without lube. And most printers should be able to handle it 240-255 Nozzle for great layer adhesion and 105 bed and drape a plastic sheet over it as its sensitive to drafts and likes it warm. Prints like ABS with less warping and better layer adhesion. Has lower tensile strenght (not needed in most cases) and Higher impact resistance and is stiffer than PETG which is good for gears. I am trying PETG now as I got 50 kg at a great price and a lot of ppl said “Martin do some PETG”

B.) The controller - I have posted about in many places unfortunately most are patreon boards which I support so kinda private but here is the gist

On top you have an arduino Nano and then 2 ea BTS7960. Each BTS7960 is able to run up to 43 Amps (with proper cooling) There is a BTS7960 library available for arduino with some rudimentary function to the level of an Old PWM based controller. So you could hook maybe 3-4 max up to a Mega2560 maybe more if it doesn’t do anything else.

If you buy at aliexpress you can get a nano at 3-5 bucks and a BTS7960 at 3-5 bucks. You will need a decent fan if you intend to run it close to the max. The heatsinks at those modules are insufficient

You probably could hook it up to pretty much any PWM signal and provide a direction pin. The standard WPILIB PWM would not work as a 50% duty cycle means stop 95% is fwd 5% is reverse. For those 5-100% is the speed and then there is kinda a direction pin and you can put it on break. Hence its better to control it from an Arduino or an ESP32 or such

It is also supposed to have current feedback. Which according to the spec sheet is available during the High level of the PWM signal I intend to read that in on one of the analog pins timed with the High level of the PWM. One big problem was that the arduino does not let you use the timer interrupt when in PWM mode so I finally got around it to use a pin change interrupt on the port that includes the PWM pin.

Here is the code so far [|attachment]
(upload:// (5.0 KB)

each BTS7960 will have some pins associated that are dedicated to limit switches, Encoders most likely and analog signal (connect a string pot or something like that ) and of course the current feedback. If the one from the BTS7960 works - great - if not I will have to include a low value resistor (like 0.01 or 0.005 Ohm) and measure the voltage drop with an Op amp. (Hope I dont have to do that as that would add time).

To do all this. Everything Limit switches, Encoders etc. Will be rigged to interrupts to keep the load on the arduino Manageable. I feel it should be possible. If not I will replace the Nano with an ESP32 and learn the ins and outs of an ESP32. I got a couple for that purpose and “doing ESP32” is on my project list.

Each double controller will be I2C enabled. That means its a serial communication similar to can and configuration is similar to can, So that means the motors can be controlled from an I2C device which can be another arduino or any other programmable I2C master.

The Control will be G-Code inspired Even Motor numbers will be Motor 0 on the particular controller odd Motor 1, the rest will be the I2C address of the motore so for example

G1 M6 F-255;
Will mean G1(run) M0 on I2C address 3 in (-) reverse at speed 255 (full speed as speed is from 0-255)
G1 M6 F255 I20;
Same as above only with the added stipulation of “Dont exceed 20 Amps” So the plan is to allow on limiting the current and the controller will adjust the speed to not exceed the set current.
There will be commands to enable Limit switches set them to NO or NC, Put motor on Break, Reset encoder counter, run at speed/current until count reaches xxx. Set acceleration, deceleration, Hold a count (probably Bang-Bang, Maybe PID) Same with analog input if I do it. And probably more.

So right now I built the above test rig it can be configured (still need to print some gear sets anywhere from 1:1 to 1:22 or 22:1 depending which way you run it. With a CIM being a load to find a setup that gives a certain AMP load. Then the controller can be connected and we see what we get back and can tune the program to RL measurements. (This also in the future can work as a gear tester).

The whole thing can then be integrated and used to control other devices with an interface like this
Arduino Disp
Which is an Uno connected to a touch screen ( about <$10) and run via serial port in this case from a Mega2560. The reason being is that all pins except 1 analog and the serial ones are used by the display and the Uno is busy running the display. So again I use tome Gcode derivatives to control the display from the Mega. Probably will replace the Mega with an ESP32 as that has bluetooth and WiFi and this will allow remote control.

So my first candidate project will be the Tensile strength tester with the worm gear setup - or some other transmission if the worm gear is a flop. In this case no remote control but an UNO with a display controlled by another arduino which also controls the Motor(s).

Eventually full featured robot(s) are planned.

Today I had a little setback

Put the power source for the test setup together and had some smoke when I turned it on. I think I hooked the DFR0245-R up wrong and smoked it I will investigate closely tomorrow and might have to come up with “plan B” or get another one or make some other setup. The intent was to have a power source that gives me not only reliable power with fuses etc but also reliable data on current used. I might have to use a handheld meter and know that that in some cases is off by as much as an amp or 2.

I got a couple of weeks to work unimpeded on this but I also promised to work on some other things Like using fiberglass over a 3dp part. Plus even though I am retired there is only so much I can do so things take time. Hence if you want a quick “down and dirty” 12V controller for a couple of motors you can use an arduino, the online available basic BTS7960 library and connect a couple of BTS 7960 to it and there you go.

I am willing to help either publicly here or you can PM me if you have questions or want to collaborate.

If you want to do current monitoring I would suggest using one of Pololu’s current sensor boards: Pololu Current Sensors
They are far easier to use than trying to roll your own with external resistors and op amps. They are also pretty inexpensive.

A few year ago I developed an Arduino shield that included a very accurate +/-30A supply monitor with a Bluetooth module so that the team could use an Android phone/tablet to control and test just about any FRC component (motors, pneumatics, sensors, etc).

My team still use the ProtoRIO quite often to test systems and sensors. It was designed to be plug and play to simplify connections for the students and not require the need for programming. The android interface was created using MIT App Inventor that is designed to be easy to program (scratch like). I mention this because if you move to the ESP32, this would be easier and use less resources than attaching an LCD. You could also use the phone to do data collection and graphing.

Analog Devices was helping me to develop this for other teams to use, but COVID hit and the program got shelved. Since then I have retired, so I doubt it will make it out the door now that it doesn’t have a champion. If this sounds interesting, everything is open source and links are included in the users guides below. I do have a couple shields left over from our prototype build if think they would be useful PM me and I’ll send you one.

ProtoRIO Control Module Users Guide
ProtoRIO Motor Control Guide

1 Like

Google link say “you do not have access” Also first choice is to use the current output from the BTS7960 as that costs nothing (budget is tight) but I keep that in mind I also saw some stuff from DFrobot etc that might do the trick.

Cant find a place that sells it price is important for me atm. RN this is a project that is “build it out of what I have in the shop” But things will change so this sounds very interesting