Building a Cheap DIY CNC Machine

This page is not yet finished.


A cheap & easy to build CNC Machine for drilling PCBs

After etching my first Printed Circuit Board (PCB), it immediately became clear that drilling the holes was going to be a problem. Not only are there a lot of holes in most PCBs, but the drill bits are so small that any horizontal movement results in the bit breaking. Although buying a drill press would solve the bit-breaking problem, drilling all those holes will still take a tremendous amount of time. The alternative is a CNC Machine.

Commercial CNC machines cost thousands of dollars, but with effort you can build your own for much less. Thankfully, there are many well-documented hobby CNC projects on the internet to help us through this process. A great source of inspiration for me was "Tom's Easy to build Desktop CNC Mill:"

And here are a few more CNC Machine designs that stood out:

I have found from experience that starting without plans generally results in great tragedy (at least when I build things). I therefore decided to design the machine in Autodesk Inventor, in order to have detailed building plans to follow. A few pictures of my design are below:

    
    

I did not have any experience with Inventor, so I had to teach myself. I didn't go into extreme detail with the Inventor design, like putting every nut and bolt into the assembly, but I was able to see what the machine would end up looking like and also get dimensions of parts from it - which was a great help when I started building it.

To make the seemingly overwhealming task of designing and building a CNC machine more managable, I broke the project up into sub-projects:

    The CNC machine

  • Design the machine.
    1. Sketch the basic design on paper.
    2. Model the full machine in Inventor.
  • Purchase the necessary parts
    1. Buy parts using dimensions from Inventor – allowing for a margin of error.
    2. Parts for the frame include 2x4's, bolts, nuts, washers, screws, skate bearings, and acrylic (plexiglass).
  • Build the machine
    1. Start by building the frame out of 2x4's.
    2. Put the aluminum trim channels on.
    3. Build the X & Y axis platforms out of plexiglass (bottom & top decks).
    4. Attach bearings to acrylic platforms so they slide securely along trim channels.
    5. Etc..

    The stepper motor controller

  • This board provides power to the motors and, when told to do so buy the microcontroller, turns the motors in either direction.
  • Details for the stepper motor controller are on this page.

    The microcontroller

  • My CNC control system is designed like this: User -> PC -> Microcontroller -> Stepper Motor Controller -> Motors.
  • The PC program (below) sends the hole locations and system commands to the microcontroller, which in turn sends the step signals to the stepper motor controller.
  • Details for the microcontroller board are on this page.

    The software

  • PC Program
    • The PC program parses an excellon drill file that the user loads for hole coordinates.
    • After calibration (including adjusting coordinates for board misalignment) the user can start drilling.
    • The PC program is like the "host," controlling everything, sending commands to the microcontroller.
    • More information about the PC program is available here.
  • Microcontroller firmware
    • The microcontroller is connected to the PC over USB and does only what the PC program tells it to.
    • When hole coordinates are received, step signals are sent to the motors until the drill location is reached, at which point the drill routine is started.
    • When the hole is drilled, the microcontroller lets the PC program know it's ready for the next hole.
    • The firmware (for a PIC18F4550) can be found on the downloads page.

Here are some pictures of the finished machine:


And a video of a test run: