Introduction: Build a CNC Router

Picture of Build a CNC Router

Hello, it has been a long time since I read instructables and this is my second one. I assume that I will not enter in every details but if you need more, that would be a pleasure to add them :-) However, you will find every plans, STL files and main indications to build the machine.

Like every maker I enjoy create and develop new ideas that would help all of us in our everyday life. I don't have access to any workshop, that's why in addition to my 3D printer I started to develop an affordable CNC machine that everybody can easily build with very simple tools. This way I would be able to make the stuff I want!

When I started I had few aims :

  • cost < 550$ all inclusive
  • Simple design
  • Good looking
  • Dust protection
  • Require only simple Tools : a drill, a dremel, jigsaw / handsaw
  • Require 3D printer or at least beeing able to access one.

With that in mind, I started to draw some sketches and after a few days I came up with the main idea. The CNC would be closed on the side with the possibility to add a futur plexiglas Hood on the top. All the electronic would be on the back.

Note : some parts that should be 3D printed are in aluminium because I had the opportunity to make them during an internship in my studies.

Step 1: Required Parts

Picture of Required Parts

Bought in DIY store :

  • 15mm thick birch plywood. See the dimensions according to the plans.
  • 600x570mm 10-20mm thick MDF cutting bed
  • 8x 1m aluminium T profil (see the PDF plan)
  • 142x Wood screw length 22 to 30 mm
  • 8x M4 Phillips flat head 25mm length
  • 8x M4 secure nut
  • 32x M5 hex head screw 35mm length
  • 32x M5 hex head screw 16mm length
  • 32x M5 secure nut
  • 20x M5 nut
  • 44x M5 washer
  • M5 1m threaded rod
  • M8 1m threaded rod
  • 6x M8 secure nut
  • 6x M8 nut
  • 20x M8 washer

Bought on Ebay :

In addition you will need :

  • 1x router, I used a Makita RT0700C
  • 1x Arduino uno
  • bits for the router

Link to the eBay collection

Step 2: Wooden Plank

Picture of Wooden Plank

As almost every plank is square, I went to the DIY store and asked for wooden plank with the correct dimensions for the small ones. The bigger ones I did myself with a jigsaw but order it directly to the DIY store gives better results.

I recommend you to be specially precise with the wooden stick for the X axis and the drill holes. As you will see, some plank have oblong (long holes). Their purpose is to adjust bearings' positions during the assembly. I made them by drilling multiple holes and then by using a file as you can see here :

You will find a set of plan bellow

Step 3: Case and Y Axis

Picture of Case and Y Axis

I recommend you to precisely assemble the X Axis rail. It has to be as horizontal as possible with a equal distance between the two all along the rail. I recommend to use 6 to 10 screw between the Case_bottom and the Case_side. 3 to 4 between the Case_side and the Case_insideBack / Case_back

Note : the schematics with colors of the inside of the case indicates the height of the rails.

Step 4: X Axis

Picture of X Axis

A lot more screw to come! I recommend to use 6 wood screw between the two Axis_X_main. 6 for each Axis_X_TProfilAlu and 4 for each Axis_side. Start by assembling the wood parts and then the aluminium profils. I did not do that and it wasn't easy to be precise

Step 5: Z Axis

Picture of Z Axis

The bigger bearing near the motor will be used for the timing belt along the X Axis. When you screw the Axis_Z_TProfilAlu on the Axis_Z_Rail, make sure that the screw does not protude from the surface otherwise the bearing will touch them.

Mount the router support : Use the 3D printed parts :

With the Router holder they go like this : (drill the holes with 3d printed parts in place if possible)

STL files bellow

Step 6: Assembly

Picture of Assembly

Now it is the time to put everything together! The case, X, Y and Z Axis.

General Remark :

Z Axis

First of all, mount the X axis on the Z axis. Assemble both with M5 nut and threaded rod of 90mm long.

Between the two bearing must be placed two 3D printed parts to remove imprecisions. They hold together with a zip tie. You will find several version of it in the .zip bellow because the distance between the two bearing varies from 26mm to 27mm.

Add the Z axis threaded rod with the pulley (that can be 3D printed). The closed timing belt is stretched with a bearing. You may have to add a custom 3D printed ring to keep it in place.

Custom 3D printed pulley on thingiverse

To mount the part that hold the router (Makita RT0700C actually), use the 3D printed part (which is in aluminium here). Place it in the threaded rod and screw it with M5 hex head.

X Axis

On the back of the X axis, I fixed the timing belt with a wood screw. This is probably not the best idea but it works. Maybe it would be great to add a washer. This timing belt go through the Z axis on the bearing and the motorised pulley.

Y Axis

