pic: 3d printable HTD pulley Generator

Here’s a screenshot from my latest Model Generator! Sorry it has taken me so long to release this one, finals and work have been crazy recently. Regardless, here it is:


This is a tool that can be used to make 3d printable pulleys with the same 5mm htd profile as the Vex Pulleys for 9mm wide belts. In the future/upon request I can experiment with other profile types/belt widths, however because of the sketchy way I did this one (my CAD students might kill me for some of the bad practices in this generator) it will be like starting from scratch.

With many teams using 3d printed pulleys more and more, especially in prototyping, I thought it would be cool to make a generator.

Three variables here:

  1. #Teeth
    Very simply the number of teeth
  2. #belt_thickness
    The thickness of the belt which sets how far up the flange goes. I made this a variable cause I was not sure, maybe someone can measure an actual belt (the default I stole from SDPSI) and I can adjust if its different.
  3. #Hex
    Due to the differences in 3d printers, even across the same model in the 1836 shop, often times making something to be .5" hex doesn’t always make it .5" Hex. For that reason I made it a variable, and it can be adjusted after a bit of testing to see what works best.

I can assure you that the tooth profile used in this generator is identical to the one vex has in their CAD’s, simply because I copy pasted the tooth profile from their CAD (and tested with other pulleys to confirm).

As always, I welcome all comments/feedback/suggestions, and happy CAD generating!



Some notes on printing:
On most 3d printers in most configurations, these pulleys will require supports. Shouldn’t be too hard to pull off, as the supports would only be along the outside of the teeth.

I will run some tests on an ultimaker this sunday, as well as maybe a few other printers I have access to, but I assume you want layer height to be around .3mm layer height (more than that wont help much, but that should help the part run pretty quickly) and 50%+ infill in terrahedral or a fancy pattern like that to maximize strength. A raft might be nice for some fdm printers, but especially if you have a heated build plate or are skilled with a spatula that may not be necessary.

If anyone wants to print some sample cases and let me/the community know how they work on their printer that would much appreciated.

Hope everyone enjoys!


If you removed a flange, or made the transition to the flange a 45* angle then no supports would be needed at all.

As a point of reference: I’ve been running GT3 pulleys and belts on an FTC scale drivetrain for a couple months now with no issues.

(I’m agreeing with Adam that you could remove flange)

Interesting ideas with removing the flange. Maybe I could even put in some holes like the versakeys to have 2-single flange pulleys come together and work for either a 15mm wide belt, or 2 9mm belts side by side like in a drivetrain application (please dont use 3d pulleys in a drivetrain without HEAVY stress testing). I guess then that would cover both types of belts commonly sold by vex, and could allow some versatility as well as mounting options.

Interesting stuff to think about…

Good job on an awesome tool. We use 3D printed HTD pulleys just about everywhere including the azimuth drives on the swerve which get a lot of abuse. The ability to generate any size easily is a good deal!

2 shortcomings we found from printing this geometry worth noting:

  1. Using our printer, we had to open the tooth profile by 0.002" otherwise the belt doesn’t engage fully. This is hard to notice since the belt seems to work but tends to slip and the natural reaction is to make the belt tighter which causes its own set of problems. I don’t know if this is something to add to the generator or not.

  2. There is a ton of hoop stress in the hex interface. The hub will crack and fail under extreme conditions. To fix this, we glued an aluminum washer around the hex in the hub. Install these washers, you won’t be sorry.

For more details refer to our white paper. There is a blurb in there referring
to said issues.

Thanks for the good tips, Mark.

I will run some tests in the next couple days and will test some updates in the geometry if I see issues with slippage. I have run 3d printed pulleys on prototypes, never competition products though so it will be interesting to see how they hold up through lots of testing.

To your point about hoop stress, I think printing with infill other than linear/concentric will help some, but it definitely needs some testing. I had also thought about using an actual vex hub with the versakeys mounting holes, but I’ll wait to see on Sunday how these pulleys hold up.

