Hack-a-Bot
Stepper motors + linear rails = free CNC
Dead inkjet printers are packed with precision components: stepper motors, linear rails, timing belts, optical encoders, and sheet metal frames. Harvest them to build an XY plotter that draws on paper, whiteboards, or walls. Bigger travel range than the DVD drive Disc Drawer, and the components are free from any e-waste pile.
This build is the stepping stone to full CNC. Same principles, same firmware (GRBL), same G-code workflow — just larger scale. Graduate from this to a laser cutter, 3D printer, or router with the same knowledge base.
The kit includes the controller and pen carriage. You supply:
The Full Send Kit includes all electronics and hardware. You supply:
Plug in USB, send an SVG, and watch it plot on A4 paper. Full CNC plotter from a dead printer.
Every Zero Shot unit is hand-assembled, firmware-loaded, sensor-calibrated, and QA tested before shipping. Premium boxed packaging included.
Harvest the linear motion components from a dead printer, reassemble them into an XY gantry, add a pen carriage, and control with GRBL. Same workflow as the Disc Drawer but with 10x the plot area.
Disassemble the printer and extract: the carriage rail and belt assembly (X-axis), the paper feed stepper motor and rollers (Y-axis candidate), any additional stepper motors, and the linear rod/rail. Keep the timing belts and pulleys — you'll reuse them.
The carriage rail from an inkjet printer gives you 200-400mm of X-axis travel. The paper feed mechanism provides the Y-axis. If the paper feed uses a DC motor instead of a stepper, harvest a stepper from a second printer.
Mount the X-axis rail on a flat base (plywood or MDF). Build the Y-axis perpendicular to X using the paper feed mechanism or a second printer's carriage rail. The pen carriage mounts on the X-axis slider. If building from two separate printer mechanisms, the timing belt and idler set from the kit bridges the gap.
Connect both stepper motors to the A4988 drivers on the RAMPS shield. Wire the pen lift servo to the Z-axis output. Mount the Arduino Mega and RAMPS board on the base frame, away from moving parts.
// GRBL configuration for printer stepper specs $100 = 80.0 ; X steps/mm (adjust to your motor/belt) $101 = 80.0 ; Y steps/mm $110 = 3000.0 ; X max rate mm/min $111 = 3000.0 ; Y max rate mm/min // ... full config in project files
Run the calibration routine: command known distances, measure actual movement, adjust steps-per-mm. Draw a test grid to verify squareness — if your X and Y axes aren't perfectly perpendicular, circles will come out as ellipses. Adjust the frame until the grid is square.
Convert SVG files to G-code using Inkscape's GCodeTools extension. Send to the plotter via Universal G-Code Sender. Start with simple line art and text. Graduate to complex illustrations, generative art patterns, or handwriting fonts. The project files include several ready-to-plot designs.
Complete source code, wiring diagrams, and documentation. Enter your kit code to unlock.
Don't have a code? Get the kit — code included in every box.