CNC Machine Build with ThameShed

Over the past few months, I've been working with ThameShed to build a CNC machine from scratch. The goal is to create a reliable, affordable CNC platform for cutting wood, plastic and potentially aluminium, with as many parts made in-house as possible to maximise learning on tools such as a metalworking lathe and milling machine to machine the parts. If you are interested in the details, the full GitHub containing designs is here. This page documents our build process, decisions, mistakes, and progress so far.

CNC machine CAD model

The CNC design is a custom gantry-style machine, driven by stepper motors and using threaded rods to move the axis.

We settled on a moving-gantry design with a fixed bed, with dual x-axis motors. The z-axis motor is the smallest, to reduce the mass of the moving arm, hopefully this should keep the motion rigid and reduce deflection when milling. Finally the spindle motor is an AC motor with a Variable Frequency Drive (VFD). Here's a quick demo of the stepper motors in action. This early test used a simple gcode sender and an Arduino running GRBL to drive the X and Y axes simultaneously.

Electrical Panel

The electrical system is designed around stepper drivers and two 24V PSUs. Safety features include an e-stop, fuses, and shielded cables.

Electrical panel layout

We've tried to keep the wiring neat and modular, so that the panel can be quickly disconnected and debugged. Terminal blocks and DIN rails were used wherever possible, and all signals are labelled.

Software and Control

We're using GRBL-Mega for the low-level firmware, running on an Arduino Mega. The G-code is sent over via serial from a RaspberryPi, allowing for drag and drop of G-code onto the machine wirelessly. The Arduino provides useful visualisation, jogging, and macro capabilities.

Table build

The table was designed with solid pine wood joinery, with a metal frame for the CNC bed and gantry to mount to.

Table build in progress

Assembled CNC Machine and Integration Testing

You can follow the full build and contribute to the open-source design on GitHub:

View the project on GitHub

Thanks for following along! We'll be posting more updates as we test the machine and start producing parts. If you're interested in CNC builds, or want to build your own, we hope this serves as inspiration and guidance.