The Y axis move the X axis from back to front. That's why we will put a timing belt between the two rail (as shown above).

First attach the belt of around 140cm (mesure it!) like that : (and one on each side)

On the front end, the belt rotate arount a free pulley as shown bellow.

Note I use both aluminium and 3D printed version, one on each side.

Mounted with two wood screw and a M5 screw for pulley, it looks like this :

On the back, there is a system that connects the two belts to one stepper motor through a shaft. The shaft is a M8 threaded rod but you can use whatever you want but it is cheap and do the job. It rotates in 3D printed parts that can ajdust the belt's tension. The first part is mounted with 2 wood screw and two M5 screw that will enable the second part to connect to it and ajust the tension. The wood screw prevent the M5 screw to rotate because they tight the plastic.

Then the second part is mounted as well a the support for the stepper motor

Now everything should be in place, let's connect everything with the electronics!

Step 7: Electronics

Picture of Electronics

A cnc machine require only a few electronic components :

  1. Power
  2. Stepper driver → TB6560
  3. Gcode interpreter → Arduino uno

I will be using GRBL 0.9 with is an Arduino sketch available here. To upload it, simply follow the instructions on the website. It is very easy. It only require to upload a single sketch. Then connect the three stepper driver to the arduino by following those those images.

Note : I don't know what are the switches on the stepper driver for.

Note 2 : You will have to setup GRBL once it's on the arduino. It's important that 1mm in the code correspond to 1mm in reality. Everything is explained on the website.

Then Power the stepper drivers with the power supply. I also used a plug socket with an interrupter. The arduino will be powered by the computer.

I decided to add some LEDs that light up when the machine is on. It requires a simple step down voltage converter and 40cm of white warm LED strip :-)

Step 8: Make It Alive!

Picture of Make It Alive!

Now that the electronics is done and that GRBL is on the arduino, our cnc understand Gcode with is a machine language that tells when the motors have to move basically. We will use Universal Gcode Sender to setting it up. Here is how we are gonna do it :

  1. First plug in arduino to a computer with Universal Gcode Sender installed.
  2. Launch it.
  3. Set baud rate to 115200 and select Firmware GRBL.
  4. Clic Open.
  5. This is what you should have :

Then configure GRBL with the help of those instructions. On the Machine Control tab, we can move the three axis and see if it works!

Now let's test it with a pen :

Well that looks great! How does it go with plexiglas ? Not that bad

For that I used Easel which is a free online CAM and CAD software developped by Inventables. It has built in GRBL support and work really well.

Then I tried to cut Birch wood and poplar wood and this is what it looks like :

Step 9: Conclusion and Future Improvements

Picture of Conclusion and Future Improvements

Now that the machine has been running a few project, here is what I can say :

Great Points :

  • Affordable ( < 550$)
  • Simple design, easy to build
  • Dust protection
  • Great precision on Z and Y axis
  • Nice looking

Improvements to bring :

  • Reduce noise due to the vibrations of the stepper motor ans the router in the case. The case act as a crate of resonnance. I have to add a layer of cork or rubber between the motors and the case. I expect it will help dramatically. Eventually replace the router by a spindle which is way quieter.
  • Increase precision by improving linear motion on X axis with a similar design as on the Z axis.
  • Simplify the design with more 3D printed parts for more precision and an quicker assembly.
  • Add a prexiglas hood for more dust protection

I hope you appreciated this project. In the following month (since January 2017) I will continue to work on this to improve the design and get better results!

See you next time!

PS : if you have any questions, it will be a pleasure for me to answer

UPDATE 2018 :

I suggest you not to make the same mistake as I did with my custom rails and go directly with a linear rail guide on each axis. Their prices dropped significantly on eBay or on aliexpress and they are now very affordable. It's harder, durable and easy to mount. Cheers!


SkeletU (author)2018-01-12

дизайн станка интересный направляющие тоже сделаны здорово. Но вот покупные детали и обязательное наличие 3Д принтера губят всю идею.

550$ это примерно 33000₽ что совсем не бюджетно для домашней конструкции

unclescrooge (author)SkeletU2018-01-13

Hi! Thanks for the comment, you can get a decent 3D printer for 300$ or ask a friend of yours who have one :) BTW you could even go to a fablab.

palocho (author)2018-01-09

hello! very nice design! you have more videos to see?

unclescrooge (author)palocho2018-01-10

Hello, it's actually disassembled so maybe in the future

IsaganiG (author)2018-01-05

Can I just buy a finished CNC Router to an hobbyist.... have no space and tools to make one....

Wapata (author)2018-01-05

I like the "all parts out of dust" way of design.

JackM162 (author)2018-01-02

