← All projects

Project 07 · 2024

3-Axis CNC Mill

A desktop CNC mill designed from scratch: mechanics, control board and software.

Role
Mechanics, electronics, software
Work area
200 × 150 × 200 mm
Spindle
500 W DC
Firmware
GRBL

07.1Summary

A fully custom 3-axis CNC mill able to machine materials such as aluminium and PVC. The X, Y and Z axes are driven by stepper motors; the mechanical structure, control board and software are all part of the project.

Overview: 3D model of the machine.
Fig. 1Overview — 3D model of the machine.

07.2Block diagram

CNC controller board block diagram 12–36 V input LM2596 12 V · motors LM7805 5 V · logic 12 V G-code computer · USB Arduino Nano ATmega328P · GRBL USB 5 V 3 × step driver X · Y · Z STEP/DIR Stepper motors + 500 W DC spindle

07.3Specifications

TravelX 200 mm · Y 150 mm · Z 200 mm
Axis drive3 × stepper motor, modular stepper drivers
Spindle500 W DC motor
ControllerArduino Nano (ATmega328P)
Supply12–36 V input
RegulationLM2596 → 12 V (motors) · LM7805 → 5 V (logic)
FirmwareGRBL
MaterialsAluminium, PVC

07.4Mechanical design

The frame is built from aluminium extrusions; steel lead screws are used on the axes for durability.

Mechanical 1
Fig. 2Mechanical 1
Mechanical 2
Fig. 3Mechanical 2
Mechanical 3
Fig. 4Mechanical 3
Mechanical 4
Fig. 5Mechanical 4
Mechanical 5
Fig. 6Mechanical 5
Mechanical 6
Fig. 7Mechanical 6
Mechanical 7
Fig. 8Mechanical 7

07.5Electronic design

The control board uses an Arduino Nano module: it is easy to replace, cheap and simple to program. The board drives three steppers through three modular drivers. From the 12–36 V input, an LM2596 produces a stable, low-noise 12 V for the motors and an LM7805 produces 5 V for the microcontroller.

The board has 5 status LEDs: green for the 12–36 V input, red for the 5 V rail, and three white LEDs showing signal activity on the X, Y and Z motor outputs (OUT1–OUT3).

Schematic: Control board schematic.
Fig. 9Schematic — Control board schematic.
PCB: Control board PCB design.
Fig. 10PCB — Control board PCB design.

07.6Software

The machine runs GRBL firmware, which handles G-code interpretation and motion planning. Development was done in the Arduino IDE.