New Project: Granite CNC Minimill

My One True Love and I Stare into Your Soul

While perusing the shelves of MITERS I happened to stumble across the granite backing for an atomic force microscope. I’d heard about this granite piece from Ben earlier in the summer, and toyed with the idea of making a mill out of it. I’d since forgotten about it’s existence, but when I saw it I realized it was the project I’d been looking for.

A touch of background for all my non-mech friends: Granite is a very cool material. It is very strong, dense, and damps machine vibrations (all extremely good properties for a mill!!). This blob of granite also happens to be just light enough for me to pick it up, but just barely thicc enough to be way overkill for making a mill. CNC routers of this size are often made with 1/2″ linear shafts, which give acceptable performance. This should hypothetically be at worst case two orders of magnitude stiffer 🙂

I assembled the granite blob and threw it on my shelf. The granite and Z stage alone weigh about 80 lbs. The bottom is a 1.5″ surface plate, and the upright is 4″ thick at the base…


Having access to at least six mills on campus already, I knew that this mill would have to differentiate itself somehow from the pleb bridgeports.  I decided to head in the direction of high accuracy, shooting for 5 micron or preferably better.

I took some dimensions and began a preliminary CAD. I planned on scraping in some dovetail ways. A fun IAP project.


One sticking point I ran into was the ball screws. Looking for the best accuracy possible, I decided ebay ball screws probably weren’t gonna cut it. Also, the smallest ebay ball screws are all 12mm diameter and 4mm pitch, meaning that the ball nuts are massive. Fine for whatever router but just flat out won’t fit in this thing. The ideal option was 8mm precision ground ball screws, which are in the region of 500 smackers apiece. Bayley provided me the idea of asking for a ball-screw sponsorship from Misumi, a manufacturer/supplier of many a precision component. I sent off a professional-ish email and awaited a response.

Praying for sponsorship, I created a new CAD based off models from the Misumi website. Most notably, I decided to switch to linear guide rails as the linear motion component. While not quite as brick-solid, they are a lot less effort, more precise, and have less friction.


For mill-cad version 3, I decided to flip the X-axis linear guide rails right side up, making the table smaller but the saddle bigger. The primary motivation for doing this was that I couldn’t make bolt clearance to attach the guide rail sliders back-to-back on the saddle. The secondary motivation was that it just ends up fitting better. Turns out this is the configuration that many HAASs use.


With this lovely CAD all made up, it turned out that the price tag turned out to be over 1.7 american kilosmackers, which Misumi wasn’t too excited about. I had sort of expected this. I emailed my Misumi friends back, asking instead for just the X-Y linear guide rails. I redid the cad using only these parts.

Turning the shenanigans to the max, I decided to use linear shaft motors for this CAD revision.


These motors were loosely based on motors from However Bayley pointed out my numbers were off by about an order of magnitude, providing nowhere near enough force to drive my axis. These were not the linear motor I was looking for.

However there was a silver lining- Misumi had accepted my proposal! THANKS MISUMI 😀 . With the linear rails secured and still nothing physical to attach them to, I decided to ditch fancy linear motors and head down the proven path toward a working mill, using the finest of $13 Ebay lead screws:


With my lovely lead screws and guide rails in the mail I pulled a few 5am’ers to compute this lovely little CAD.


A major change made to this revision is the mounting of the linear guide rails directly to the granite base plate instead of on top of a sub-plate. I’ll need to drill a few more holes into the granite but I’ll get more travel out of the Z stage due to the lowering of the X-Y stage by about 10mm. The granite base plate is also almost certainly flatter than any surface I could machine, giving a better base for the rails.

Still to be done: Un-dangle the spindle motor and the X axis stepper. The spindle motor will likely be direct drive for simplicity.

Shot of the dangled Y stepper and the completed X stage static lead screw mechanics. I’ll likely need to drill into the granite to attach the Y stage mechanics.


I made a nice little mechanism for tightening the lead screw nut, using a little sliding wedge. I split the lead screw nut (shown in yellow- its brass) in half, so by sliding the wedge the two halves of the lead-screw nut become ever so slightly closer and farther apart, adjusting the tightness of the nut.


The spindle. It is similar in construction to the 2.72 lathes: big bearing tube with the angular contact bearings and some plates. The spindle itself carries an ER16 collet, and was also purchased on ebay for top dolla.


Overall I’m satisfied with the CAD, at least enough to commence making chips. Stay tuned for the millin n drillin!