HDPE machining

I’ve been meaning to make this post for a long time but didn’t get around to it- it’s mostly about an extremely useful “discovery” we’ve made in the 2020 season surrounding HDPE machining.

Our robot this year, Asteria, was very heavy on pulleys and belts. In past years, we would 3D print them so we were used to making custom tooth count pulleys pretty much all the time. However, during the season our 3D printer, at some point, just stopped working, and we still had lots of pulleys to make.

Since they were mostly custom, we couldn’t just buy them, and changing them to COTS pulleys would mean a big redesign for the whole robot, so the idea came up to machine them. Thanks to having a plastic sponsor, we just had a whole bunch of HDPE lying around, and seeing it was the most machinable material we have it seemed like the obvious choice.

This idea ended up going way better than we expected

Initially, we thought having a hex bore with 3mm fillets on it would allow us to fit a Thunderhex shaft through the hole, but what we accidentally discovered was that HDPE can actually be broached with a regular 7075 Aluminum Hex shaft, with no expensive broach or press required. Not only did this allow us to make custom hubs later on, but making pulleys on our CNC router ended up being way more efficient than 3D printing them- on the first attempt of this we managed to pull out ~80 pulleys, enough for serializers on both our practice and competition robots with some to spare, in roughly an hour of work start to finish. Because of how machinable HDPE is, we would usually run the router on very high speeds (at first 19k mm/min, though we would slow it down later for better surface finish).

All pulleys on the final competition robot would end up being machined this way, usually with a 3D printed flange on the top side where we couldn’t machine one. As far as i know we were the first team to do this, but i hope to see other teams with CNC routers adopt this method. Having access to custom pulleys makes working with belts a lot easier, not to mention it saves money over using COTS pulleys.


What size bit were you using? Did you have to modify the profile?

For HTD 5mm pitch pulleys we used 1/8" end mills, for GT 3mm we had to use 2mm. We kept the profile the same

Would you mind elaborating a bit on this part?
I’m assuming that you used a 3mm end mill and roughed out the hexagonal hole, then forced a normal aluminum hex shaft through afterwords as a makeshift “broach”. Is this correct? And when the “broaching” was done what tools were used? I am surprised that it didn’t take an arbor press or vice at least.

To quickly elaborate on this, our HDPE sheets came about 20 mm thick. We made the pulley teeth 18mm tall, then cut out a circular flange on the bottom 2mm. Then we 3D printed a bunch of 2mm plastic circles with the same hex hole, which was much quicker than printing whole pulleys, and bolted them onto the milled pulleys to get flanges on both sides. For some pulleys on the robot we needed two 15mm belts side-by-side so we bolted the two non-flanged sides together to get a double-width pulley. Overall the process worked very well.

Edit - I found some pictures and videos

Roughing the pulley blanks before milling teeth (this is in real time). You can see how many pulleys we made at once:

The finished pulleys in “storage”:

The double-pulleys assembled:


HDPE is super easy to machine. We machined a pulley for our turret out of delrin this year. Turned out really nice, don’t recall any adjustment to the profile. Will have to keep HDPE in mind for future pulley material.

@Timebomb , I’m not on team 5987 but HDPE is a soft enough plastic that you wouldn’t have much trouble pressing a hex shaft through a hex hole with rounded corners.


@AriMB that feed rate! What machine is that?

Do you climb or conventional cut? I’ve had issues with HDPE leaving whiskers when climb cutting, but it could have just been the tool I was using.

The machine is a CRP PRO4848. For an assemble-it-yourself router, it’s surprisingly sturdy. Pretty sure that’s using a 6mm endmill for roughing before cutting the teeth, don’t remember the exact feedrate but it’s probably close to the 19k mm/min @benjierex mentioned in the OP. The students do all of the CAM so I don’t remember if this was done with a conventional or climb cut, but I don’t think we had a problem with whiskers or anything like that.

1 Like

how did you design the pullys? did you use a software or manually make them in cad?

1 Like

Beware hex shafts may skip 1/6 of a turn in plastic. I’m afraid that I don’t have numbers on how much torque this takes, but it’s not that high, which my team learned the hard way in 2019 with a larger-diameter (~5 in) Delrin pulley that we machined. If your application calls for a larger diameter you may want to either make the center section extra tall or mount an aluminum versa hub.

This is also a big brain move to get a printed hex bore to be just the right size, rather than printing out a bunch of tests for that specific printer and filament and slicing profile and etc. Also takes care of the inherent radius on the edges if you’re not using thunderhex.

Ofc, bigger brain yet is to use this McMaster part and go crazy.


I’m pretty sure we used one of the many parametric pulley generators available online. I can’t say exactly which one we used (maybe one of the students remembers and can chime in), but you should be able to find what you’re looking for with a quick google search. No matter which generator you use, you should test one before machining in bulk to make sure you don’t need to add any offsets to adjust the fit for your machine.


Good idea if you’re in the US. Unfortunately, McMaster doesn’t ship internationally and inch size profiles are hard to find around here.

Also, how are the tolerances on something like that? From the product page, it says the OD is +/- 0.02" and the wall thickness is +/- 0.013", so the ID should be +/- 0.033", which is anywhere from an impossible press fit to an extremely loose fit. If you’ve used it before, were the tolerances really that bad or is that just a worst-case scenario?

We used climb, though we’ve had the same issue with the whiskers, we just didn’t try to do conventional. Does that actually solve it? Conventional just totally ruined some aluminum parts for us back when we tried it out and we didn’t wanna risk it with actual parts that go on the robot

Yup, that video is from the first time we tried doing it, that’s the first roughing operation at 19k mm/min

That was another issue we had, we had both GT and HTD generators that some team members made before the season but we found out the HTD one was wrong back when we were still 3D printing them so through most of the season we would just download CADs for HTD from traceparts. I’ve heard of teams using this, but we hadn’t heard of it until after the season.

That has happened to us in the past with 3D printed TPU parts. No problem with HDPE so far, even though we didn’t use it on very high load applications


It’s a machining trick i’ve heard a few times both on CD and some other FRC forums, and we checked it out in a CAD sketch, it says that if you mill out a hex hole with a 3mm endmill you should be able to fit a Thunderhex through it. We used an 1/8" endmill instead of 3mm, just cause it’s what we had lying around at the time.

Since we were just winging it and not taking the time to test offsets, the holes we milled were slightly undersized but they would become more loose fit after you pushed in the Thunderhex shaft, ending up with a pretty good press fit bore. So we had a few team members take the newly milled pulleys and push the shafts through them so they are ready for easy assembly, and i don’t know exactly how it happened, but at some point, one of them decided to do it with a regular hex shaft, and that was when we realized HDPE can be broached with a regular aluminum shaft. The broaching could be done by hand, sometimes with a hammer.


When machining plastics I try to use a brand new tool or a tool that has only cut plastics, and one that was designed to cut plastic. Any dulling or BUE from a metal and plastic cutting can get really disappointing from the perspective of burrs/strings and surface finish. Typically we are climb milling.

The geometry of plastic cutters is typically quite different from a metal cutting end mill. The differences generally focus on increased chip removal area in a plastic tool at the expensive of rigidity (which you obviously don’t need as much in plastic).


Do you have a video of to turret with this part?

We (33) have used it for a bunch of pulleys and such and never had issues with the ID tolerance at all. Consistently been a similar slip fit as existing COTS hex bore products on the market.

We would just chop it to length, and then apply some epoxy and light press fit into the pulley that was printed. Works really well and is super easy.

1 Like

This is the best I have handy. Software was testing gyro based turret unwinding before we had everything wired up. The pulley was a stack of 3 plates cut with the same profile.


Which also vary wildly, to the point that I wouldn’t use them in most industrial applications (machine timelines over 4 hours, actual precision/repeatability). But for a 4-hour FIRST robot, the equivalent of a dirty demonstrator prototype… they’re great :smiley:

Wow it’s perfect thanks