DIY CNC Milling Machine


In my twenties I had the chance to convert 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 Numeral Control(ed) mill.

A mill typically has three axis 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 slop. To eliminate this 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 opted for dc servo motors, with PID motion control, which is a way to move the stages of the mill precisely and quickly. Once this is setup, a number of software systems can be used to control the mill with an old computer. I used Mach-5 which is a windows based program.

The project was a great learning experience, but given the chance again I would probably build a CNC router. Most companies I have worked at recently 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 60’s and is an interesting deep dive if you have the time.