DIY CNC Router




Introduction: DIY CNC Router

About: I enjoy building things more than actually using the things I build

If you have any interest in purchasing a kit version of this machine please click the above button and complete the form so that I can gauge the level of interest.

This instructable will show you how to construct a CNC Router that will allow you to cut 3-D shapes out of wood, plastic and aluminum using a standard hand held router. Recently I have noticed that more and more projects on instructables have involved the use of some sort of CNC machine, be it a laser cutter, 3d printer, milling machine, etc. I wanted to join this revolution of digital fabrication and start making my projects even better using these tools. So about a year ago I set out to find a way to make this possible and came to conclusion that a simple 3 axis CNC router would be the best option to get things going. I started doing some research and decided to design and build my own machine. This instructable steps though all the parts needed to build the machine I have designed and the reasoning behind why I built the machine the way I did. It also includes an explanation of CNC technology and would be a great reference for anyone looking to learn some metal fabrication skills. My hope is that someone might use these plans to build this router for themselves or at least draw some inspiration from my design. I have created 2d drawings of all the parts with complete dimensions and specs, details on how to build each part, a complete parts and tools lists with prices and links, a basic wiring diagram and an explanation of the design.

I have designed this router to be very versatile and hope to also use this same machine as a 3-D printer and a hot wire foam cutter in the future. This machine is constructed from rectangular steel tubing and aluminum plate and was fabricated using a small horizontal band saw, bench top drill press and flux core MIG welder. There is no need for high precision and expensive tools to build this machine. Using the techniques I have listed in this instructable for marking, centering, drilling and tapping anyone with the desire to build something well, will be able to complete this project. There are no angles to cut or parts that seem impossible to get right, just straight cuts and holes to drill. The machine bolts together and can be adjusted for square and levelness on each axis.

For those of you who already know about CNC routers here are the specs for my machine.

Travel: X-Axis 23in
Y-Axis 13in
Z-Axis 6in
Linear Guide: Fully Support Round Linear Rail and Mounted Bearings (20mm, 16mm, 12mm)
Linear Drive: 1/2”-10 5 Start Precision ACME Screws and DumpsterCNC Anti-Backlash Nuts
Drive Motor and Controller: Gecko G540 Controller with Gecko 280oz-in NEMA 23 Stepper Motors
Construction: Welded 1”x2” Steel Tubing and 3/8” Thick Aluminum Plate
Spindle: Bosch Colt Trim Router
Rapid Speed: 200ipm (inches per minute)
Cutting Speed: 1/4" end mill, full width cut, 0.100" depth of cut, 50ipm, material - hardwood (This is a fairly easy cut and is probably less than half the true cutting capacity)

Step 1: What Is CNC

Let’s start with the basics for anyone that is new to this.  CNC stands for Computer Numerical Control, which extends to many different applications but in most cases is used to describe a machine that is controlled by a computer to remove small amounts of material from a larger piece of material.  Most of these machines use a spinning bit with sharp edges to scrape away small slices of material in a very controlled fashion until the desired final shape of the material is left.  Through the use of computers very precise shapes can be cut from almost any material.

So that was really basic, let’s get to some of the specifics on my type of CNC machine.  There are many different types of CNC machines but they are most distinguishable by the type and size of material they are designed to cut.  In general if someone refers to a CNC “milling” machine they are referring to a metal cutting machine and if they say it’s a CNC "router" it means a machine made to cut wood, plastic or other soft materials.  This instructable will show you how to build a CNC router.

If you are learning about CNC and have considered building your own machine I would highly recommend taking a look at this website  There is a wealth of knowledge about designing your own CNC router and well as explanations of the different types of router designs and list of terms commonly used in CNC lingo.  When I first considered building CNC machine I was lucky enough to stumble across this site and it helped me make a lot of the basic design decisions early on.

Once you have read though all you can on the you can step up to the big leagues and join the forum.  Here you will find a vast amount of information and huge community of active users all doing the things you want to do for your CNC.  There is a specific section of the forum for CNC routers and many build threads have been posted that will make you drool with jealousy.  Have a question about CNC? A simple search of this forum will most likely answer any and all of the CNC questions you have.  Keep in mind though that a lot of acronyms and jargon are used on cnczone but if you have read cncroutersource you should be able to figure it out.

Step 2: CNC Router Design

