This is my cycloidal gearbox I built, and the python script I created to generate it!
This gearbox was a handcranked gearbox specifically meant to test the validity of the python cycloidal generator. It had a gear ratio of 1:9.
This design was a micro cycloidal gearbox with a ratio of 1:9, meant to only take up the same footprint as a NEMA 17. Due to the tight tolerances needed for a small cycloidal drive and the lack of precision offered by 3D printing, this design did not work.
This gearbox was the first working version to run on a NEMA 17. It has a larger footprint compared to Version 2 allowing greater tolerances and a fully functional design.
This python script was based on the SolidWorks article Building a Cycloidal Drive with SOLIDWORKS. The two main parametric equations I used were:
- Clone the repo
- Open Fusion 360 and launch Scripts and Add-Ins (
Shift + S). - Under the Scripts tab, click
+(Plus) to add a script. - Select the
cycloidal_generatorfolder and click Run.
-
Pins (
$N$ ) & Pitch Radius ($R$ ): Sets outer stationary housing geometry (Rotor has$N-1$ lobes). -
Eccentricity (
$E$ ): Input shaft offset distance. (Constraint: $R > E \cdot N$). -
Outer Pin Radius (
$r$ ): Roller pin radius. (Constraint: validated against undercut limit $r_{\text{max}}$). -
Precision / Profile Offset: Angular step size and tolerance offset (
$+$ for 3D print clearance). -
Output Pins & Bolt Radius: Defines concentric output pins and rotor clearance holes (
$r_{\text{pin}} + E$ ).
Note
This section is dedicated to Version 3, whose CAD files can be found under cad_models/version_3.
| Metric / Parameter | Value / Detail |
|---|---|
| Gear Ratio | 1:9 ( |
| Outer Diameter | 9.0 cm (90 mm) |
| Drive Motor | NEMA 17 Stepper Motor (42bygh40-A24dh) |
| 3D Printing Material | PLA |
| Primary Fasteners / Hardware | 4× M3 × 8 screws, 2× 6704 Bearings |
| Tolerance Offset Applied | +0.15 mm (+0.015 cm) all around |
| Gearbox Torque | 1.28 N·m ± 0.0061 N·m |
| Base NEMA 17 Torque | 0.21 N·m ± 0.0061 N·m |
| Efficiency | 66% ± 0.220% |
-
The housing pins can be replaced with MR128 bearings allowing for less friction and higher efficiency in the gearbox.
-
The output pins can be replaced with M2 screws with metal coverings to increase rigidity, maximum torque output, and the efficiency of the gearbox.