Are you making your 3d printed parts out of PLA/ABS or some alternative? I use PETG a lot at work and I was thinking about getting some for our team to improve the strength of parts like these. Any other alternatives you recommend?

Here is an updated HTD Generator with one flange and variable options for bolt/clearance holes that are pretty self explanatory.


Thanks to Adam and Andrew for the good idea with removing a flange, as I did not consider that before.

Here’s some screenshots in case people don’t want to load Onshape:

I’m not the actual mechy so I’ll just repeat the quote which is “polycarbonate using a commercial FDM type printer (Fortus400MC).” I’m sure you’ll understand what that means.

A better infill is a good idea, but beware that you could have problems with cracks at the hex vertices depending on your level of abuse. The vex hub is a great idea and was something we thought of doing but ran out of time so the washer idea worked well. It’s also lighter and takes up less space.

Good luck with the testing!

I printed HTD pulleys before, and what I did was decrease the width of the pulley to 0.488, then when in my slicing software, increase the scale to 102.5% and I get the belt and the hex both to work great, and then the width goes back to 0.5, I did that with the regular Vexpro CAD models that I exported to STL though, it made it quicker for me at the time, not sure if its something you want in the generator. Every printer is also different so it might not work for everyone.

Yeah, this is something to be careful of, especially with ABS or PLA. We used a 3d printed pulley to transmit torque to our flywheel this year, and ended up stripping the hex bore on it. Probably a lot of that was due to the combination of high speeds, high inertia and vibration, but it still makes me nervous about using ABS for high stress applications. Increasing shell thickness or infill might help with this, or using other materials as other people have mentioned (We test printed a pulley out of a nylon/carbon fibre composite that looks really nice, haven’t stress tested it yet though).

You definitely need to make sure areas around a hex bore in a print have a much thicker “shell” than elsewhere. For a high torque print like this, I would either print it solid (if I had more material than design time), or I would draw the infill pattern in it directly in CAD and print that model “solid” to ensure a sufficient hub thickness around the hex without making everything else too thick.

for teams with routers a .125" plate to add an aluminum hex is ezpz and well worth it.

Our team used HTD5 15mm pulleys printed from PLA on our ball intake this year. 17 tooth .5" hex. Printed solid. We played with the X Y scaling to get perfect tooth engagement. The hex bore was set slight undersized and cleaned up with the hex broach. I’ve noticed substantial differences with different PLA’s. For strength, I like Inland - Esun PLA+. We print hot at 230-235C, 70C bed. We just changed our swerve steering pulleys to PLA and they have seen 1 off season competition and hours of new driver training. They are 32T HTD5-15mm. 1 is .5" round bore with .125 key and the other 1" round bore with .125 key. Again, the bore was printed very slightly undersized and cleaned up with a reaming. The pulleys were printed at .4mm nozzle, .2mm layer height, .4mm width, 235C, 2mm top bottom, 5mm vertical walls, 40% infill with conical pattern(slicer3). They have been abused and no sign of wear or failure. We have all fall to see how they hold up. We have had failures this year, We have given up on ABS. We use PLA, PETG, Carbon-PETG, Will experiment with nylons and PC, in the future. Love how 3detech carbon-PETG prints.


A simple solution would be to remove the flanges, and instead use thin (1/32") aluminum to create flanges, adhered to the 3D print. Thin enough aluminum is easy to file into a decent hex, and you get reinforcement along with it.

has anyone ever tried to 3D print a pulley pinion for a 775pro before. right now they are out of stock at WCP so i though this might be another good option. We are wanting to use this for a demo bot wheeled shooter.

If your after a 12t 32DP equivalent you can remove the pinion from a Denso Throttle motor and use that, there is a slight difference in the tooth profile( metric vs imperial) but they mesh fine with WCP 32DP gears.

sorry i should had added to my post we were wanting a pulley pinion but that is a good thing to know. I might just get one and give it a try just for fun

I’ve been wanting to try the same thing, if you give it a try let us know how it goes, only thing I’m not confident about is the tiny shaft a 775 has, not sure how a printed pulley would hold onto that well.