top of page

DIY CNC Mill

This project represents my abilities in 2020

IMG_2234.HEIC.heic

Overview

After using my 3D printer for my projects last summer, I knew that I was rapidly approaching the limits of what I could make with an FDM machine. At the time, I wasn't sure what could enable me to take my projects to the next level, as I had previously considered CNC machining to be out of reach for a hobbyist, let alone a college student. On a whim, I decided to join a few machining forums on the internet to see what might be possible.

​

Surprisingly enough, there was a way for me to machine my own projects, a CNC mill conversion. A mill conversion seemed simple enough at the time, you purchase a cheap import manual mill and replace all the motion components with precision replacements, and attach stepper motors to drive the axes. Once I pulled the trigger and received all the components however, it quickly became apparent this was going to be no easy task.

IMG_1623.HEIC.heic

The stock manual mill I purchased

I sourced the following components for my conversion:

  • 1 Manual Mill

  • 3 Precision Double Ball Nut Ballscrews

  • 2 nema23 motors

  • 1 nema34 motor

  • 2 Motor mounts for nema23 motors on the x and y axes

  • 1 motor mount for a nema34 motor on the z axis

  • 3 couplers for the axes and motors

  • 3 Stepper motor drivers

  • 1 48V 12.5A power supply

  • 1 5V 2A power supply

  • 1 C10 Breakout board

  • A 32-bit Windows XP computer with a parallel port

  • Plenty of tooling/work holding fixtures

IMG_2033.HEIC.heic

The original ACME screws

IMG_2034.HEIC.heic

The new precision ballscrews

IMG_2141.HEIC.heic

The first step of the conversion was to completely disassemble the manual mill. The only piece left was the base of the Y axis. After some research, I decided to pay a machine shop to mill out a larger cavity for the Y axis ballscrew, increasing the work volume of my mill. By replacing the origional ACME screw that was in the mill with a double ball nut ballscrew, I was going to lose ~1.5" of Y travel, so thats how much I asked them to mill out. I would've tried to do this step myself, but my new manual mill happened to be completely disassembled.

​

The next step of the conversion was to insert the Y axis ballscrew into the base. I ended up accidentally losing a few balls out of the screw in the process, so I unfortunately had to learn how to repack a ball screw.

The Base of the Y axis

IMG_2612.HEIC.heic

Repacking the Y axis ballscrew

IMG_0684.PNG.png

Inserting the ballscrew into the base and motor mount.

With the Y axis ballscrew in place, I then slid the x-axis baseplate onto the dovetail of the base. The Y motor mount was then attached to the base and the ball nut block was aligned to be perpendicular to the base and secured with a set screw to the x-axis base plate. 

IMG_2153.HEIC.heic

The Y-axis dovetail

Prior to being placed on the base plate, the x-axis base needed to have some material remove from its core to accomodate the x-axis ballscrew. This proved to be a common theme in this project, as the quality control process for these manual mills seems to be lacking on many dimensions.

IMG_0691.PNG.png

The Y-axis Motor

I then inserted the gib and attached the motor to the y axis. The gib adjustment was key to the proper operation of the mill, and took several tries after troubleshooting issues with the movement of the axes.

IMG_0694.PNG.png

Adding the x-axis ballscrew to the base

IMG_0696.PNG.png

X-axis gib adjustment

I didn't realize it at the time, but the block on the Y-axis ballscrew that attached to the x-axis base actually interfered with the dovetail of the x-axis table when it was added. I noticed this when the gib for the x-axis would not insert close to its full length, while it had fit perfectly prior. It took a decent bit of trial and error to figure out the block was the issue.

IMG_2183.HEIC.heic

Material removal to make room for the larger ballscrew

IMG_0695.PNG.png

The x-axis table added to the mill

The x-axis table was added again, and the motor mounts and motor were secured to the table. The gib was adjusted to properly limit the travel of the table to be perpendicular to the other axes, while at the same time not creating too much friction between the ways.

IMG_2003.HEIC.heic

Reattaching the spindle head to the mill

IMG_0682.PNG.png

Attaching the z-axis motor mount and motor

IMG_3771.HEIC.heic

My 3D printed mill head tramming tool

Once the head was on the mill, I had to tram it so that the spindle was completely perpendicular to the horizontal plane of the x-axis table. I ended up making my own tramming tool to save money, and I didn't get any back cutting with my largest cutter (2.5" face mill), so i think it did a decent job.

Electronics

While the electronics of this project may not be as much the focus of this project as the mechanical, I definitely learned just as much getting them up and running. This project represented the first time I'd used stepper motors and drivers, not to mention having to learn to copy operating systems from 20 years ago onto new hard drives.

​

IMG_3943.HEIC.heic

The Completed Electronics Setup

Before I could determine if my stepper drivers were wired and setup correctly, I needed to solve the issue of the CAM computer. The whole theme of this project was cost efficiency, and many modern CAM programs cost hundreds of dollars a year to operate. But there is a workaround, MACH3. MACH3 is a piece of CNC control software origionally released in the early 2000s, that can be purchase for a one time cost of $175. The catch? It only runs on a 32-bit copy of windows XP, and requires a computer with a parallel port. This is quite a specific machine setup to find ~20 years after its release.

IMG_1584.HEIC.heic

Using the linux CD to unlock the computer

Eventually I found an old machine on craigslist that fit the bill, and used some questionable software I found on the internet to bypass its password. Sadly however, its hard drive failed after a couple weeks. This set me back several weeks as I scrambled to find another machine, and I ended up having to buy a windows XP installation disc from across the world in order to load the OS onto new hard drives.

IMG_1549.HEIC.heic

The electronics hardware

With the first working XP machine, I could then work to wire all of the electronics hardware together. This took a little trial and error, as a few of my components didn't have sufficient documentation or wiring diagrams.

IMG_1634.HEIC.heic

The complete setup booting for the first time

IMG_3887.HEIC.heic

The Final Electronics Box

Summary

While there were moments in the 6 months it took to get the mill fully functional that I had doubts about this project, it really did pay off in the end. Not only do I have a fully functional CNC mill in my garage for a fraction of the cost, but I also have the intimate knowledge of its hardware necessary to troubleshoot issues with machining jobs that may arise. 

​

For videos of the mill in action, use the button below to check out the video of the mechanical watch I made!

This project really was a lot more than I had anticipated, and there's too many lessons and setbacks that I had to possibly include on this page. If you were interested and had any questions about the experience, feel free to give me a call at (978) 270-6115.

I can't discuss building the mill without thanking those who made it possible, namely my father, who helped me troubleshoot the build and graciously gave me the corner of his garage, and both my father and grandfather, who inspired in me a love of building early on in my life.

IMG_0150.PNG

© 2022 by Michael Finnegan.

bottom of page