loading

Building your own 3-Axis CNC router is both fun and educational. This Instructable shows all the steps I followed to make my DIY CNC Router. This is the second one I made, after learning a lot from building the first version.

This is a very good router that can be built at a reasonable price using readily available available materials. This design uses DIY linear bearings, threaded rod and plywood (or MDF) construction. No welding, no fancy materials.

This is not a mill designed to machine steel. It is not super-fast. It is a router designed to route wood, plastic and some aluminum. It is a low-cost, decent quality system that will teach you all you need to know about 3-axis routing.

If you take care during cutting and assembly, you can achieve very good accuracy. I also use mine to do printed circuit board isolation routing, and I can do surface-mount ICs with 50mil pitch. Not bad at all!

Through the end of 2016, a complete parts list, Sketchup drawings (just drawings, not sketchup files) and dimensions are available for only $2.50 USD at HobbyCNC.com. You need to register on the site and use coupon code Instructables at checkout.

See it in action: vimeo.com/166901487

NOTE: Rev01 of the plans have been released.

Step 1: Material Selection & Other Details

Material

This DIY CNC Router is made out of wood. I would strongly recommend high quality, furniture-grade plywood. It is both good looking and strong.

The other option is MDF (Medium Density Fiberboard). Not recommended is Particle Board or "regular old plywood".

  • Furniture Grade Plywood is constructed with many fine layers of alternating grain. It is typically free of voids and is surfaced with a clean veneer that looks great when finished. It is also damn strong and resists bending well.
  • MDF is made of very fine, evenly distributed material. It is heavy and dimensionally stable. It is easy to cut (but can dull blades quickly). It's mortal enemy is water.My first build was with MDF. It worked well and was perfect for experimenting. Build number 2 was with a high-quality furniture grade plywood.
  • Regular old plywood. I found local home-store type plywood to be too full of voids and imperfections to be worthwhile.
  • Particle board can easily be identified by the very coarse and uneven density. It is cheap and not strong. Do not go there.

Size

My build is 24" wide by 36 inches long. I’m not confident I’d go any larger as wood does flex under load.

Attention to detail

It is critical that all cuts are as perfectly square as you can make them. I was in a hurry for my first build and the problem became evident when I milled “mirror opposite” parts that did not line up to each other after milling! D’oh!

Holding it all together - Barrel (or Cross Dowel) Nuts

Barrel nuts provide for a super-strong joint that can be disassembled-and-reassembled many times without damage to the components. Drilling holes for these can be time consuming unless you make a jig first.

Step 2: Building the Base

A strong, sturdy base is requisite for quality results. For this, I recommend a torsion box design. A torsion box will provide a strong, stable yet light weight base for your project.

Take your time and ensure everything is P E R F E C T L Y square. If not, you will route parallelograms instead of squares!

I designed the linear bearing rails to be tucked underneath the replaceable bed to minimize dust and shavings getting caught-up in the mechanism. This made assembly a bit more complex, but the results are worth the effort.

For the linear bearing rail supports, it is critical that these are very carefully assembled so everything remains square and true. I used ¼” dowels and glue to hold everything together.

All joints are glued-up. You could use MDF for the torsion box – when it’s all glued, it will be very strong and will stay true as long as it stays dry. (water is death to MDF).

Two end-panels are added to hold the torsion box up off the work surface and allow space for the X-Axis assembly to slide and space for the axis drive screw.

The stepper motors are the same for all axis and will be covered one time, later on.

Sacrificial top board I added a second layer on top of the torsion box which is a replaceable 24 x 36” piece of MDF with “T” slots cut into it. This can be easily replaced if it becomes damaged.

Step 3: The Barrel Nut Jig

I went the extra mile and used a tongue-and-groove approach on all joints to be double-damn-sure everything went together square (the “belt-and-suspenders” approach).

After cutting all the parts, care must be taken to drill the holes for the barrel nuts. I carefully made a drilling jig using brass bushings the size of the bolt (1/4” in my case) and the barrel nut (3/8”) that would allow me to drill perfectly aligned holes without having to measure (a HUGE time saver).

