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.

<p>I made this, and have just got to run it once with a temporary handheld router. I am making a box for all the electronics for it as well. Very pleased with the results, but the X travel could be better. Now its only about 210mm travel. All the other black and red parts, I made with my Velleman K8200 3d printer ..Works great ..! Thanks for sharing the project...!</p>
<p>I've started the process of making this with ballscrews, my main issue is bearing to motor mounting. Where did you get those blue standoffs that go around the bearings?</p><p>Thanks!</p>
<br> Hello..! Do you have a 3d printer, or do you know of somebody that have one..? Then you can check www.thingiverse.com ,and find yourself a motor mount. Or I can send you the file I used for my bracket. I use them still, but I would like to make one in aluminum some time. <br><br> Good luck ! <br><br>Kjetil
<p>Great Work! Looks like you used ball screws, is that right? Where did you get them? </p>
Thanks ;) I am really pleased with the rig...but I ordered the wrong size of rails and ballscrews. So I had to downsize all of it a bit. The only drawback is the narrow X axis movement. It might be better to have the rails on the outside to improve this. I bought the ballscrews and rails as a kit from China. Its all right. <br><br> Have you been able to machine aluminium ok with your rig..? <br><br>Kjetil
<p>I only did aluminum once and it was only 1/16&quot; thick. I also recently got an aluminum plate to use as a work surface instead of the MDF. If you do aluminum just make sure its secured really well and the work surface is just as rigid. The small vibrations will limit how far you can go with aluminum. </p>
HI, <br>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? <br>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....
<p>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. </p><p>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. </p><p>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. </p><p>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. </p>
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. <br>
<p>This looks great! Nice job. </p>
<p>Thank you so much for posting this! Over the past 3 winters I've been working on my machine. Used this instructable as a guide and ended up doing my own design. I made the 1st cut yesterday, check it out!!</p><p>https://www.youtube.com/watch?v=f9UghRgq0CI</p>
<p>hi. could the machine be modified to work as a laser cutter?</p>
<p>do you have more videos of your machine running. awesome tutorial. </p>
<p>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. </p>
<p>Mahdi.15000@gmail.com is my email</p>
<p>Hi dear</p><p>I hope good too.</p><p>I have a problem</p><p>I can not I download it</p><p>Because in my country</p><p> There is no e-cards</p>
<p>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.</p>
I really love it .. <br>Here i'm trying to make my own CNC ..<br>the school would pay for it as long it's costs less than 300$<br>So here i'm making my own plans ..<br>already have the code ( almost done ), materials but still confused if wood gonna be okkay for building this device ..<br>notice that i will use 4.3kg stepper motor for the three axis ..<br>and 15cm for the X axis <br>and the same for y axis <br>and the body is made from wood <br>and dremel with extender chaft connected to external power supply ..<br>IDK if it's going to be strong enough to hold it , <br>if i needed some help , can u give a little ?
<p>what unit of measurement are you using in the drawings.pdf?</p>
<p>Everything is inches</p>
<p>thank you for all your hard work</p>
How do you stop the bearings from binding on the rail when you tighten the bearing mounting bolts?
<p>The information and the aspect were just wonderful. I think that your <br>viewpoint is deep, it&rsquo;s just well thought out and truly incredible to <br>see someone who knows how to put these thoughts so well. &lt;a href=&quot;http://www.gotothebeach.net&quot;&gt;30A Real Estate&lt;/a&gt;</p>
<p>This is a Great Instructable! Thank you very much!</p><p>Only thing I would add is an exhaust fan for the electronics box. Never can be too careful when removing heat from electronic components.</p>
<p>Hi Doug. Thank-you for the guide. I am just about to start on making this CNC machine but just a few quick questions. I am from Australia and I don't suppose you have a set of plans and specifications converted to metric by chance? No so much for the materials, they can be sourced but it would make life easier in manufacturing it all.</p><p> Also, I am a bit concerned about tapping 1.6mm steel. The tube you have as the rails and so forth. Is there a reason why you kept the wall thickness so small an is there any reason why some of the plates couldn't be bolted through (obviously where it won't foul any working mechanism)? If I go up to a 2mm or 3mm tube is weight going to be and issue on the gantry?</p><p>I will try and PM you my email address (still new to 'instructables').</p><p>Again thank you very much. Slick and inventive design, can't wait to make it.</p>
<p>I don't have any drawings with metric dimensions, sorry. On the tapped thin walled tubing it ends up working out alright because there a number of bolts holding each plate. There are about two threads in the tube with the M5x0.8mm screws. I don't thick thicker tubing will create a weight problem so go ahead and use what you have available. </p>
<p>This is an amazing instructable. It is incredibly precise and thorough. I don't know that I will build a CNC - at least not yet, but just reading through this is an education in CNC technology, metalworking and many other processes. Thank you very much. I will be coming back to this.</p>
<p>This is one of the most precise descriptions on a diy cnc. I'm planning my build now and have been doing a lot of reading and it is difficult as a newb to picture all the parts and options. This is really useful. Thanks!</p>
<p>Will you ever have this for sale in a kit form? I&rsquo;ve got some $$ burning a hole in my pocket!! </p><p>Doolie</p>
<p>I know I've been saying I want to offer this machine as a kit and I want to do it right. Start a real business, get a website up, work with suppliers, etc. This is something I want to do but have not had the time to accomplish. I also want to do a little redesign of the machine to improve a few things and reduce the cost. You and the list of people who have expressed interest is now enough to motivate me to do this. Give me a couple more months to get things in place and you can be the first customer. </p>
<p>I would like to know what programming software you use and the motors and controllers you use. Please. Please send back to me at <a href="mailto:paul.bertsch@ngc.com" rel="nofollow">paul.bertsch@ngc.com</a>. Thanks</p>
<p>Great design and very thorough instructions, thanks for posting and sharing. I have a concern though, by tapping the 1/16&quot; (0.065&quot;) steel tubing, did you get enough threads there to hold things tightly? I can't imagine more than two threads present in such thin steel, was wondering how much holding force that actually gave.</p>
<p>Your right the steel is thin and allows for two threads which is enough for the small M5 screws. Plus there are multiple screws for each bolted part. As long as you don't try to tighten the screws with a half inch breaker bar it will be fine, theres no need to really crank down on the screws. </p>
<p>Great design and very thorough instructions, thanks for posting and sharing. I have a concern though, by tapping the 1/16&quot; (0.065&quot;) steel tubing, did you get enough threads there to hold things tightly? I can't imagine more than two threads present in such thin steel, was wondering how much holding force that actually gave.</p>
<p>you are amazing i love to build this router please can you send me the plane and the sketchup drawings</p><p>h.nibso@yahoo.com</p>
<p>This is an awesome project...I want to make one, but am wondering if I have enough projects to do to justify the cost/time. What kinds of projects are people doing with their CNC routers???</p>
<p>Excellent guide. I am using this as a baseline to build my machine. Something which I don't really understand though: How does the acme screw held in place? This is my understanding of it (Let's use the x-axis as an example): On the non-stepper motor side, we have a threaded collar with the bushing. That stops x motion of the screw away from the stepper. On the stepper side, we have the oldham coupler (1/4&quot; on stepper side with the disc then a 1/2&quot; hub) followed by the McMaster collar and bush. These are non-threaded collars so how would they (Both the oldham hub and the collar) grip onto the threaded screw without slip?</p>
<p>Hi,</p><p>Thanks for the wonderful write up. </p><p>In respect of welding and fabricating the frame out of steel, I would like to know about the linearity issue. The linearity (linear accuracy) of the pre fabricated rails will obviously be more precise than the steel tubing used for all the axes' frames. I guess it might affect the parallelism of the finished frame with rails bolted? Any insight into this or any insight to inspect the accuracy of the steel tubing and specific trick to keep the final structure accurate in terms of linearity and parallelism. </p>
<p>yes the frame needs to be welded with as much precision as possible. That why I used the right angle welding clamp. I also purchased shims to place between the rails and the steel but I did not need to use them. I think i just got lucky though. If i ever redesign the machine it will be bolted together to allow for adjustment of the parallelism of each axis. As far as the steel stock, if its bent you may have problems that are not easily solved. The only easy way to determine if the machine is square meaning each axis is 90deg from the rest is the build the machine and cut some part and measure the parts. Adjustments can be made using shims to square up all the axis. </p>
<p>Aluminum plates are important ?? <br>no problem if replaced with another material ??</p>
<p>Aluminum is a good material but other metals would be just as good. HDPE plastic might also be a decent material.</p>
<p>Hello</p><p>I love your project I am planning to use Nema23 stepper motor 425oz-in Dual &amp; <br>DM542A on it hop it fits, Also one important question as I am running out of <br>money and I cannot buy it locally instead of Trapezoidal screw ACME can I use at least for beginning <br>normal screw that I can buy <br>in a store if yes can you tell me whar are the cons. and if not can you at lest <br>tell me why not.</p><p>thanks <br>a lot for the answer as I searched google and couldn&rsquo;t find any answer to this question.</p><p>regrads</p>
<p>You can use normal screw threads. The cons are they don't have high lead and you will probably have more backlash on a single nut. Read through step 2, I put more info about the acme screws there. </p><p>Either thread type will, ACME is just a better choice for CNC. </p>
Great layout!! 1500.00 is good price if it was backed product...warranty..etc. DIY'ER are like the craigslisters....we want it all for little to nothing. If you get busy selling in Dallas area...lemme know if I can help!!<br><br>Dan
<p>Many thanks for the exciting blog posting! I really enjoyed reading it, <br>you are a brilliant writer. I actually added your blog to my favorites <br>and will look forward for more updates.Great Job,Keep it up.</p><p>&lt;a href=&quot;https://www.passbeemedia.com/digital-event-tickets/&quot;&gt;Event tickets on passbook&lt;/a&gt;</p>
<p>I am hoping to draw a little more of your experience out here... You said accuracy is roughly +/- 0.003&quot;. This is pretty good, but have you found the limiting factors and how to perhaps improve this (still think it is mostly due to runout in the spindle)? You also mention that the motors are plenty sufficient to machine Aluminum, and that the limit is the spindle speed of typical routers. Do you have any experience with actual air-cooled cnc spindle motors? With the proper RPM, do you still think the 280 oz-in steppers are sufficient to properly machine Aluminum? Lastly, and perhaps most importantly, is Gecko the only US based manufacturer you know of for the motors and drivers? I have found some tempting options (http://www.automationtechnologiesinc.com/products-page/stepper-nema23-3-axis-kits/cnc-stepper-motor-3-axis-kit-2) but have been burned by cheap chinese goods so many times I will not risk buying anything unless someone can vouch for quality. Lots of questions here, but thank you so much for your time and help!</p>
<p>Spindle runout is probably the key issue for accuracy on a machine like this. Trim routers are not to designed to the same standards as true cnc spindles. Check out the spindles on Shopbot machines as a possible upgrade. I seen those machines in action but don't have experience. </p><p>For aluminum, I do believe this machine could handle cutting 1/4&quot; thick aluminum plate into shapes but I would not recommend it for billet aluminum machining. A spindle upgrade would probably be required if you wanted to cut aluminum plate all the time. Even then it may take some effort to cut the plate with even a reasonable surface finish. If you want to properly machine aluminum get a milling machine. </p><p>Gecko sells good products but you have to put everything together yourself. I recently found flashcut CNC which another CNA controller maker in the US. They sell whole systems with usb control. A friend of mine got his steppers and controllers from automation tech for his G0704 mill conversion. he got the newer digital drivers and has not had any issues. I don't think you'll get burned going with that 3 axis kit. </p>
<p>I have another quick question. Is there a design issue with placing the x-axis rails facing out rather than in? I can't see one, but wanted to ask. It seems this would gain you ~4&quot; more machining room without making the footprint any larger and the feet are already needed at the corners to elevate and level the entire assembly giving room for the drive nut mount. Your thoughts are appreciated. Thanks!</p>
<p>Your right this would give you more clearance for your your material without increasing the footprint. There is one issue I see with this though. I designed the machine to use only a single 6ft length of ACME screw that I cut to length for each axis. That way there was no waste on this expensive component. The 6ft length is what mcmaster sells. By making the gantry wider you will either need a longer screw for the y-axis or design a new way to hold the shorter screw on a wider gantry. If your not worried about the screw length and will just buy the lengths you need then I see no problems with this change. </p>

About This Instructable




Bio: I enjoy building things more than actually using them.
More by Doug Costlow:Pet Feeder Refinish and Stain Wood Siding Bicycle Cargo Trailer 
Add instructable to: