A printed cycloidal drive that turns a NEMA 17’s 0.21 N·m into 1.28 N·m, documented with the ratio, the tolerances, the measured efficiency, and the version that did not work.
Most published maker projects show you the one that worked. This repository is organised around three versions, and the second one is a failure kept on purpose: a micro cycloidal drive shrunk to the same footprint as the stepper driving it, which a 3D printer could not hold to the tolerances a small cycloidal drive needs. Version three gives up the footprint, gets the clearances it wants, and runs.
The specification is unusually complete for a project posted by a teenager on a Saturday. 1:9 reduction from ten housing pins and a nine-lobed rotor. 90mm outer diameter. PLA. Four M3×8 screws and two 6704 bearings. A +0.15mm profile offset applied all round for print clearance. And then the part almost nobody publishes: measured output torque of 1.28 N·m against the bare motor’s 0.21 N·m, with an efficiency of 66 percent — that is, a ninefold reduction delivering about six times the torque, and the missing third accounted for rather than quietly rounded away.
The gearbox is the demonstration; the tool is the point. The repository’s real payload is a Python script that generates the rotor profile from first principles — pins, pitch radius, eccentricity, outer pin radius — with the geometric constraints enforced rather than assumed, including a check against the undercut limit. Change the pin count and you get a different ratio, since the reduction is simply one to N minus one. It is derived from a published SOLIDWORKS walkthrough and reimplemented as a parametric generator, which is the honest and more useful version of “I followed a tutorial.”
Two things to know before you clone it. The generator runs as a Fusion 360 script, launched from Scripts and Add-Ins — so no Fusion, no generator, and the CAD in cad_models/ is what you get. And this is a printed PLA demonstrator: 1.28 N·m is a real number for a printed part and not a number to design a robot arm around. The author says as much between the lines, listing the upgrades that would change it — MR128 bearings in place of the plain housing pins to cut friction, M2 screws with metal sleeves for the output pins.
What lifts it above a nice print is the discipline. A ratio, a tolerance, a torque figure with an error bar, and a failed version left standing where it can be learned from.