The CNC Machine Lives!

This is a CNC machine that I designed and built from scratch from stock aluminum and steel. It is accurate to +/- .001" and uses solid brass bearings on 3/4" x 18" steel rods. While my original goal was to build a machine that could mill highly detailed circuit boards for electronics prototyping, it wound up being beefy enough to mill aluminum parts as well. I had no prior experience with metalworking and wound up using a combination of woodworking and machinist's techniques along with lots of custom jigs and clamps to keep from killing myself.

All three axis of a 60 pound newly-minted CNC machine assembled in a frame for the first time, proudly posing next to a couple of the tools used to build it. The Y axis (forward/back) height change was within .001". The X axis (right/left) was off by .010" from one side of the work plate to the other, but adjusted out with some tweaking on the vertical mounting bolts and their slightly oversized holes for that purpose. To make it easier to adjust X levelling, I turn gravity off by flipping the machine on its back. I really like how all the mechanics came out. I tossed a MagnaDoodle onto the plate and drew some circles. It sounded like an air raid siren. I was absolutely giddy.

A friend of mine once jokingly asked if I'd planted the wheat to feed the mules to bring the bauxite out of the mines to smelt into aluminum to machine into bars for the CNC machine. At one point, I had a rudimentary G-Code interpreter blindly outputting some bizarre commands out COM1 to a microcontroller board driving stepper motor coil chopper circuits at 20khz. I got the prototype interpreter and controller working but I abandoned it after realizing that getting it as feature-complete as I wanted and solving issues with responses and timing was going to be more work than the raster-to-G-Code converter and the CNC machine itself combined. Here are the schematics for the abandoned motor controller and driver portion of this project for people to laugh at or whatever.

I bought stuff from:
  • Online Metals - Aluminum bar, angle, steel guide rod
  • McMaster-Carr - Nuts, bolts, washers, solid slide bearings, chuck removal wedges, mechanical odds and ends
  • HobbyCNC - Motor controller and motors
  • DAK Engineering - TurboCNC turns my G-Code into parallel port motor control signals
  • VXB - Leadscrew Bearings
  • Ebay - I bought leadscrews from two different sources that appear to have since vanished.
  • The new spindle (thanks Mom!) is from Wolfgang Engineering and it's perfect. .001" details on the above PCBs are visible and repeatable. The channels are about .010" wide, but if I had a .006" or .005" mill, it looks like it would drive it no problem. I'm using an old PC power supply with the overcurrent sense pin desoldered to run it. The spindle maker's site is parked now, alas. I hope he's hearty, hale, and happy.
  • To convert a screw number to a diameter, multiply by .013" and add .060"