DIY CNC
Engineering / Manufacturing

DIY CNC

2024-02

Project Overview

This project stems from the goal of designing and building a custom CNC machine from scratch, developed as a practical application of the technical skills I've honed over the years. The entire structure was fabricated from pickled steel tubing, manually cut, prepared, and welded with special attention paid to overall rigidity and geometric precision. Flatness was verified through diagonal checks and progressive measurements to ensure optimal alignment of the reference planes.

The work includes not just the mechanical part, but also the machine's entire electronic and electrical system. I designed and wired a complete electrical panel, integrating servo motor drivers (750W x 4), a spindle inverter (4kW), ESP32-based control boards running FluidNC firmware, dedicated power supplies, and safety systems using circuit breakers and safety relays. I implemented emergency stop buttons (E-STOP), proximity sensors for safety, processing door closure monitoring, and interlock logic to ensure reliable operation compliant with good automation practices.

The machine employs a 3D touch probe for advanced probing operations, leveraging coordinates detected in the Cartesian plane to precisely determine centers, angles, and other geometric references. I developed dedicated macros to simplify zeroing, centering, and surface/angle verification procedures, improving repeatability and efficiency.

The worktable was designed with modularity in mind to facilitate workpiece clamping and adapt to different materials, from wood and plastics to technical foams. This project represents a synthesis of my journey: 3D modeling, welding, applied mechanics, electronics, software configuration, automation, and problem-solving. It is the result of an evolved DIY approach, developed entirely independently, from the idea to the functioning machine.

Gallery

Gallery 0
Gallery 1
Gallery 2
Gallery 3
Gallery 4
Gallery 5

Tech Stack

Fusion 360FluidNCESP32Steel WeldingElectronics DesignMacro Programming