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

FULL CAD BOM FIRMWARE DOCS

RoboticsWorkshop

Built with3D printing

difficulty
●●●○○
time
a weekend-plus
license
license not specified
repo
repo ACTIVE4 stars
1
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.

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 items

From our check of the build. Exact quantities and part numbers are in the creator’s BOM.

  • Four NEMA 17 steppers and their A4988 driversFind
  • 18 V power-tool battery with the printable adapterFind
  • MicroPython boardFind
  • RC receiver and transmitterFind
  • Voltage regulatorFind
  • Proto boardFind
  • FuseFind
  • SwitchFind
  • Wire and screwsFind

BUILDS OF THE WEEK

Five open-source builds worth your weekend, every week.

Checked like this one: what’s really in the repo, what it costs, how hard it is. One email, unsubscribe anytime.

Can I build this?

PrintCorners, platforms, stepper brackets, wheels and tyres, battery holder and clip, and switch holder (3MF and STEP files provided).
BuyFour NEMA 17 steppers and their A4988 drivers (salvaged or bought), an 18 V power-tool battery with the printable adapter, a MicroPython board, RC receiver and transmitter, voltage regulator, proto board, fuse, switch, wire and screws
ToolsSoldering iron, wire strippers, crimpers for Dupont connectors, hex keys, screwdriver set, multimeter for current tuning, and a 3D printer (or access to one)
SkillsIntermediate: soldering and hand-wiring four stepper drivers on a proto board, setting motor current (via PWM on Vref for the salvaged A4988s), flashing MicroPython and setting up an RC transmitter and receiver.
TimeA weekend-plus — printing alone takes most of a day, wiring and tuning the drivers will take another half-day, and mechanical assembly plus firmware upload and testing will fill the rest; faster if you have built stepper-driven robots before
CostMid band if you buy everything new; much less if you salvage the motors, drivers and rods from a dead printer. The project gives no cost figure; the battery, RC gear and MicroPython board are the main purchases.
SafetyNo mains voltage. The 18 V power-tool battery can deliver a lot of current — fit the fuse, insulate every joint and disconnect the battery while wiring. Stepper drivers get warm under load; give them airflow.

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 projects

Gallery

img.youtube.com
img.youtube.com

Start here

Navigation into the creator’s own docs — we don’t rewrite the guide, we route you to the source.

  1. 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. 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. 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. 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?

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.

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.

GitHub Web

Star the project on GitHub

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.