One of the aspects of any home built CNC machine is the use of each material in the construction of the machine vs the quantity of that material you have to buy. You are only building one machine so you don't want have to buy more material than you need to build that machine. You especially need to consider this when deciding the length of travel you want for each axis, because this decision effects almost every other part of the machine. This was the general design process I went through for my CNC machine
  1. Decide what length of travel you need for each axis (if you have a specific project in mind for your cnc then start with it's sizes requirements)
  2. Decide what type of linear motion system you will use for the machine
  3. Decide what kind of linear drive you will use for each axis
  4. Decide what type of drive motor and controller you will use
  5. Decide the material you will use to construct the machine
  6. Based on the previous decisions, design a machine on paper or a CAD software of you choice (this does not have to be a complete design, just enough so you know the total quantity of the materials you'll need)
  7. Determine if you will need any special tools for your design
  8. Determine the overall cost of your design, which includes the cost of tools you may not have
  9. Decide that you can't spend that much money on the machine and return to step 1
I went through this process 5 times before coming to a final design.  The pictures show the different versions of the router as my design progressed. I know most people would consider this to be overkill but for me doing all this important. I knew that once I finished actually building the machine I would have something that fit my needs and my budget without any headaches do to poor planning.

Here is my thinking for each one of the design steps I outlined:
  1. Travel: My first thought for a CNC machine was to build molds for the vacuum forming machine I have already built. So I decided to build the machine with roughly 12”x24”x6" of travel because that how big the forming platen is on my vacuum forming machine.
  2. Linear Motion: There are many options to choose from for linear motion. Commonly used methods for CNC routers include, drawer slides, skate bearings, v-groove bearings, round linear rail and profile linear rail. These are ordered in terms of cost, I would recommend going the best system you can afford. You can save some money in other areas of the machine but getting a good motion system will pay off in cutting quality. I chose to use round linear rail. This system uses precision ground and hardened steel shafts and linear bearings that use small steel balls that roll on the shaft and re-circulate through channels within the bearing. This offers smooth low friction movement and has good resistance to forces placed on the bearing in any direction. There are many different manufactures of these types of rails and bearings and costs can vary quite a bit. I got my rails and bearings from a reseller in China on ebay. The ebay store is linearmotionbearings and the prices were the best I found online. They often sells kits with three sets of rails and two bearings for each rail, which is what is needed for a 3-axis CNC. The kit I got uses 20mm x 800mm long rails for the x-axis, 16mm x 500mm long rails for the y-axis and 12mm x 300mm long rails for the z-axis. This kit cost me $223 dollars shipped.
  3. Linear Drive: The three basic options to drive each axis of a CNC router are ribbed belts, screws, and a rack and pinion. The most common on DIY CNC routers are ACME screws, ball screws and rack and pinion setups. Screw drive systems work by attaching a nut to the movable part of each axis, a threaded rod is then fed through the nut and locked into position at both ends. The screw is turned by the drive motors and the nut moves along the screw. ACME screws have trapezoidal threads that are either cut or rolled into a steel rod. ACME screw threads are used on common C-clamps. Their thread shape makes the screw stronger than the threads on standard bolts. When these threads are precision cut they are perfectly suited to drive a CNC router. Probably the most common and cheapest ACME thread size is 1/2"-10. That means1/2” in diameter and 10 threads per inch. Ten threads per inch means that if the screw in spun around 10 times the attached nut will move 1 inch along the screw. For any screw size multiple individual threads can be cut on the screw, this is referred to as the number of starts the screw has. A single start screw has one thread a 2-start has two threads and a 5-start has five threads. What is the significance of multiple threads on a screw? Well there are two things that make multiple start screws better for CNC machines. First multiple start screws are more efficient at turning the rotational force on the screw into linear force on the nut. This means it takes less torque for the drive motors to move each axis. Second, multiple start screws increase the lead of the screw, which is how far a nut would move if the screw was rotated once. To determine the lead for a screw divide the number of starts by the number of threads per inch. For example, a 1/2”-10, 5 start, ACME screw would have a 5/10 or 1/2” lead. This means for every rotation of the screw the nut moves 1/2”. This is important because the electric drive motor can produce the most torque at low speeds, and with a higher lead the nut will move farther per revolution of the screw and that means the motor can spin at a lower speed to move the axis of the machine. For my machine I chose to use a 1/2”-10, 5 start, precision ACME screw from Mcmaster Carr for all 3 axis.
Another important thing to note is how precise the fit between the nut and the screw is. A standard nut on a bolt will wiggle a small amount back and forth and in CNC terms this is known as backlash. You want to reduce the amount of backlash you have between the nut and the screw because every time the screw changes rotation direction that small amount of play in nut will throw of your CNC position off and your parts might not come out correctly sized. There are ways with both hardware and the software you use to reduce the amount of backlash you have. On the software side there are simple settings that can compensate for backlash and on the hardware side you can use an anti-backlash nut. I purchased anti-backlash nuts from dumpsterCNC and again you can find part numbers on the parts list. Typically the effects of backlash can be reduced to the point that parts can be made to within a few thousands of an inch.

  1. Drive Motor: For CNC routers two basic options exist, stepper motors or servo motors. Stepper motors are used in the vast majority of DIY CNC routers. CNCroutersource has some excellent information comparing these two types of motors. The key difference in these motors is servo motors provide position feedback to ensure proper positioning while stepper motors do not. I chose to use stepper motors for my machine mainly due to cost. Servo motors are more expensive and require more expensive controllers then comparable stepper motors for the sizes that are commonly used on CNC routers. Also stepper motors are highly supported in the DIY router community and are available from many different retailers. When looking in to stepper motors and controllers I found many options and price ranges from less than $100 to more than $500. When deciding what to get for my machine I came to the conclusion that these systems are so universal that I could use my controller and even steppers for other CNC projects in the future. Knowing that I wanted to get good performance and long term reliability I decided to go with American made components from Gecko. I purchased a Gecko G540 stepper controller which can control up to 4 stepper motors at once and connects to a computer through a parallel port. I also purchased 4 280oz-in, NEMA 23 stepper motors from Gecko which are also made in America. The control software I decided to use is called Mach3 and it uses a computer's parallel port to send signals to the G540 which controls the stepper motors. Mach3 CNC control software can be downloaded and used for free, but is limited until you buy the software for $150. Mach3 is probably the most widely used software for DIY CNC machines and is well supported.
  2. Construction Material: Most DIY CNC routers are built using either MDF, aluminum extrusion, or steel. MDF can be easy to work with and cheap to buy and many first time builders use this material. Slotted aluminum extrusion, commonly from a company called 80/20, is used on many DIY CNC router design plans available on the internet. It offers many design options due to the large amount on mounting brackets and configurations the slotted design allows. Aluminum extrusion would also be the most expensive of the three methods I listed. Steel is also used to construct many DIY routers. Square tubing, angle, and flat stock are common and can usually be locally sourced. In most cases steel machines are welded together so a welder and the ability to weld are necessary. Steel is generally going to be less expensive per foot than aluminum extrusion. I chose to use 1”x2”x0.065” steel tubing to construct my CNC router. I was able to purchase a single 24ft piece from a local steel supplier, Industrial Tube and Steel. They even cut it in half so I could load it in my car. If you don’t have a local steel supplier I would suggest looking at speedymetals, I have purchased from them before and they have good prices and deliver fast. I have experience welding and a flux core welder, which is similar to MIG welder but doesn’t require shielding gas. If you want to get more information about welding take a look at this great instructable from Phil B, Learning to Weld. Using steel also requires the use of metal working tools. I used a small horizontal band saw to cut the tubing and a small bench top drill press to drill holes. I have included a few tips about working with metal and some tools that make life a lot easier in this instrucable.
  3. Design: You can use what ever software you are comfortable with when designing the machine. You could even just draw your machine on paper.  123D from Autodesk and SketchUp from Google are both free 3D modeling software programs you could use.  Many of the parts I used on this machine came from McMaster-Carr.  Their website provides drawings for many of the items they sell including 3D models which can be downlaoded for free. 
  4. Tools: I used a number of tools to build my CNC machine and they are listed on the Tools step. Some of the tools are specific to working with metal and are essential to getting the best results. I also made a few of my own tools to make building this machine much easier.
  5. Cost: I estimated my cost for the complete machine and electronics around $1500.

You now know my decisions and hopefully understand my reasoning. I think I have a pretty good combination of parts that has exceeded my expectations. If you decide to build a machine based on my plans I have everything laid out in the following steps.

Step 3: CNC Router Parts and Materials

Here is the list of the main components needed to build this CNC mahine:

Category Part Number Description Supplier Qty Price/ea Total
Hardware 91290A228M5x12mm SHCS, (sold in packs of 100, 2 packs needed) McMaster 2 6.89/pack 13.78
93070A123M5x12mm SHCS Low Head (sold in packs of 50) McMaster 1 9.63/pack 9.63
91290A334M6x35mm SHCS (sold in packs of 100) McMaster 1 10.16/pack 10.16
1620758-32 Machine Screws with nuts lowes 1 $1.00 $1.00
2159013/8” Threaded Rod with nuts and washers lowes 1 $10.00 $10.00
578701/4"-20 x 1.5" Bolts with nuts and washers lowes 6 $5.00 $5.00
CNC Specific Parts AC12105-LN1/2"-10, 5 start Acme clamping shaft collar dumpsterCNC 3 $25.00 $75.00
AC12105-TC1/2"-10, 5 start Acme anti-backlash nut dumpsterCNC 3 $10.25 $30.75
9889T201Oldham coupler, 1/4" bore, clamping McMaster 3 $15.75 $47.25
9889T204Oldham coupler, 1/2" bore, clamping McMaster 3 $15.75 $47.25
59985K63Oldham Coupler Disc McMaster 3 $5.02 $15.06
99030A7041/2"-10, 5 start Precision Acme Screw, 6ft long McMaster 1 $57.50 $57.50
6157K141/2" bore clamping shaft collar McMaster 3 $2.47 $7.41
2938T111/2" bore bronze bushing w/ flange McMaster 6 $0.63 $3.78
N/ABosch Colt Router Mount k2CNC 1 $55.00 $55.00
N/ABosch Colt Hand Held Router Amazon 1 $100.00 $100.00
N/ALinear Rails and Bearings linearmotionbearings, Ebay 1 $223.00 $223.00
Electronics G540G540 Stepper Motor Controller Danmauch, Ebay 1 $240.00 $240.00
G723-280-4Gecko 280oz-in Stepper motor, dual shaft Gecko 3 $60.00 $180.00
29592948V 12.5A Power Supply Jameco 1 $114.95 $114.95
15748DB9 Male Connector, Solder Jameco 3 $0.55 $1.65
15771DB9 Female Connector, Solder Jameco 3 $0.55 $1.65
15722DB9 connector Hood Jameco 6 $0.49 $2.94
645722Cat 5e Cable, 100ft (only about 30ft is needed) Jameco 1 $14.95 $14.95
61192848V Relay Jameco 2 $4.49 $8.98
1945268Lever Switch Jameco 6 $1.35 $8.10
69792Combination Power Switch with light Lowes 1 $7.99 $7.99
70684Outlet Lowes 1 $0.48 $0.48
565928ft 12-3 power cord Lowes 1 $10.00 $10.00
7739grounded(3 prong) power conector Lowes 1 $2.77 $2.77
103392Enclosure (12"x12"x6") Lowes 1 $35.00 $35.00
Material N/A1x2x.065" Steel Tubing 24ft Industrial Tube and Steel or 1 $48.00 $48.00
N/A1x1x0.125" Steel Tube 6ft Industrial Tube and Steel or 1 $15.00 $15.00
8975K683Aluminum 6061, 1/4" Thick X 2-1/2" Wide X 3' Length McMaster 1 $17.88 $17.88
8975K441Aluminum 6061, 3/8" Thick, 6" Width, 1' Length McMaster 2 $17.72 $35.44
1658T43Aluminum Tube, 3/8" OD x 0.145" ID x 8ft long McMaster 1 $6.61 $6.61
8975K713Aluminum 6061, 1/4" Thick X 2" Wide X 3' Length McMaster 1 $17.23 $17.23
374614'x8'x3/4" MDF Sheet Lowes 1 $32.00 $32.00
Total $1568.19

I know this list is missing a few minor things that most people already have, so I didn't include them.  Most people will need to buy these parts in order to build the machine.

Step 4: Tools

This is a list of the tools I had to buy to build the machine:

Tool Description Part Number Supplier Price
5/8" Dia. Reduced Shank Drill Bit 2933A28 McMaster $20.37
Drill Tip Counter Bore for M5 SHCS 29445A23 McMaster $15.78
Hand Tap, 5mmx0.8mm Pitch 8305A36 McMaster $5.90
Dykem Layout Fluid 2131A15 McMaster $7.79
Tap Magic Cutting Fuid 10015K16 McMaster $9.69
De-burring Tool 4289A35 McMaster $7.15
Scribe 6808A14 McMaster $3.86
Right Angle Welding Clamp 190939 Northern Tool $50.00
Total $120.54

I also used these tools that I already had:

Horizontal Bandsaw
Drill Press
Center Punch
Tap Handle
4.5" Angle Grinder
Combination Square
Flux Core Welder
Transfer Punch Set

Step 5: CNC Router Plans

Attached are all the drawings with complete dimensions and specs in "DIY CNC Router Drawings.pdf"  The parts list pdf contains all the parts and tools listed in the instructable.  I have also included a 123D file of the entire assembly of the router.  You can open and view the model as well as all the individual parts using the free software 123D.  Here is the DIY CNC Router in the 123D Gallery

Step 6: Drilling a Good Hole

In order to build this CNC router you will need to drill about a million holes in both steel and aluminum.  You will also need to tap about half an million holes.  That’s a lot of manual drill pressing so I recommend using a drill press that you can enjoy drilling with because you will be spending a lot of time with it.  Use a sharp drill bit and set your drill press to a low speed (200-500RPM if possible).  I would recommend purchasing a new #19 drill bit for this project because that is the size needed to drill and tap for an M5 screw,  which is used on the vast majority of the machine.  This is the ten step process I used while building the machine.
  1. Apply Dykem near the locations where holes are needed on the part
  2. Use your scribe to mark the locations of the holes with two intersecting lines, use a combination square to measure for the location of each hole
  3. Use a small transfer punch to mark the location of all holes (transfer punches normally have a sharper tip which should make marking the center easier) 
  4. Use a center punch placed in the dent made by the transfer punch to make a larger dent for the drill bit
  5. Place the part on your drill press and center the mark and the drill bit by bringing the drill bit down onto the part with the tip of the drill in the dent made by the punch, hold the drill bit in this position
  6. Clamp the part to the drill press table; I usually did this with a welding vice grip.
  7. Bring the drill bit up off the part and turn on the drill press, slowly move the drill bit down onto the part making sure the bit centers on the dent.
  8. Bring the bit back up, turn off the drill press and squirt some tap magic directly on the drill bit. Let it flow down through the flutes of the drill bit until a few drops fall on the part.
  9. Turn the drill press back on and proceed to drill the hole.  For the best results you should follow a technique called peck drilling.  To do this drill into the material between 1/16" and 3/16" deep then as chips begin to build up move the drill bit up and out of the hole.  This allows for the chips to fly off the drill bit which ensures that the bit will not get jammed up in the hole.  Then repeat this process until you drill all the way though the part or to the depth you want.  Peck drilling is a common CNC technique and is especially important when drilling small holes, less than 1/8" diameter. Its also good re-lubricate with tap Magic during this process.       
  10. Un-clamp the part from the drill press and de-bur the bottom side of the hole and clear any chips off of the drill press table.  This ensures that the part will still sit flat on the drill press table for the next hole you drill. Proceed to the next hole in the same manner.

Tapping a hole is the process of cutting threads into a part so that you can fasten a screw to the part.  I made a special tool to help in tapping the many M5 holes for this machine. The tool is really simple, it’s a hole drilled in a piece of 5/8” x 3/4” aluminum bar.  The hole is drilled with a #9 bit, which is the same size as an M5 tap.  You place the tap in the hole and hold it in place over the hole in the part you are tapping.  The tool holds the tap square and true to the part you are tapping which is very important.  Here is my process for tapping a hole.
  1. Make sure the tap is clear of any chips or debris. I used a air compressor and blow gun to clean the holes and tap.
  2. Put some tap magic on the tap and put it into the hole of the tapping tool.  Place the tip of the tap into the hole on the part you are tapping and sit the tool flush with the part’s surface.
  3. Hold the tool in place and turn the tap clockwise (for a standard right hand thread).
  4. Turn the tap 3/4 to 1 full turn and then back the tap out, turn counter-clockwise, by about half a turn.  You should feel the tap break free a little when this is done which is good.  What this does is breaks the shavings in the hole free and they fall into the flutes of the tap.  This allows you to continue tapping the hole without having the shavings build up which leads to breaking the tap off in the hole if you are not careful.
  5. Continue like this until the hole is tapped.  Then clean the tap and tool and proceed to the next hole. 
For this project you will mostly be tapping holes it steel and aluminum.  I recommend using tap magic for both materials which will keep your tap sharp.  I absolutely recommend purchasing a nice M5 tap for this project.  I got a M5 x0.8mm tap from Mc-Master Carr.    

Step 7: Stepper Motor Mounting Plate

The stepper motor mounting plate is a clever name for the plate that mounts the stepper motor.  This part has been designed to be universal for the machine and you will need to make 5 of these parts.  This part is made from aluminum flat stock that is 2.5" wide and 1/4" thick.  This is a great starting point for this project because you have to use all the tools needed for the construction of this machine and its a fairly simple part.  First cut 5 pieces to a length of 4"   Then you need to lay out the holes using dykem, a scribe and a combination square. I did not do this for this part because a friend, who converted a small mill to CNC, made a jig for me.  Even if you don't know someone who can do this I would recommend making a jig first.  To do this just lay out all your holes and drill them all the same size, a size that you have a transfer punch for.  That will be your reference for all 5 parts and you'll just transfer punch all the hole locations for all the plates.  This will save you a lot of time and effort.  Once all the holes are located with the transfer punch drill them to the sizes indicated on the drawing, following my good hole drilling guide lines.  For the counter boring bit set the depth on you drill press using the stops on the machine.  Do a test counter bore hole first and check the depth with an M5 low head socket head cap screw.  You need the head of the screw to be below the surface of the part.  All five parts are basically the same except for the plate that mounts the z axis stepper.  That plate needs two extra holes to mount it to the z axis plate, which are shown on the second drawing.  

As a side note, at this point you should also make the jig for the gantry mount, step 16.  This will help with many of the parts as you build.      

Step 8: Standoff

Let me start off saying that making your own standoffs is not worth your time.  These parts can be purchased for less than a dollar a piece and will be made with much better tolerances.  I would recommend Mcmaster carr part #91780A063  This standoff uses 10-32 screws so you need to us that instead of M5, but the 10-32 screws are cheap because they are more common.  I made these standoffs but will most likely replace them soon with the Mcmaster part.  I made a jig to hold the tube with a set screw which allowed me to drill the ends with the drill press and hold the part while tapping.  My results were not the best but close enough, and that's why I recommend just buying these parts.

Step 9: Drive Motor Assembly

This is the basic motor and coupler assembly for each axis.  Starting with the stepper mounting plate, the bronze bushing is placed into the center 5/8" hole.  I had to tap these in with a hammer which worked fine.  The shaft collar goes on the ACME screw next followed by the 1/2" bore oldham coupler.  These parts clamp on with the pinch screw.  The oldham coupler is actually comprised of three separate parts, the 1/2" bore coupler for the ACME screw, the center disc, and the 1/4" bore side for the stepper.  I decided to use oldham couplers because they have zero backlash and can handle higher misalignment.  You need this because its going to be nearly impossible to get the ACME screw and the stepper motor shaft perfectly aligned.  If you use a rigid coupler and the shafts are not aligned well you'll be putting unneeded stress on your stepper motor bearings and causing friction in your system which leads to parts wearing out much quicker.  The oldham couplers are a little pricey at $30 for all three parts but they will save your steppers and ACME screws.  

This is a video from Ruland and has a great description of the the Oldham couplers.  The couplers I have listed from Mcmaster are made by Ruland. 

Step 10: X-Axis Frame

The x-axis frame is made from 1x2x0.065" steel tubing.  The side rails are taped to allow for the mounting of the 20mm linear rails.  YOU MUST BUY THE LINEAR RAILS BEFORE YOU START MAKING THESE PARTS.  The rails I got had the mounting holes drilled but it looked like someone with a hand drill just went to town drilling these holes.  They were not drilled with much precision so you will need to transfer punch all the locations for each rail. Use the drawing as a reference but mark the locations based on your actual parts. The ends match the hole pattern on the stepper motor mounting plate so just use your jig to transfer punch those locations.  Four 3/8" holes are also drilled in the corners to mount the machine to the mdf base.  The frame was welded together using a right angle clamp from Northern Tool.  This was my first time welding with a clamp like this and I was impressed with its accuracy and ease of use. 

Step 11: X-Axis Drive Nut Mount

This part is made from 2"x1/8" thick steel angle stock.  The cut outs on both ends were done with my band saw in the vertical position.  I used a sandpaper disc on my angle grinder to get a smooth finish after cutting.  I marked all the holes with the scribe and the combination square.  Clamp the part down well when drilling the 5/8" hole in the center, just a safety precaution.   

Step 12: Gantry Upright

These parts are fairly simple but involve a lot of drilling and tapping.  All of the holes on the vertical tube are to allow the gantry to be mounted higher or lower on the machine. This allows the machine to to be optimized for the different materials that you may want to cut.  For example if I'm cutting primarily sheet material I can lower the gantry and space out the bearings on the z axis more which will make the machine more rigid for cutting thinner material.   Make sure to drill and tap all the holes needed in each piece before welding them together.  I used a jig I made for the gantry mount plate to locate and transfer punch all the tapped holes.

Step 13: X-Axis Assembly

If you've made it this far its time to treat yourself to a little CNC action.  Bolt everything together as shown in the drawing.  Check out the z axis assembly, step 22, for a picture of how the drive screw is assembled.  Once its together, turn the screw by hand and watch as the gantry uprights slide down the linear rails, its a beautiful thing.  Enjoy this for a moment and then get back to work on the rest of the machine. 

Step 14: Y-Axis Rail Mount

Pretty much the same procedure as before, transfer punch the rail holes and mark locations for the holes on either end.  Then back to the drill press. 

Step 15: Y-Axis Upright

Use the jigs you made for the gantry mounting plat and stepper mounting plate to locate and transfer punch your holes. Then keep drilling and tapping.

Step 16: Gantry Mounting Plate

The pictures shows how I marked the holes for the jig, which I made at the beginning along with the motor mounting plate jig. This was then used to make the 4 actual plates for the machine and to locate and transfer punch many holes on other parts. 

Step 17: Y-Axis Drive Nut Mount

This part is made from 1.5"x 1/8" thick aluminum angle stock.  I marked all the holes using the scribe and combination square.  I placed this part in a vice when drilling the holes.  For safety clamp the part down well when drilling the 5/8" hole.  This is a big drill bit for my little drill press and was probably spinning to fast even at the slowest speed.  This caused a lot of vibration which can lead to disaster in a hurry. Be careful when drilling with large drill bits on bench top drill presses.    

Step 18: Y-Axis Assembly

Your now ready to bolt the y-axis together, use the pictures and drawing for reference.

Step 19: Z-Axis Mounting Plate

At first glance it might seem like a daunting task to make this part by hand, but it can be done.  The drawing shows dimensions with three decimal places but don't think it has to be exactly perfect, maybe two decimal places would be good enough.  To make this more reasonable, break up the holes into sections and do each set individually.   The counter bored holes go to the y axis bearings, start there.  Once that is good move on to the tapped holes for the z axis rails, you should transfer punch these so it shouldn't be that hard.  Then do the center tapped holes for mounting the drive parts.  Finish off with the holes in the top edge of the plate.  I had to spin the head of my drill press around and hold the plate with a separate vice in order to drill these holes.  You'll probably have to do some thing clever like this unless you have a larger drill press with more clearance.  

Step 20: Z-Axis Drive Nut Mount

Like before just mark, center punch and drill to finish this part.  Note the extra holes in this part are not needed, follow the drawing and you'll be fine. Also you'll have to cut an 1/8" wide section off one side for this part.  I did this with the band saw in the vertical position.

Step 21: Z-Axis Drive Screw End Mount

Once again cut this part a little shorter on one side and mark and drill the holes.

Step 22: Z-Axis Assembly

The z axis goes together much like the x and y but you'll need to mount the z axis plate to the y axis bearings before bolting on everything for the z axis. 

Step 23: Router Mounting Plate

If you have built everything up to this point, you are a master hole driller and this part will come out perfect.  At least thats what I thought when I finished this part.  Use those newly acquired and quickly mastered skills to finish off the precision parts needed for this machine.     

Step 24: MDF Base

This is pretty easy too, get a piece of 3/4" MDF from the hardware store and have them cut them cut it or cut it yourself. The 4 threaded rods are each 4" long and bolt this base and the x axis frame together.  They are also used to level the frame.  I used 3/8"-24 NF fine thread but normal coarse thread work work just as well. I used a 1" spade bit to counter bore the holes in the mdf.  You should go deep enough to allow the stud and nut to sit below the surface of the wood.

Step 25: Table Support

There are two table support bars that bolt to the x axis frame.  They are made from 1"x1" steel tubing and 1"x3/16" steel bar.  You should cut the 3/16" thick bar into four 3" long pieces and drill and tap the M6 holes first.  Then drill the holes in the x axis frame(I built these parts after welding together the x axis frame)  Now bolt the plates to the frame and measure for the tubing, it should be 32-5/8" but you should fit the tubes as needed.  Then with the plates still attached to the frame weld the tubes to the plates.  By doing this you ensure that the finished part will be able to be removed and bolted back in place on the frame.  You don't have to weld the entire end of each tube the plates, just put four good tack welds on the corners at each end.  Then you can unbolt the support bars from the frame and fully weld the tubes.  Also when drilling the three holes in the tube be sure to drill through both sides.  You will only need to tap the top side on the tube but the through holes will allow you to transfer the hole locations on tho the work table.

Step 26: Work Table

The work table is a piece of 3/4" MDF and is bolted to the table support bars.  This is the surface that the material will be clamped to.  I chose to use MDF for this purpose because it will be a sacrificial piece and can be cheaply replaced when needed.  I will be screwing down work to this and can cut into it if needed.  The hardware in the picture is 1/4"-20 x 1.5" long screws, nuts and washers.  The screws need to be fully threaded.  The six screws are used to mount and level the work table to the machine.  The counter bored holes allow the screw heads to sit below the table surface so material can be attached easily.   

Step 27: Router Assembly

The pictures show all the parts, hardware and tools needed for assembly. The tools you need are:
  1. Philips Head Screw Driver
  2. Cresent Wrench
  3. 9/16" Socket and Ratchet
  4. 9/16" Wrench
  5. Allen Keys Sizes
  • 5mm
  • 4mm
  • 3mm
  • 2.5mm
  • 5/32"
  • 9/64"
  • 3/32"
Watch the video on the first step to see the order I used to put everything together.  Assembly isn't that hard and by building these parts yourself you'll know exactly how it should go together.  That's it, you've built the machine now its time to wire up the electronics and make you first pass. 

Step 28: Wire the Electronics

The electronics for this router consist of main power switch, power supply, stepper motor controller, power relays, stepper motor cables, outlet and an e-stop. I plan to adding limit switches and cable carrier(e-chain) soon.  I purchased a 10ft piece of 12/3 stranded power wire and a male outlet plug.  This is wired to the main power switch which has a red indicator light.  When switched on the 110v AC is feed to the power supply and relays.  The power supply is a 48v DC 12Amp supply from Mean Well.  This is wired to the Gecko G540.  The relays are used to power the Bosch Colt router and a shop vac to suck up the shavings when running.  The relays are controlled by the G540 which takes commands from the computer, so they can be controlled by the code you run.  The DB9 connectors on the G540 connect to the stepper motors.  Each stepper needs a resistor placed between pins between 1 and 5 to control the current to the stepper.  Gecko provided the proper resistor with the steppers motors I purchased from them.  The resistor needs to be wired to the connector that is connected directly to the controller.  The stepper motor is wired to pins 6-9 of the connector.  I made extension cables for the stepper motor with DB9 ends and the cat5 network cable from the parts list.  The network cable has 8 conductors but i soldered pairs of wires together to get four connections for the stepper motor.  The enclosure I used is an outdoor electrical box which I decided to use after seeing Building an Electronics Enclosure.  The switches are mounted in a standard outlet box and the relays are bolted to the side of that box.  The power supply was mounted in the box to the bottom side and the G540 was placed on the top panel.  The e-stop switch was also mounted to the top panel.  I made all the connections using using 14 gauge stranded wire and crimp on spade connecters.  The wiring picture is basic but does include all the needed connections.

Step 29: CNC Software

I am using Mach3 to control my router.  Mach3 is CNC control software that takes G-code and outputs signals through the parallel port on a computer to the G540.  It is highly recommended that you use a desktop computer to run mach3 and your cnc.  I bought a "off lease" desktop from tigerdirect for $120 and plan to use it as a dedicated CNC computer.  You will also need a CAM software to convert your designs into G-code or you could learn the G-code language and write your own programs in a text editor.   Take a look at this information from Probotics, CNC Software it has lots of links for many different CNC software options.  The picture is a screen shot of Mach3 which will take some time to learn but there are many videos on the Artsoft website and this software is well supported.   

Step 30: First Test

So its finally time to test the machine.  Once all the electronics are hooked up, turn everything on and start mach3 then go to the widgets.  These simple tools allow you to quickly create G-code without any programming knowledge.  I went to the "write" widget and decided to have the first movements of my machine spell out the classic "Hello World" phrase.  For safety I decided to only mount a sharpie in the router mount and just draw the letters on paper.  Things can go wrong quickly on a CNC so its best to take baby steps as you learn.   The picture literally shows the first three times I ran the machine.  I had to make adjustments in the setup to get the sharpie at the right height to mark on the paper.  I know the video is not that exciting but I was giddy as a school child watching the machine move for the first time.  I just wanted to sit and watch the machine in amazement.   

So now its your turn.  Go build this CNC machine and join the digital fabrication revolution!
ShopBot Challenge

First Prize in the
ShopBot Challenge

Make It Real Challenge

Participated in the
Make It Real Challenge

2 People Made This Project!


  • Fabric Challenge

    Fabric Challenge
  • Meatless Challenge

    Meatless Challenge
  • First Time Author Contest

    First Time Author Contest



8 years ago on Introduction

First i want to say thanks for this write up and the time you've put into it. I'm building this machine and am almost done. I have a question for you on the gantry uprights. It seems like you wouldn't need to drill holes the whole lenghth of the tube as the Z axis has a good amount of travel. Thats alot of holes to drill if there not usefull. Would you say after using the machine that all those holes are a little overkill?
Also i added some support plates under the Z axis motor mount plate as it wanted to tilt forward a hair binding the leadscrew. Thanks for all the info and hope to hear back about the uprights....

Doug Costlow
Doug Costlow

Reply 8 years ago on Introduction

That's great that your building the machine, please post pictures when its done. The holes on the gantry uprights allow you to adjust the height of the gantry and the clearance between the bit and the work table. I designed it this way but did not fully follow through on the other change that makes this more useful. The idea is that for tall parts you can move the gantry up to get the needed clearance. For shorter parts, like sheet material you could move the gantry down closer to the part. The part I have not done is add a second set of mounting holes on the router mounting plate. The other set of holes would allow you to space the bearings on the z-axis further apart. This does two things. With the bearings further apart the router mounting plate becomes more rigid to resist higher cutting forces but it also reduces the travel of the z-axis. This reduced travel is fine though because you can move the whole gantry closer to the part and because the part is not as thick you don't need the full travel.

The idea really boils down to, if your cutting short materials, like sheet material, you can adjust the machine to optimize it for the material. Then if you want to cut something thicker you can adjust the machine to get max clearance and travel.

You are right about the holes though, I could have done less, maybe just enough for a low ,medium and high setting. But the router mounting plate still needs more holes to make this complete.

I actually plan on doing this soon because I want to use the machine to drill a bunch of holes and moving the gantry lower and gaining some rigidity would make the machine better suited for this purpose.


Reply 8 years ago on Introduction

Here are the pics of my build of this machine. Very straight forward instructions. Also the dust boot i had to make for the machine.


Question 4 years ago on Introduction

Hi I am in Australia , cannot get a Nema 280 oz in , they have Nema 387 oz in rated at 3.5 amps, which is also matched to a Gecko G540 controller. Do you think this motor would be suitable for a CNC built to router wooden signs , boxes etc .. Thank you Gordon Johnson


4 years ago

you can send the machine's pdf document to


4 years ago

Would you mind sharing the DWG files


4 years ago

Would you mind sharing the DXF files


8 years ago on Introduction

Opening the file it looks like it's AC1024 (AutoCAD 2010) format :-)


Reply 4 years ago

Can you share us please how could you open it?
Thank you sir


5 years ago

Can this be built to work on larger objects?


5 years ago

hi. could the machine be modified to work as a laser cutter?


5 years ago

do you have more videos of your machine running. awesome tutorial.


5 years ago

Thank you very much for the detailed construction of this DIY CNC Router. I am planning to build also. It is a great help for me and think before i start creating.


6 years ago is my email


6 years ago

Hi dear

I hope good too.

I have a problem

I can not I download it

Because in my country

There is no e-cards


6 years ago

This is one of the best instructables I have ever seen. I will be using a lot of your ideas and parts references to build my own. Thanks again for all the effort you have put in, and the attention to detail.


6 years ago

I really love it ..
Here i'm trying to make my own CNC ..
the school would pay for it as long it's costs less than 300$
So here i'm making my own plans ..
already have the code ( almost done ), materials but still confused if wood gonna be okkay for building this device ..
notice that i will use 4.3kg stepper motor for the three axis ..
and 15cm for the X axis
and the same for y axis
and the body is made from wood
and dremel with extender chaft connected to external power supply ..
IDK if it's going to be strong enough to hold it ,
if i needed some help , can u give a little ?


6 years ago on Step 5

what unit of measurement are you using in the drawings.pdf?