In addition to drawing a center line, I also added ruler markings to the underside to speed the alignment process (for example, drilling 1 1/2" in from the edges)

To use the jig, carefully line up the parts to be drilled and mark where the holes are to go. Clamp the jig over the parts and drill both target parts at one time, without removing the clamps. Having two drill motors (one with a ¼” drill and one with a 3/8” drill is super handy).

Step 4: Linear Bearings

This is one big area where our simple plywood CNC Router design is different than "real" mills - the approach used here is a very inexpensive implementation that will still yield acceptable results for a Hobby CNC Router. This system uses a very simple and inexpensive linear bearings using 1” aluminum angle and skateboard bearings. If made right, it is quite rigid and durable. I would imagine you could substitute steel angle for the aluminum. Don't know for sure, didn't try it.

Care must be taken to drill the mounting holes E X A C T L Y the same distance from the corner of the angle. This will determine how well all four bearings ride against the opposing angle and distribute the forces.

Put the bolt thru the bearing and follow this with a nut. Tighten to secure the bearing. Then place the bolt/bearing/nut assembly into the threaded hole in the angle bracket.

If your 3/8" bolts are too long, you can offset the holes for the bearings, as long as you respect the identical distance from the apex of the angle. There are two 8” in length and four 4” in length. Other than the length, the construction is identical. Drill-and-tap 3/8”. Assemble as shown.

Step 5: The X-Axis

The X-Axis slides along the Base, front-to-back. As with all the parts, care in cutting and layout are important to ensure a quality output from your router.

Carefully align the X-Axis Linear Bearing Nut and anti-backlash parts perpendicular and on the center line of the X-Axis bottom.

Now bolt the axis together around the base. Test the bearings for a snug but free moving fit. Shim or trim as necessary to get a perfect fit.

Slide the axis forward and backward to ensure smooth movement with no binding. At each end of movement, mark the base where you will drill the holes for the drive screw.

Screw or glue the X-Axis Linear Bearing Mounts onto the X-Axis sides. Optionally attach the Linear Bearings (I put a small, flathead screw dead-center to hold it in place - not shown).

Thread the X-Axis drive screw (not shown) through one side of the Base, add the small square nut (part of the anti backlash assembly), then the spring, then thread into the Linear Bearing Nut, making sure the spring is well compressed. An electric drill carefully clamped on one end of the threaded rod will speed up this process.

Add bearings to both ends of the X-Axis drive screw and double-nut making sure there is some tension on the screw keeping it from "flopping around" at higher speeds.

In the drawings, the Y-Axis drive screw and anti backlash assembly are shown, but they are not installed yet.

The stepper motor mount will likewise be added later.

Step 6: Y-Axis

Assembly of the Y-Axis is identical to the X-Axis. The Y-Axis slides along the X-Axis, left-to-right. As with all the parts, care in cutting and layout are important to ensure a quality output from your router.

Carefully align the Y-Axis Linear Bearing Nut and anti-backlash parts perpendicular and on the center line of the Y-Axis back.

Now bolt the axis together around the base. Test the bearings for a snug but free moving fit. Shim or trim as necessary to get a perfect fit. Slide the axis left and right to ensure smooth movement with no binding.

Screw or glue the Y-Axis Linear Bearing Mounts onto the Y-Axis top and bottom. Optionally attach the Linear Bearings (I put a small, flathead screw dead-center to hold it in place - not shown).

At each end of movement, mark the X-Axis sides where you will drill the holes for the drive screw. Thread theY-Axis drive screw (not shown) through one side of the X-Axis, add the small square nut (part of the anti backlash assembly), then the spring, then thread into the Linear Bearing Nut, making sure the spring is well compressed. An electric drill carefully clamped on one end of the threaded rod will speed up this process.

Add bearings to both ends of the Y-Axis drive screw and double-nut making sure there is some tension on the screw keeping it from "flopping around" at higher speeds.

The stepper motor mount will likewise be added later.

Step 7: Z-Axis

The Z-Axis provides the up-and-down component of movement. As with all the parts, care in cutting and layout are important to ensure a quality output from your router. It is assembled-around and slides on the Y-Axis. The Z-Axis will hold your router or Dremel or pen or whatever you wish to move.

Carefully align the Z-Axis Linear Bearing Nut and anti-backlash parts perpendicular and on the center line of the Z-Axis back.

Now bolt the axis together around the base. Test the bearings for a snug but free moving fit. Shim or trim as necessary to get a perfect fit.

Slide the axis up and down to ensure smooth movement with no binding. At each end of movement, mark the Y-Axis top and bottom where you will drill the holes for the drive screw.

Screw or glue the Z-Axis Linear Bearing Mounts onto the Z-Axis sides. Optionally attach the Linear Bearings (I put a small, flathead screw dead-center to hold it in place - not shown).

Thread the Z-Axis drive screw (not shown) through the top of the Y-Axis, add the small square nut (part of the anti backlash assembly), then the spring, then thread into the Linear Bearing Nut, making sure the spring is well compressed. An electric drill carefully clamped on one end of the threaded rod will speed up this process.

Add bearings to both ends of the Z-Axis drive screw and double-nut making sure there is some tension on the screw.

The stepper motor mount will likewise be added later.

Step 8: Stepper Motors

Three of these assemblies are required.

Stepper motors need to mount straight-and-true to the drive screws. To minimize the potential for misalignment, I used a spyder assembly. There are several different variations of flexible couplers. You could even go with a non-flexible coupler. The spiders I used had too much "slop" in them that I had to shim out.

The motors mount via “T Nuts” to their associated panels.

The dimensions and design will need to be adapted to your specific motor and coupling mechanism.

I recommend using a connector on the motor wiring (red circle). This just makes assembly and disassembly (and troubleshooting) so much easier.

Make all the screw holes in the Spacer Block as tight to the screws as possible. This assembly is subject to constant back-and-forth torque, so keeping everything tight and close tolerance will help keep everything from coming loose.

Step 9: Electronics

You will need four main components:

  1. Computer (ideally with a parallel port)
  2. Stepper motor driver
  3. Stepper motors
  4. Power supply (to drive steppers)

Computer

Ideally with a parallel port

Suggestion: Get a small desk-side computer from a friend, yard sale or an electronics recycler and throw a parallel port card in it. The motherboard may even already have the connector installed, you just need a back plate with ribbon cable. Don't bring your laptop into the shop. It is dirty and generally not safe for delicate electronics. With a cheap-o deskside machine, you can open it up and blow it clean whenever you need to. CAM software is not terribly demanding on your PC, since the machine can only move so fast, which is not a challenge for any fairly current computer.

Stepper motor driver

I recommend to "keep it simple". I use and recommend the HobbyCNC board. One board, up to 4 axis. No break-out board and much simplified wiring and a much smaller footprint. Whatever you do, avoid eBay foreign-made driver boards. You want to be a CAD CAM expert, not a "fix the cheap import" expert.

You need a parallel cable with all pins wired straight through.

If you must use USB or Ethernet there are solutions (price goes up quite a bit, though).

Stepper motors

NEMA 23 motors are plenty big enough. Make sure you get the right type for your driver board. There are two main families: Unipolar and Bipolar. The HobbyCNC boards are unipolar - which means you need a 5, 6 or 8 wire stepper motor (4 wire is bipolar only). I don't know how to 'size' the motors. I went with a fairly 'beefy' motor. The tradeoff: More torque, more power (bigger power supply) slower speeds.

Power supply (to drive steppers)

For the HobbyCNC solution, a burly, unregulated linear supply is fine. Around 32 Volts DC and figure 2.5 Amps per stepper motor. You can use a regulated 'switching' supply too, no problem. I see lots of cheap ones on eBay. Caveat Emptor. I built my own.

Optional (but recommended) Emergency OFF switch

I purchased this at my local woodworking store (Rockler). When things to bad, they go bad fast, I want a large target. This will kill my motors and my spindle.

Optional - UPS
I have had a few jobs ruined by kicking a plug or my compressor turning on. The UPS stops all that stuff. No more interrupted jobs. This UPS only powers the PC. The power supply for the motors has enough storage to deal with transients.

Cabinet

I built a rolling cabinet for my CNC router so I have a place for all the tooling, wrenches, spindles, stock, keyboard drawer and a large drawer for the electronics. Yellow box is the HobbyCNC Stepper Motor Driver board. Red box is the linear power supply to drive the steppers. Blue box is an optoisolator board for my limit and home switches. Green box is my power distribution. Purple box is my small PC. Drawer is cooled by two fans.

Step 10: Wire Management

Although optional, all the wiring and cables will get in the way. It is very bad if your wiring gets jammed in the moving parts (for a whole bunch of reasons). There are a lot of ways to keep them out of the way, but I wanted something cool-looking that I could make from stock I had available.

This design is simple, inexpensive, fully functional.

X-Axis Wire Management

You can ‘futz’ with these dimensions. Make the angle sharper for a tighter turn, make the tray wider or narrower, whatever suits your design. I started by ripping two lengths of ½” plywood to a width of 1 1/2 inches. I ripped two equal length strips of 3/16″ hardboard (¼” would work fine too) to a width of 1 1/4 inches. I glued-and-clamped the hardboard strips onto the 1/2″ plywood, forming a U-shaped ‘trough’. In the drawing you can already see how the tray will fold.

Cut the other 1 ½” strip onto segments exactly as long as each of the tray segments (2 5/8″ in my case). These small segments are screwed to the “bottom” of the tray – this will prevent unwanted bending in the “wrong” direction when the tray is suspended upside down.

The idea is to end up with a ‘sandwich’ of parts, as demonstrated below. This is only one segment for example only, the orange “duck cloth” (bright orange, canvas like material) needs to be a continuous strip the length of the cable tray.

Cut a long strip of duck cloth 1 1/2″ wide, a bit longer than the total length of the cable tray. I lined-up all the cable tray segments and secured them between two boards so the wouldn’t move during the gluing step. I coated the underside of the tray and one side of the duck cloth with contact cement. Once dry per the instructions, gently stretch the duck cloth and glue it to the tray. Two people works best here.

The bottom piece is carefully lined up and held in place with a #6 x 3/4″ wood screw (no contact cement). A small bit of bent coat-hanger completes the assembly.

Y-Axis Wire Management

For the Y-Axis I just made a simple articulated arm. It needs to remain slightly bent when the Y-Axis is at it's most distant point.

Step 11: Software

This is where the next phase of your learning starts. There are so many options here that are much better covered in other places. Here's a summary!

You will need several bits of software. I won’t make any recommendations here, as there are so many options, from free to high cost, and everything in between. Typically you will need these three bits of software:

  • CAD. Computer Aided Design. This is where you design the ‘thing’ you want to machine. Shape, size, holes, slots, everything. All dimensioned.
  • G-Code converter. This takes the fancy CAD drawing you just made and converts it into the language needed by the CAM machine. This may be built-in to the CAD software, it may be external.
  • CAM. Computer Aided Machining. This takes the G-Code as input and converts it to the pulses needed to move the stepper motors.

Here Google is your friend.

<p>Hello, I have subscribed just for this project but i see that the downloadable pdf only contains the same information as the page... too bad it does not... I need some more information about the linear bearing maybe someone could help me? </p>
<p>I've got a deal for you. You can order the more complete plans from HobbyCNC.com and use the coupon <strong>woodworkerb</strong> at checkout to get them for <strong>free</strong>. Lots more detail in these plans, including measured drawings.</p><p>https://hobbycnc.com/product/diy-cnc-router-plans/</p>
<p>Thank you very much :)</p>
<p>hi awesome progect,</p><p>could i pls have the list of items you used.</p><p>thx</p>
<p>Sorry I never replied to this. I have a very detailed set of instructions (70 pages) for sale at HobbyCNC.com. Use the code &quot;Instructables&quot; at checkout and the plans are only $2.50 USD. (thru the end of the year)</p>
<p>Thanks</p>
<p>how much time and money did you spend on the machine. Excluding the software?</p><p>Thanks</p>
<p>hi sir what about multiwood(UPVC board).....Is it better than furniture grade plywood</p>
Never heard of it. Furniture grade plywood is quite good looking, though! As long as your material is strong and flat, you should be good! I've even been watching another build where the guy 'doubled-up' all the parts (1.5&quot; thick rather than just 3/4&quot;). Your imagination (and budget) is the limit.<br>BrianV
<p>Registered and downloaded the plans! Thank you. I've been looking for good simple plans to follow but figure 29 on page 20 is off the page. Let me know if you see the same and if there will be an updated version. Again, thank you!</p>
<p>Thanks. I am aware of the wayward image (fixed). I am working on a new revision now - added the parts list for the Y-axis, added some stuff on wiring limit switches, improving the quality of some of the drawings. I will notify of the new version via my mailing list: http://eepurl.com/b0X-fz. Join if you haven't yet!</p>
<p>I was wondering if this could be built of laser cut wood parts? I have access to a laser cutter that can cut 1/4 ply, although the max size is 12&quot; x 20&quot;. I imagine I could layer identical parts to achieve the necessary thickness.</p>
<p>I would imagine you could 'laminate' several thinner layers - after all, that's EXACTLY what plywood is! </p>
<p>Of course the plywood manufacturers have high pressure presses but I've had good luck with laminating thinner plywood parts together. Usually I am doing it to make it easier to bend the plywood but the results have been strong.</p>
<p>My solution to gluing wide thin plywood sheets wasn't as pretty as this picture but was the same idea. The trick is apply pressure everywhere across the surface. Torsion beams do a good job of that. That's appropriate for a CNC machine with a torsion box bed. ;-) I love torsion boxes. I just wish they weren't so time consuming to make.</p>
To press together big glues like plywood you can use a large plastic bag and a vacuum. You will get about 32 lb/in2 (squared) and very uniform pressure. Trash bags work just fine but you can get those large storage vacuum bags too.
<p>Something else to think about. You can build the machine using hand tools, and then use it to cut nice precision parts to replace its own parts with to end up with a nice looking machine... Just saying... :)</p>
A machine can't make things more precise than itself, and my manual woodworking precision is nothing special.
<p>Well, your mileage may very, but it worked just fine for me when I updated mine with new parts cut on my original machine built by hand, which was originally made from crud 2x4 and ply. </p>
<p>Nicely built little machine! For those wondering what to control it with... I'll add my 2-cents here... check out the <a href="https://forum.linuxcnc.org/forum/22-pyvcp/28572-monster-a-learning-experience-pyvcp-machine" rel="nofollow">LinuxCNC</a> as it is very configurable and free. I have done quite a bit with it, creating several custom panels with all sorts of added features. I'll even throw in a shameless plug: <a href="https://forum.linuxcnc.org/forum/22-pyvcp/28572-monster-a-learning-experience-pyvcp-machine" rel="nofollow">ASKJERRY</a> is my web page. I've even put my files and more on the <a href="https://forum.linuxcnc.org/forum/22-pyvcp/28572-monster-a-learning-experience-pyvcp-machine" rel="nofollow">FORUM</a>. (<em>I hope you find it helpful</em>.)</p>
<p>Nice post on LinuxCNC (formerly EMC). I will take a closer look at it!</p>
<p>I would second that. I also run LinuxCNC and it works great for me.</p>
<p>What can be used for shims? I always end up scrapping my own linear rails in favour of openrail, v-slot or other linear bearing systems because of tolerance problems. Shim washers, for example, are expensive for what they are and costs quickly mount up</p>
<p>You can also use pieces of soda/beer can. You can also salvage a cheap flea market steel feeler gauge for a few $/Eur.</p>
<p>This will be noted in my next release!</p>
<p>If you look closely at the photos, I used business cards. Not proud, but it works fine. Remember the key word is &quot;H O B B Y&quot; (e.g. NOT production)</p>
Speaking as a machinist with years of CNC experience, it looks great. I am going to bet it works like a dream.
You made a hell of a rig there! Not to mention a well written &amp; detailed tutorial as well. Thank you for sharing, very appreciative.
<p>Thanks and you're welcome. Paying it forward.</p>
Is there a workaround for driving the board from a usb port instead of a db25 serial port? I have used hobby cnc boards on several projects in the past but they are collecting dust now because the db25 port is something my computer(s) dont have anymore
<p>Check the FAQ (<a href="http://hobbycnc.com/faq/options-parallel-port/" rel="nofollow">hobbycnc.com/faq/options-parallel-port/</a>).</p><p>You need to log-in first.</p>
<p>Db25 to usb converters sold at ebay do not work because they don't use all the pins needed for CNC to work properly. But I've found this project http://www.coreforge.com/blog/2014/08/grbl-tb6560-interface/ that promises to address the problem. </p>
<p>Like this one from Amazon.</p><p>http://www.amazon.com/RS232-Serial-Cable-Adapter-Converter/dp/B000S5FAF2</p>
<p>You can get a DB9 or DB25 to USB converter cable that will solve your problem of no direct serial port on modern PC's. You may also be able to source a different driver board that has the USB serial converter built in. The reality is the serial port is still very much alive, it's just hidden behind a USB to serial converter.</p>
<div><p>Nice machine.</p><p>Just a suggestion for anyone who is thinking of using MDF.</p><p>After cutting and before assembly, give the MDF a coat or 2 of clear varnish. </p><p>It seals the MDF and you don't get too much dust coming off it.</p></div>
<p>The free offer at <a href="http://hobbycnc.com/product/diy-cnc-router-plans//?utm_source=Instructables&utm_campaign=DIY_CNC_Router_Plans" rel="nofollow">HobbyCNC.com</a> doesn't work for some reason. If I type &quot;Instructables&quot; in the coupon box it shows the adjustment (-$7.95) but the subtotal still shows the original value of $7.95. It didn't reject it. It just didn't apply it. Here is the screenshot. Strange.</p>
<p>You have to register with the site first. <a href="http://hobbycnc.com/account/registration/" rel="nofollow">http://hobbycnc.com/account/registration/</a></p><p>Then add the coupon to the cart.</p>
<p>OK this time I followed your link and it immediately showed the discount without asking for the code. It obviously remembered it from last time. Strange but it doesn't make any difference because I was able to download. Based on your comments I expected sketchup files but the only thing downloaded was a pdf file. Is that what you expect? Perhaps I misunderstood your comment above. Pretty high quality pdf file. Thanks. You obviously put a lot of time into this document. I think there are dimensioned drawings for everything in the pdf. Sketchup files would have been a help though.</p>
<p>I thought about that. It says &quot;Sketchup Drawings&quot;, because the drawings are from Sketchup. The actual files are not ready for &quot;Prime time&quot; yet (it takes a LOT to get them ready for general distribution). I do plan to release the Sketchup files, but there will be a token fee for them (e.g. not free).</p>
<p>No complaints. I think the PDF is complete (and well written as well) but I'll happy to pay the 'nominal fee' for the convenience of the sketchup files when you get to it. This is a well done Instructable and I appreciate it.</p>
<p>I did register, at least I tried to. When I click on the link above it says 'Welcome to your account, Steve.' I think that shows that the site thinks I have registered. I'll try to access it again and see what happens.<br></p>
<p>The coupon is applied at checkout, for which you need to be registered on the site.</p>
<p>What's you opinion of going with marine grade plywood (finish grade - not the under-decking stuff)?</p>
<p>No experience. My first one was from &quot;plain old plywood&quot; and it worked. The problems I had were most likely due to A) being in a hurry, B) not being careful (related to &quot;A&quot;)</p>
<p>I've bipoler step motors I already bought 12 Volts,1.5 Amps, which driver is suitable?</p>
<p>Sorry to say, you'll have to do a google search. The driver I use is unipolar (5, 6 or 8 wire steppers only). There is no shortage of low voltage, low current options!</p>
<p>Hi, fantastic project!</p><p>Just a question: is the precision enough to engrave some letters in a piece of wood, big like a pen? (quite little fonts).</p><p>Tnx!</p><p>Fer</p>
<p>Yes. Do it all the time. (depends to a large degree on what &quot;little&quot; is, of course.</p>
<p>What did you use for a spindle? I have been surfing the web for options, any suggestions for sites?</p>
<p>My buddy (a professional Mechanical Engineer) gave me an electric die grinder motor he wasn't using. Fixed speed (Damn Fast), not great for everything, but it has bearings not bushings, and there is no perceptable runout. Haven't tried to measure it, but I doubt it would be more than the 'flex' in the entire system.</p>

About This Instructable

106,693views

1,278favorites

License:

More by brian_HobbyCNC:DIY CNC Router Assemble HobbyCNC EZ Stepper Controller Board Kit HobbyCNC 4-Axis Stepper Motor Driver Board 
Add instructable to: