Show HN: I'm a 15 Year Old Wannabe Engineer, This Is a Cycloidal Gearbox I Built
⚙️ Project: 3D Printed Cycloidal Gearbox
Created by a 15-year-old aspiring engineer
This project focuses on the creation of a cycloidal gearbox—a mechanical system designed to efficiently convert high-speed rotation into high-torque output.
🛠️ The Evolution of the Design
The development of this gearbox happened in three distinct stages, moving from a proof-of-concept to a fully functional mechanical drive.
Iteration History
- Version 1: A manual, hand-operated prototype. Its primary purpose was to verify that the custom Python generator was producing accurate geometry.
Version 2: An attempt at a "micro" version with a 1:9 ratio. The goal was to match the footprint of a NEMA 17 motor. However, because 3D printing lacks the extreme precision required for such small tolerances, this version was unsuccessful.- Version 3: The first fully operational version powered by a NEMA 17. By increasing the overall footprint, the design allowed for more forgiving tolerances, resulting in a stable, working gearbox.
💻 The Python Generator
To create the complex curves of the cycloidal disk, I developed a Python script inspired by a Building a Cycloidal Drive with SOLIDWORKS guide.
The Mathematics
The geometry is defined by the following parametric equations:
Where the angle is calculated as:
Key Note: The resulting reduction ratio is , with the rotor spinning in the opposite direction of the input shaft.
Setup & Execution
To use the generator, follow these steps:
- Clone the repository from GitHub.
- Open
Fusion 360. - Navigate to Scripts and Add-Ins using the shortcut
Shift + S.
# Example: Cloning the project
git clone https://github.com/tom-ilan/cycloidal_gearbox.git
Configurable Parameters
| Parameter | Symbol | Description |
|---|---|---|
| Pins | Number of outer pins (Rotor lobes = ). | |
| Pitch Radius | Determines the outer housing size (must be checked against to avoid undercutting). | |
| Profile Offset | - | Sets the angular step and clearance (use a positive value for 3D printing gaps). |
| Bolt Radius | - | Defines the placement of output pins and rotor holes (). |
🚀 Deep Dive: Version 3
The files for this specific iteration are located in cad_models/version_3.
Technical Specifications
| Metric | Detail |
|---|---|
| Gear Ratio | 1:9 ( pins, 9 lobes) |
| Outer Diameter | 90 mm (9.0 cm) |
| Motor | NEMA 17 Stepper (42bygh40-A24dh) |
| Material | PLA |
| Hardware | 4× M3 8 screws, 2× 6704 Bearings |
| Tolerance Offset | +0.15 mm |
| Output Torque | |
| Input Torque | |
| Efficiency |
📈 Potential Improvements
To further optimize the system, the following upgrades are planned:
- Reduce Friction: Swap the static housing pins for
MR128bearings to boost efficiency. - Increase Rigidity: Replace the 3D printed output pins with
M2screws and metal caps to handle higher torque loads.