A DEAD 3D PRINTER'S MOTORS REBORN AS AN OFF-ROAD 4WD ROVER
Four stepper motors from a dead 3D printer drive this all-terrain rover at 0.6 m/s, and the entire chassis is printed or reused from the same dead machine.
by Mark Makies
RoboticsWorkshop
Built with3D printing
- difficulty
- ●●●○○
- time
- a weekend-plus
- license
- license not specified
- repo
- repo ACTIVE4 stars
●●●○○ · a weekend-plus · license not specified · 4 stars · repo ACTIVE
WHAT YOU’LL NEED
Jump to section
COMPAREE VERDICT
Roverling is a genuine upcycle project: Mark Makies took four stepper motors, rods and other parts from a dead CTC 3D printer and turned them into an independent four-wheel-drive rover that moves at about 0.6 m/s fully loaded. The documentation is solid: a 22-step illustrated Instructables guide plus a GitHub repo with the MicroPython code, a KiCad schematic, a FreeCAD model and STEP and 3MF files for the printed parts. It is not a plug-and-play kit. You will hand-wire the stepper drivers on a proto board (Mark reused the A4988 driver modules from the printer's own motherboard, setting motor current with a PWM signal on Vref) and crimp your own signal cables. The firmware is MicroPython, so if you have never flashed a MicroPython board, expect a learning curve. Power comes from an 18 V power-tool battery through a printed adapter. The licence is CC BY-SA 4.0, so you can even sell builds as long as you credit Mark and share alike. For someone with a dead printer and an appetite for mechanical, electrical and software work, this is an excellent weekend-plus build.
IN THE REPO
GOOD TO KNOW
- —22-step Instructables guide with photos and the parts list, plus a GitHub repo with the MicroPython code, KiCad schematic, FreeCAD model and 3MF/STEP files for the printed parts.
- —The firmware is MicroPython (main.py plus an RC interface module) driving four step/dir/enable stepper drivers; any compatible step/dir driver works with current set appropriately.
- —No PCB — the electronics are wired on perf-board with screw terminals, so you will be crimping Dupont connectors.
- —Licence is CC BY-SA 4.0 on both Instructables and GitHub: commercial use is allowed with attribution, and derivatives must be shared under the same licence.
- —The build assumes you already have a donor 3D printer (or equivalent NEMA 17 steppers and hardware) and basic soldering tools.
- —Video shows it working on concrete and gravel; no BOM costing is given, but expect to spend on drivers, battery, radio gear and miscellaneous hardware if you buy rather than salvage.
Parts to buy
9 itemsFrom our check of the build. Exact quantities and part numbers are in the creator’s BOM.
Can I build this?
Build at your own risk. Projects involve tools, electronics and sometimes mains voltage — follow the creator’s safety notes.
Videos
Roverling - test 2, speed
Short test clips from Mark's YouTube channel showing the rover's speed and how it handles rough terrain; the build itself is documented on Instructables.
More builds like this
All projectsGallery
Start here
Navigation into the creator’s own docs — we don’t rewrite the guide, we route you to the source.
- 1.Read the full 22-step Instructables guide to understand the mechanical assembly sequence and electrical topology (The guide has photos for every major step; do not skip the driver wiring diagram)
- 2.Clone the GitHub repo for the firmware, schematic and 3MF/STEP print files (the parts list is in the Instructables Supplies section) (MicroPython code (main.py, RCinterface.py, a stepper test), the KiCad schematic, a FreeCAD model and STEP/3MF print files are all in the repository root.)
- 3.Decide whether you are salvaging motors from a dead printer or buying new NEMA 17 steppers — this dictates your BOM and timeline(If buying, verify the steppers are 1.8-degree, 200-step, and have sufficient holding torque for the rover's weight)
- 4.Salvage the stepper driver modules from the donor printer's motherboard (or buy step/dir drivers such as A4988)(Check how the current limit is set on your modules — the salvaged CTC drivers need a PWM signal on Vref)
Resources
Documentation, files and community threads for this build — we link straight to the original sources and never rehost the creator’s files.
KNOWN ISSUES
- Setting motor current on salvaged drivers: the A4988 modules from the CTC board have no trim pot, and their mode pin is wired to Vref, so Mark sets current with a PWM signal. Leave it floating and the motors have no torque.
- Underestimating the wiring: there is no custom PCB, so you will hand-wire four drivers on perf-board with screw terminals and Dupont connectors — this takes patience and a methodical approach or you will spend hours debugging intermittent connections.
- Skipping current tuning: the firmware sets a conservative limit, but if you use different motors or a higher-voltage battery you must measure and adjust Vref on each driver or risk thermal shutdown or skipped steps under load.
- Assuming any 3D printer motors will fit: the mechanical mounts are sized for the specific NEMA 17 form factor and shaft diameter from the CTC printer; verify your donor motors match or be prepared to modify the STLs.
- Expecting plug-and-play RC control: the firmware reads PWM signals from a standard RC receiver, but you must bind your transmitter, map channels correctly, and verify failsafe behaviour — if you have never set up an RC system, budget extra time.
Can I use motors from a different printer or buy generic NEMA 17 steppers?
Yes, as long as they are 1.8-degree NEMA 17 steppers with sufficient holding torque. Check the motor mounts in the STLs match your shaft diameter and mounting holes; you may need to modify the CAD if the donor printer uses a different screw pattern.
Do I need to write code?
No. Flash MicroPython, copy main.py and the RC interface module to the board, and wire everything as in the KiCad schematic. The drivers are controlled with simple STEP/DIR/EN signals; you only edit code if you change pin assignments or motor current.
How fast does it actually go, and can I make it faster?
About 0.6 m/s fully loaded, as documented. Stepper speed and torque depend on the supply voltage (an 18 V power-tool battery, roughly 15 to 20.5 V) and the current setting, so faster settings trade away torque.
Is there a way to avoid hand-wiring the perf-board?
Not in the current design: the drivers are hand-wired on a proto board. You could design a PCB from the KiCad schematic, but that is not documented.
Community builds
No community builds yet — be the first, we feature the best ones.
Discussion1
FROM THE COMPAREE TEAM
Four salvaged stepper motors, one on each wheel, running custom firmware at 20V in full 4WD — have you ever repurposed old 3D printer hardware into something that moves?
Mark Makies
Mark built Roverling to give his dead CTC 3D printer (a 2012-era Replicator Dual clone) a second life after it failed beyond repair. Rather than throw away perfectly good stepper motors, he designed a rover chassis around them and documented the entire build so others could do the same with their own salvaged hardware.
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 Instructables guide is the build tutorial, and the GitHub repo holds the MicroPython code (main.py, a stepper test and an RC interface script), a KiCad schematic, a FreeCAD model and the printed parts as STEP and 3MF files. The motors are driven by the A4988 driver chips salvaged from the CTC printer's mainboard, controlled over STEP/DIR/EN from a MicroPython board, so you do not need to buy new drivers. Power comes from an 18 V power-tool battery through a printed adapter, which puts the system at roughly 15 to 20.5 volts. Both the GitHub repo and the Instructables page use CC BY-SA, which allows commercial use as long as you credit the author and share alike. The two YouTube clips linked from the repo are short demos of the rover driving, not build walkthroughs. Correction (4 October 2026): we re-checked this page line by line against the project's own repository, documentation and videos, and fixed errors in earlier versions.