Congrates on the Win.
I have been looking at a lot of different designs. This one looks pretty straight forwarded. I think I could build it.
I do have one question on design concepts. All the designs I have seen. Why is the motor (Z axis) always hang on the side (Y axis) bridge. If the bridge was wide enough for a Z axis box that could travel up and down supported on both sides by the bridge.

unclescrooge (author)JackM1622018-01-04

Hi Jack, thank you for your comment!

Regarding your design idea, the question to be asked is : what is the hardness of the material I want to mill ? wood/plastic or wood/plastic and aluminium ? The harder it is, the more you want the CNC to be rigid to reduce the vibrations and improve the precision of the mill.

With a wider bridge, it would be more rigid and since it's the weakest axis, it's definitely where you want to improve the rigidity. So you're right! (you always want it to be more rigid). In my design I tried to maximise the working area while keeping a small footprint and a small amount of parts.

If you want to build a cnc, I suggest you not to make the same mistake as I did with my custom rails and go directly with a linear rail guide such as the one in the picture below (for all the axis). Their prices dropped significantly on eBay or on aliexpress and they are now very affordable.

VolodymyrB4 (author)2017-04-23

Hi unclescrooge! The CNC design is great, and I'd like to repeat it, but I'm afraid of aluminium rails - because aluminium is quite soft material and may wear out. After 4 months, how do they perform, and how many details you made at this CNS router?

unclescrooge (author)VolodymyrB42017-04-26

Hi VolodymyrB4, You're right, those aluminium rails are not so good. I was improving the design recently but couldn't finish it. I advise you to modify the design of the x axis with something like this :
but I would go with steel profile instead of aluminium because of torsion.
Once this will be corrected, this should work really well with a similar accuracy as the X-carve cnc

AmnaK5 (author)2017-03-24

Hey awesome work! I was wondering what material did you use for the 3D printed parts?

unclescrooge (author)AmnaK52017-03-26

Hi AmnaK5, I used PLA because it is easy to use. ABS would have been great too.

alaska112 (author)2017-02-22

Hey Great Project!

Could you share your GRBL params ?

RoguePirin (author)2017-01-23

Congratulations on the win in the CNC contest!

JoelBennett1 (author)2017-01-18

That's a really impressive build! I'm glad you mention what software setup you use. It seems like so many of these CNC projects show just the hardware, and fail to mention how they actually get the data fed to the machine. I'd love to build a similar rig, but with a larger z-axis.

mermarmad (author)2017-01-16

So good ides

ravenzero (author)2017-01-16

You should try using Sorbothane instead of Cork.

dma47 (author)2017-01-08

I can do most of it,the electronics is another thing.I've made some items;one is a jigsaw that is upside-down with bearings to hold blade straight as it moves vertically.I noticed some spelling and grammar errors(only one "e" in being)some extra letters where they're not needed. Where can I get the circuit boards with components already soldered in place? If you noticed a CNC at Woodcraft/ Rockler etc. that the table has grooves to hold work piece in place...

unclescrooge (author)dma472017-01-10

Hi dma47! It seems you did some great project!

I was a bit pressed by time that's why they're some grammer error, I will try to correct them in the near futur! thanks!

Concerning the stepper motor drivers, you could use which one you want. I decided to use the TB6560 board because they're low cost. Basically they all work the same. Just pay attention that they can deliver enough current according to the motor. If you search on the internet you will find a circuit board with components already soldered in place.

dma47 (author)unclescrooge2017-01-14

OK,I'll check it that one out.Just an FYI; get a bigger board, for your work to be placed on, maybe make some "T" slots in it for hold downs. To make those e long gated holes,use a trim router with a straight bit and stops, measure the base of the router and frame around the base,use double stick tape(see The Woodshop show).

unclescrooge (author)dma472017-01-15

I'll see if I need a bigger board in the future. Right now I only created small parts.
T slots yeah why not but I will try to use Wood Thread Insert (see google images). It's very simple to install because it only requires simple holes!

biggy boy (author)2017-01-09

Great Instructable build!

What plastic did you use for the router motor mount? Was it PLA?

How does the plastic motor mount hold up to the heat of the motor?

Is there any negative effect to the plastic?

I'm planning on printing a mount for my Bosch 1617 router but was concerned about the heat from the router softening the plastic.

unclescrooge (author)biggy boy2017-01-15

Thanks biggy boy!
Yep it was PLA and they aren't any issue with the heat. The router has a big fan built in so it helps. Yours probably has one too, check it out!

TeleDex (author)2017-01-15

Ingenious design, the way it allows for X- and Y- travel. For non CAD Troglodytes like me, I can imagine something very similar which is "controlled" just by stops on the X-/Y- travel mechanism. Not as versatile, but a lot less software and electronics to buy and learn how to use. Any ideas, anyone?

AMbros Custom (author)2017-01-14

congrats dear to be a finalist.

Tura Street (author)2017-01-13

Great job!

Shashicad (author)2017-01-10

Good job..How many axis does it have?

unclescrooge (author)Shashicad2017-01-10

X, Y and Z so 3 ;)

Shashicad (author)unclescrooge2017-01-10

good job

MichaelAtOz (author)2017-01-09

If you have a 3D printer you should make a cover for the power socket.

Bare metal mains voltage is not good.

unclescrooge (author)MichaelAtOz2017-01-10

Great idea, it's not the safest thing I agree but at least you can't have direct access to it without unscrewing the case. I will do that

Patrick_MG (author)2017-01-08

Impressive! Great work! Organized, cool design, super-objective design description for assembly! Incredible thanks for sharing this amazing project! Congratulations

unclescrooge (author)Patrick_MG2017-01-09

Hi Patrick! Thank you very much! very nice comment!

askjerry (author)2017-01-08

Very nice job... and the enclosure holds much of the mess as well. I will point out one thing you may be interested in however... at some point you may want to switch to a spindle instead of the router. I have a short video to show the difference... I'm showing a water cooled version... but the air cooled are just as quiet.

They use the holding fixture as a heat sink.

Is there really a big difference in sound? SPINDLE VS. ROUTER

I think so.


joekurm (author)askjerry2017-01-09

Jerry, If you were to use a spindle motor for this project, what size would you use? I have seen them rated in hp and watts. Ho do hp corrolate to watts?

askjerry (author)joekurm2017-01-09

First the conversion... 2.2kW is just under 3HP.

If you look at my Frankenlabs series, I'm using a 500W spindle. It depends on how aggressive you want to cut... the 2.2KW are very powerful. And the prices have really come down. Yours looks about the same as a 1.5Kw or 2 HP spindle. I saw some 1.5KW water cooled for about $220. including the drive electronics. You send out PWM and get full speed control from LinuxCNC or Mach.

The 500W that I'm using cost me about $150 including all the electronics... and it's air cooled. (Much more quiet than a router.) Check out my video of it in action...

Remember... if you need help usually (unless I'm traveling for work) I can set up a Skype or Google hangouts to assist you.

Good Luck!

unclescrooge (author)askjerry2017-01-08

Wow Jerry! I wasn't expecting so much difference! That's phenomenal! Great video by the way. I will seriously think about switching to a spindle. That will be an easy but great improvement, thank you!

sevenmead (author)unclescrooge2017-01-09

My spindle is very quiet and very affordable. Excellent work, especially given your limited resources!

unclescrooge (author)sevenmead2017-01-09

Sevenmead, what an so complete and great intructable! It is very impressive!

joekurm (author)2017-01-09

Great instructable. I plan on making one, but it might take me a while because of my schedule.

Diy Tech (author)2017-01-09

Really neat build loved it :)

unclescrooge (author)Diy Tech2017-01-09

Thanks Diy_Tech!

SergeyT9 (author)2017-01-09

Great post! Thank u!

SergeyT9 (author)SergeyT92017-01-09

Driver for motor (more cheapest) (from 4,42 USD)

unclescrooge (author)SergeyT92017-01-09

Hey Sergey, thank you! I'm used to buy on eBay but it seems aliexpress offers better deals! I will try next time

SergeyT9 (author)unclescrooge2017-01-09

U r welcome! Some equipment is cheapest on Ali, some on ebay. Sellers is same (often) LOL. I'll try to repeat your project later.

What about vibration from Makita? They don't interfere with the accuracy of routing?

unclescrooge (author)SergeyT92017-01-09

The makita is making a lot of noise but does not interfere with the the accuracy

SergeyT9 (author)unclescrooge2017-01-09

Thank u for answer! Yep, all router is noisy. Newer used Makita's router. I have Sparky 205. When it working, it's noisy too.

SergeyT9 (author)SergeyT92017-01-09

16x V-groove bearing have other name HSC v625zz

Tchernyavsky (author)2017-01-08

I whood write in Russian: Отличная инструкция! Как - раз собирался сделать фрезерный станок + Лазерный гравёр + сканер с числовым программным управлением, и попалась на глаза эта инструкция! Я очень благодарен АВТОРУ за чертежи и ссылки, хотя буду делать по-своему, но всё - равно - огромное СПАСИБО!!!

About This Instructable




Bio: Hi, I love making cool and innovative stuff. I'm really interested in electronics, wood working and 3D printing.
More by unclescrooge:Build a CNC RouterDIY Wooden Stick Lights
Add instructable to: