How To (Correctly) Calculate HTD3M Pulley Diameters

I recently had to model and 3D print a big pulley for my e-bike project. Having printed several pulleys based on calculations I found online leading to failure, I had to figure the correct distance calculation for best results. You have probably already checked some online sources like daycounter and Pfeifer industries pages for this which give you the following formula:

\[\begin{equation} OD = \frac{Pitch \times N_{teeth}}{\pi} - 2 \times U \end{equation} \]

where \(OD\) is the outside diameter of the pulley, \(N_{teeth}\) is the desired tooth number on the pulley and \(U\) is the belt thickness, measured from tooth valley to flat side of the belt, pitch is also \(3\,mm\) for HTD3M. For the HTD3M, based on specs, \(U\) is \(1.19\,mm\). However, this formula (also used on calculation websites like daycounter) constantly led me to wrong outcomes, with outer diameter being too large for the belt. Having to reverse-calculate the \(U\) from specs pulley calculations, I found that the \(U\) should be \(0.38\,mm\). Therefore the formula is:

\[\begin{equation} OD = \frac{3 \times N_{teeth}}{\pi} - 0.76 \end{equation} \]

As an example, I wanted a 200 teeth pulley for the wheel side of the bike. The formula will yield:

\[\begin{equation} OD = \frac{3 \times 200}{\pi} - 0.76 = 190.23\,mm \end{equation} \]

Respectively, the inner diameter would be:

\[\begin{equation} ID = OD - 2 \times 1.21 \end{equation} \]

Here is a view of both pulleys I designed in Blender:

HTD3M 200 and 40 tooth pulleys created and rendered in Blender