Project 07 · Machine build · GRBL motion control
Custom CNC Machine
A CNC machine I designed and built from repurposed 3D-printer parts, with the motor-control side wired and configured by me: external stepper drivers on an Arduino CNC shield running GRBL. It cut acrylic for the projects that came after it.
- Period
- Aug — Dec 2025
- Role
- Independent engineering project
- Tools
- GRBLArduino CNC shieldStepper driversCAD3D printingAcrylic fabrication
- Development
- 100+ hrs
- Firmware
- GRBL
- Controller
- Arduino
- Cuts
- Acrylic
§ 01
Why build it
I needed a machine that could cut acrylic for the projects I was working on, and I'd rather build the tool than buy it. So I designed and built the CNC machine myself, repurposing 3D-printer components instead of starting from a kit.
The part I cared most about was the control side. I wanted to wire and configure the motor control myself rather than plug in a prebuilt controller box, which meant designing the interface between the drivers, the Arduino, and the machine.
§ 02
Mechanical design
The motion hardware came out of 3D printers: stepper motors, timing belts, and linear guide rods. Around that I designed my own frame and brackets in CAD, 3D printed the parts that had to exist, and assembled the axes by hand.
The lead screw couples to its stepper through a flexible coupler, which absorbs the small misalignments you get when a frame is built by hand instead of machined square. A lever-arm microswitch at the end of the rail marks the axis limit.
§ 03
Electronics & motion control
Motion control runs on an Arduino CNC shield with GRBL — open-source firmware I configured and integrated, not something I wrote. The work was the interface around it: adapting external stepper drivers to talk to the shield, and laying out the power and wiring to run them.
The drivers, switching supply, and Arduino live in an open tray I built for them, so the whole control stack stays accessible when something needs reworking.
I also printed and wired a handheld pendant with abort and resume buttons, so the machine can be stopped and restarted from the bench instead of at the computer.
§ 04
Result
After over 100 hours of development and testing it became a machine I actually use: it cut acrylic for the projects that came after it, including parts for the rocketry work on this site.
Video
First iteration
The bare gantry running a full axis stroke: the carriage travels the length of two polished steel rods, driven by a timing belt. No spindle and no workpiece yet — this is the motion working before the rest of the machine existed.
Next project · 08
Rocket Project v1