Introduction: How to Make a Three Axis CNC Machine (Cheaply and Easily)
The idea behind this Instructable was to fulfill my desire for a desktop sized CNC machine. While it would have been nice to purchase an off the shelf unit the issue of price as well as size proved prohibitive. With this in mind I endeavored to design and build a three axis CNC machine with the following factors in mind:
-Use Simple tools (needs only a drill press, band saw, and hand tools)
-Low Cost (this kind of got away from me however with everything bought off the shelf the cost for all parts is under $600 (significant savings could be made by skillfully sourcing some pieces))
-Small footprint (30" x 25" footprint)
-Usable working envelope (10" X-axis, 14" Y-Axis, 4" Z-Axis)
-Relativly fast cut rate (60" per minute)
-Small part count (fewer than 30 unique parts)
-Easy to source parts (all parts available from 4 sources (Home Depot + 3 online sources)
-Ability to cut ply-wood (Succesful)
Lets get started...
UPDATE: - Coming soon the ability to order pre-cut MDF pieces from oomlout
Step 1: Others Who Have Finished
A salute to those who have laboured through to this point (and to demonstrate that it is reproducable) Here are some pictures of other peoples machines.
Photo 1 - Chris and his friend put together this unit; laser cutting the parts out of half inch acrylic. Not only does it look super it must weigh a ton. But kudos, anyone who's worked with acrylic knows laser cutting it is great but it is a very very unfriendly material to drill and there is a lot of side drilling in this design. Good job guys, check out more details (and photos including some testing with circuit boards) on Chris's blog rainbowlazer.com. I particularly like his work with making 3-d objects out of 2d cuts (here) .
Photo 2 - Sam McCaskill has finished his desktop CNC machine and it's looking really really nice. Super impressively he also resisted the urge to cheat and cut all his pieces by hand. I'm really impressed.
Photo 3 - Angry Monk's - With MDF pieces cut on a laser cutter and drive converted from toothed belts to threaded rod
Photo 4 - Bret Golab's - Bret has completed his and gone through the extra step of getting it setup to work with Linux CNC (a task I attempted and was foiled by complexity). If you're interested in his settings you can send him a message (Instructable ID: bretlyssii ) ). Great job Bret!
(If you have built one and would like it featured here, please send me a PM and we can arrange for the sending of photos)
Step 2: Specs.
I'm afraid I don't have the space (or the expertise for that matter) to go into the fundamentals of CNC here but there is one websites in particular I found quite useful in my research.
CNCZone.com - A discussion forum which has a DIY machine section which is a wealth of knowledge ( direct link )
Machine Details:
Cutting Head: Dremel or Dremel Type Tool
Axis Details:
X Axis
travel: 14"
Drive: Toothed Timing Belt
Speed: 60" min
Acceleration: 1" per second2
Resolution: 1/2000"
Pulses Per inch: 2001
Y Axis
Travel: 10"
Drive: Toothed Timing Belt
Speed: 60" min
Acceleration: 1" per second2
Resolution: 1/2000"
Pulses Per inch: 2001
Z Axis (up down)
Travel: 4"
Drive: Threaded Rod
Acceleration: .2" per second2
Speed: 12" min
Resolution: 1/8000"
Pulses Per Inch: 8000
Step 3: Required Tools
The goal was to try and keep the tools required within the realm of an average handyman's shop.
Power Tools:
-Band Saw or Scroll Saw
-Drill Press (drill bits 1/4", 5/16", 7/16", 5/8", 7/8", 8mm also Q (5/16" closest imperial drill bit)
-Printer (seemed like the right category)
-Dremel or Similar Tool (to attach to the finished machine)
Hand Tools:
-Rubber Mallet (to provide "persuasion" when neccesary)
-Hex Keys (5/64", 1/16")
-Screw Driver
-Glue Stick (UHU) or spray adhesive
-Adjustable Wrench (or 7/16" socket and ratchet)
Step 4: Required Parts
The attached PDF (CNC-Part-Summary.pdf) provides detailed cost and sourcing information for each and every required part. Listed here is only a summary
Sheet Stock --- $20
-a 48" x 48" piece of 1/2" thick MDF (any 1/2" sheet stock can be used I have plans to make my next version out of UHMW but cost was prohibitive this time around)
-a 5"x5" piece of 3/4" thick MDF (this is used to make spacers so any piece of 3/4" stock found around the shop could be used)
Motors and Controllers ---- $255
-An entire instructable could be written on chosing a controller and motors. In short what is required is a controller capable of three axes of control (with pulsed step and direction inputs) and motors with about 100 oz/in holding torque. I sourced mine from http://hobbycnc.com they have worked well and the kit was quite easy to solder. ( direct link )
Hardware--- $275
-These parts can be acquired from three places. The conventional items can be acquired at Home Depot, the specialty drive products are easy to find at any industrial supplier, I used McMaster Carr (http://www.mcmaster.com) (I chose them because they have a nice online store), and finally because of the large number of bearings required I found the best price from an online seller (http://vxb.com) which sells 100 for $40 (leaves quite a few left over for other projects) ( direct link )
Software --- (free)
-What is required is a program to draw your designs (I use CorelDraw), and a programme capable of interpreting these files into pulses to be sent to your controller. I'm currently using a trial version of Mach3 ( http://www.machsupport.com )but have plans to convert to LinuxCNC (An open source machine controller which uses linux) ( http://www.linuxcnc.org )
Router Head--- (extra)
-I attached a dremel type cutting tool to my machine however if you are more interested in additive construction (like fab@home or RepRap) you may wish to look into their deposition tools.
Details
-the metric components and especially the cross nuts aren't very popular and I had to visit several Home Depots in my area before I had enough.
-I couldn't find a way to link to parts directly on the MCMaster Carr site. To find them go to www.mcmaster.com and search for the part #
Step 5: Printing Pattern
I had some experience Scroll Sawing pieces so I choose to use a glue on pattern method. What is required is to print out the PDF pattern files onto tiled pages, then glue on each pattern, and cutout each piece.
File Name and Material:
Summary: CNC-Cut-Summary.pdf
0.5" MDF (35 8.5"x11" tiled pages): CNC-0.5MDF-CutLayout-(Rev3).pdf
0.75" MDF: CNC-0.75MDF-CutLayout-(Rev2).pdf
0.75" Aluminum Tube: CNC-0.75Alum-CutLayout-(Rev3).pdf
0.5" MDF (1 48"x48" page): CNC-(One 48x48 Page) 05-MDF-CutPattern.pdf
(note: I've added a DXF version of the 0.5" MDF pattern to this step (DXF-05-MDF-SimpleDXF.dxf) I have removed the cross drilled holes and writing from this file to make it a manageable size, if anyone would like any of the drawings in a different format or including different information please just drop me a line and I'll do what I can)
(note: I've included the original CorelDraw format drawings in a zip file (CNC-CorelDrawFormat-CutPatterns(Rev2).zip) for anyone who wishes to do some editing)
(UPDATE: There is now a choice in patterns for the 0.5" MDF layer, you can download one file (CNC-0.5MDF-CutLayout-(Rev3).pdf ) with 35 8.5"x11" pages tiled, or you can download one file (CNC-(One 48x48 Page) 05-MDF-CutPattern.pdf) which has the entire layout on one 48"x48" page to print on a large format printer or tile yourself)
(Step by step)
1.Download the three layout pdf files
2.Open each in Adobe Reader
3.Goto the Print Dialog
4.(IMPORTANT) in the page scaling dialog select "none"
5.Check to make sure the file didn't accidentally get scaled to do this measure the printed ruler on page one of each pattern (make sure it matches up with a ruler you trust) (I didn't do this the first time and accidentally printed out a copy at 90% size more on this later)
Attachments
C:\Documents and Settings\Aaron\My Documents\Plotter Stuff\00-Active\Instructable Files\CNC-Cut-Summary.pdf
CNC-05-MDF-CutPattern(Rev3).pdf
CNC-075-MDF-(Rev2)CutPatter...pdf
CNC-075-Aluminum-CutPattern(Rev3).pdf
DXF-05-MDF-SimpleDXF.dxf
CNC-CorelDrawFormat-CutPatterns(Rev2).zip
CNC-(One 48x48 Page) 05-MDF-CutPattern.pdf
Step 6: Gluing Down the Pattern
Next step is to Glue the pattern to the MDF stock and Aluminum Tubing
1.Glue the tiled pages to your sheet stock (MDF) ensuring the edges match up
2.For the aluminum tube the pattern must be glued to two sides. If the Tube is laying flat on a table and you glue the side A patterns to the top side B can be glued on either of the side faces.
Tips:
-Use lots of glue
-Have something near by to help push down each piece
-Patience
(if anyone else has tips on doing this I would love to hear them)
Step 7: Cutout Pieces
Not too much to say for this step simply cut around each outline.
Step 8: Cheating
I must apologize at this stage I succumb to the desire to cheat. As mentioned earlier I accidentally printed out my initial pattern at 90% size. Unfortunatly I did not realize this until this stage. So left with a 90% scale set of pieces and having moved across country I was now within reach of a full size CNC router table. I gave in and cut my pieces using this machine. However it was unable to do the drilling of holes so back to the real steps (this is why all the pieces from here on out do not have paper patterns glued on them)
Step 9: Hole Drilling
I have not counted but this project requires a lot of holes. The holes which are drilled into the edge of the material are particularly important so just take your time, you'll appreciate it later when you need to use the rubber mallet only sparingly.
The areas with holes drilled overlapping are an attempt to create grooves if you have a table router that would work much better for this.
Step 10: Assembling
Step 11: Software, Wiring and Configuring
Almost there. All that is required is to wire up your motors and controller following their instructions, and to set up your control software using the included instructions and the machine specific details included here in step 2.
Step 12: Finished

First Prize in the
The Instructables Book Contest
818 Comments
13 years ago on Introduction
A big thanks to the author, oomlout for this terrific instructable. I read this about one year ago, and purchased a kit from outland86 soon after. I now have a fully working CNC machine thanks to them!
I want to provide a 3D model of this machine that I made in Google Sketchup for everyone to use to help learn more about how this machine fits together. I've checked with the author, and he's fine with me providing it to the community. I wish I had something like the model when I was first assembling the machine; it took a lot of trial-and-error to figure it all out. Hopefully this model will make the road easier for future CNC'ers.
I made this model because I plan to expand the Y-axis to 36", so now I have a virtual copy of my machine to modify. Enjoy!
http://sketchup.google.com/3dwarehouse/details?mid=23e1c5366b479dca8963c446242873ee
Reply 6 years ago
This is the updated link to 3d:
https://3dwarehouse.sketchup.com/model.html?id=23e...
Reply 7 years ago
the sketch up model link is not working does anyone have this model? i would like to convert it over to fusion360
Reply 7 years ago
do you have an updated link
Reply 7 years ago
I was also hoping for an updated link. Is there one?
Reply 13 years ago on Introduction
So is this the modified version or the original one? Please tell me...
Reply 13 years ago on Introduction
This is the original model, as designed by author. I have not shared my expanded design with anyone else.
Reply 13 years ago on Introduction
OK Thanks!!
Just what I was hoping for... I wanted the original version...
Thanks a lot for sharing this!!
-Wayne Rodrigues.
Reply 13 years ago on Introduction
do you mind exporting this in a seperate format other than Sketchup???
Reply 13 years ago on Introduction
Sorry, I can't do that. The Pro version of Google Sketchup is required to export to other formats, but I only use the free version. Anyone who has Sketchup Pro could do this very easily, any volunteers?
Reply 13 years ago on Introduction
"The Pro version of Google Sketchup is required to export to other formats..."
Not its not. You just got to add some things to it.
Waddya want to export the file as? STL? DXF?OBJ?.X? Find the ruby script you want, download and install it.
By the way, Google Sketchup (free version) can also export COLLADA files (.dae or Digital Asset Exchange), which can be imported into a variety of other programs...
Reply 13 years ago on Introduction
Sounds good robotguy4!
To the rest of you: now you've got an easy way to convert the sketchup model to whatever format your heart desires. Enjoy!
Reply 13 years ago on Introduction
Very cool, thanks for doing this!
15 years ago on Introduction
I started to build this over the summer. i had the parts laser cut at my college from the DXF file. i just completed it a week ago after modifying it for better precision on the X and Y axes. i replaced the belt dives with threaded rod so now i can step forward 0.001" no problem, i think i can even do 0.0005" fine.
modifying the X and Y axes for threaded rod control isn't that bad, the only hard parts were making the new motor mounts and controlling both sides of the Y axis with one stepper. i ended up controlling both the Y axis threaded rods (one on each side) by mounting the timing belt pulleys on the ends of the threaded rod and running a timing belt around the rods on the back of the machine.
the reason for all this is because i want to do very small precise machining. i already have milled a couple propeller molds, to lay carbon fiber over, that are 1" in diameter and need 6000 lines of G-code to mill. i actually have another being milled right now. they came over very nicely.
i have a video of my machine in action but its hard to see any details of the prop because of its size and because my camera won't auto focus during a video. http://www.youtube.com/watch?v=_rdFn6b7b6o
Reply 10 years ago on Introduction
Nice build excellent instructions tried to find wiring schematic is there one ? ...Jerry
Reply 10 years ago on Introduction
I bought a Probotix kit for this CNC machine, and the product webpage has a wiring diagram. Check it out:
http://www.probotix.com/3_axis_stepper_motor_driver_kits/3_axis_probostep_stepper_motor_driver_kit/
Reply 14 years ago on Introduction
Hi I, like you, prefer to use threaded rods. Do you have a drawing of the modification? Thanks and best regards from now Hector Ushuaia
Reply 15 years ago on Introduction
Hello,
I'm building one right now. The purpose of the machine is to mill PCB's i need the machine accurate to 0,001 . Did you try the machine with the standard building? How accurate it worked? Can you put images of the changes you have done?
Reply 15 years ago on Introduction
yes, i tried the machine with the standard planes. the Z axis is fine at 0.001" res, probably more. the X and Y belt driven axes were only good for about 0.002" res. note my micro stepping was at 1/4. i didn't want to increase micro stepping because that is more of a software way of increasing resolution, i want to increase resolution the hardware way so i know i'm really getting what i want. when i switched to threaded rods i did get a slower traverse speed on those axes but increased accuracy. i also needed a larger stepper for my Y axis because it was driving two threaded rods as opposed to one. a final note is that i used (2) screw in T-nuts to attach each threaded rod to the machine (and ball bearing at the ends for support and to reduce friction). the purpose of two T-nuts is so that they can both be attached to the machine but tightened against each other a little to help reduce backlash. this creates more friction on those axes but it greatly reduces backlash to near nothing. for this mod i just got a 205oz-in stepper from HobbyCNC, and a 77" timing belt (same type as the kind used here) from mastercarr. everything else: timing pulleys, 1/4" bearings, 8mm bearings etc.. i reused. i used the 8mm bearings to fashion some extra pulleys on the back side of the machine for the 77" timing belt.
Reply 15 years ago on Introduction
Wow, not sure I ever thought anyone would actually complete the build but your machine looks awesome (sorry grew up on ninja turtles). Would you maybe have a photo which includes the full machine I would love to add on another step to the Instructable showing other peoples versions. (could you send it to me in a private message along with any relevant info you'd like included about your machine (of course only if you'd like it to be there) Also very impressed with your conversion to threaded rod, there are a lot of applications where the toothed belt just isn't precise enough.