DIY CNC Milling Machine


This project involves converting a milling machine into a robotic milling machine. The project was one that I would love to revisit, but perhaps with a different approach. The image above is small metal mill with servo motors attached making it a CNC, or Computer Numerical Control(ed) mill.

A mill typically has three axes of motion, x, y, and z. Adding motors to each enables a computer to control the mill. Mills usually have what is known as a lead screw to move each axis, but they have roughly 10-20 thousandths of an inch of backlash. To eliminate this, acme lead screws can be replaced with what is known as a “dual reciprocating ball nut lead screw”, which is what I did.

Once you have a zero backlash milling machine, motors can be added to make it computer controlled. I used DC servo motors, with PID motion control, which enables the stages of the mill to move precisely and quickly. Once this is setup, a number of software packages can be used to control the system. I used Mach-5 which is a windows based program.

The project was a wonderful learning experience, but given the chance again I would probably build a CNC router. Most projects I have worked on outsource CNC machining, since the cost of operating a mill is so high and sending parts out is so easy. CNC technology has been around since the 1950’s and is an interesting deep dive if you have the time.