YOU CAN 3D PRINT A BICYCLE THAT RIDES ITSELF WITH NO RIDER
A 3D-printed bicycle that rides itself upright with no rider, balanced by a spinning reaction wheel inside the frame.
RoboticsWorkshop
- difficulty
- ●●●●○
- time
- a weekend-plus
- license
- MIT
- repo
- repo ACTIVE5 stars
●●●●○ · a weekend-plus · MIT · 5 stars · repo ACTIVE
WHAT YOU’LL NEED
- 3D printer + filament — printable parts — files are in the repo
- Electronic parts — full list with part numbers in the repo BOM
- Dev board / microcontroller — runs the project firmware
- Soldering kit + basic tools — one-time buy, serves every future build
Partner
COMPAREE VERDICT
This is a reaction-wheel inverted pendulum on two wheels: a gyroscope measures tilt, and a brushless motor spins a flywheel to generate corrective torque. The physics is elegant, the prints are straightforward, and the BOM is specific enough to order without guessing. What will take time is PID tuning — the default constants in the code are for the creator's exact motor and wheel inertia, and yours will be different. Expect to spend an evening tweaking gains while the bike tips over. The repository has no assembly guide and no description of the coordinate frames, so you will be cross-referencing the STLs with the firmware to work out which way the gyro mounts. If you have built a balancing robot before, this is a satisfying step up. If you have not, budget time for the learning curve and a few crashed prints while you dial it in. The single thing most likely to go wrong: ordering a motor with different KV or inertia, then spending hours fighting instability because the control loop is tuned for hardware you do not have.
IN THE REPO
NOT IN THE REPO
- —STL files for all printed parts and the frame geometry are present.
- —Full bill of materials with specific motor, gyro, and driver part numbers.
- —Arduino firmware with PID tuning constants and pin assignments.
- —No assembly guide or tuning walkthrough — you read the code to understand the logic.
- —MIT licence, unrestricted use.
- —No video from the creator, all demonstration footage is user-contributed.
Can I build this?
Build at your own risk. Projects involve tools, electronics and sometimes mains voltage — follow the creator’s safety notes.
Partner · KickstarterHeyGears G1: 10M+ colors and transparent parts in one print, plus UV printing on flat objects. Figures, parts and labels — no painting.
Gallery
Start here
Navigation into the creator’s own docs — we don’t rewrite the guide, we route you to the source.
- 1.Read the BOM and order the exact motor and gyro listed, or accept that you will retune the PID. (Motor specs matter — a different KV or rotor inertia changes the control response.)
- 2.Print the frame and all mounting parts, then dry-fit to understand the assembly sequence.(No step-by-step guide, so lay the parts out and trace the load path before gluing.)
- 3.Flash the Arduino, mount the gyro exactly as shown in the pinout comment, and power on with the bike held upright.(The coordinate frame is implicit in the code — gyro orientation must match or you will get positive feedback.)
- 4.Tune the PID gains in small steps, testing on a soft surface until the bike holds itself upright.(Start with proportional gain, then add derivative, then integral. Log the gyro output if it oscillates.)
KNOWN ISSUES
- Buying a motor with different specifications (KV, inertia, pole count) — the PID constants in the code are tuned for the listed motor, and a mismatch will cause instability or sluggish response.
- Mounting the gyro in the wrong orientation or with the wrong coordinate frame — the firmware assumes a specific axis is vertical, and reversing it creates positive feedback that immediately crashes the bike.
- Skipping the dry-fit and gluing parts before understanding the assembly order — some mounts are only accessible before the frame closes.
- Starting PID tuning with all three gains at once — the bike will oscillate violently. Tune P first, then D, then I.
- Using a weak or unbalanced LiPo — the reaction wheel draws high current during corrections, and voltage sag will starve the motor mid-correction.
- Expecting it to balance on the first power-on — even with the default gains, you will need to adjust for your exact hardware weight distribution.
Can I use a different motor?
Yes, but you will need to retune the PID gains. A motor with higher KV will spin the reaction wheel faster for the same input, which changes the derivative response. A heavier rotor gives more torque but slower reaction time. Budget an extra evening for tuning if you substitute.
How fast does the reaction wheel spin?
The firmware does not specify a fixed RPM — it commands the ESC based on tilt error. Peak speed depends on your motor's KV and the battery voltage, typically several thousand RPM during hard corrections.
Does it steer itself or just balance?
Just balance. It has no steering actuator, so it rolls in whatever direction you point it. Adding autonomous steering would require a second control loop and a driven front fork.
What happens if the battery dies while it is balancing?
It tips over. The reaction wheel cannot hold position without power, and there is no graceful shutdown — it is an unstable equilibrium by design.
Community builds
No community builds yet — be the first, we feature the best ones.
Discussion1
FROM THE COMPAREE TEAM
The firmware ships with PID constants tuned for one specific motor and inertia — how long did it take you to retune for your hardware?
Dmitrii Tomin
Dmitrii Tomin built this as an experiment in reaction-wheel stabilisation, publishing the full mechanical and control design under MIT licence. The repository has no narrative or build log — just the files and code needed to replicate it.
DISCLAIMER
- Comparee is not the author of the projects featured here. All rights to each project belong to its creator — every page links to the original source, and we never host creators’ files.
- Information is provided without warranty and may become outdated as projects evolve. Prices are indicative bands only — always check the creator’s parts list for current costs.
- Building and operating any project is at your own responsibility. Protective equipment, safe workshop practice and compliance with local regulations are the builder’s responsibility.

CompareeTEAM1mo agoedited
Practical notes from our verification: the repository is active but minimal — no assembly guide, no photos of the internal layout, and no video from the creator. The demonstration footage in the reel came from community builders who posted their results in GitHub issues. The BOM is complete and specific, which is rare for control projects like this, but expect to cross-reference the STL filenames with the Arduino pin comments to work out which part goes where. The single biggest time sink is PID tuning if you deviate from the listed motor.