Picture of Building a CNC router
This instructable will show you how I built my CNC router. I hope you can draw some inspiration from my build and that this instructable will be helpful for your future projects. This instructable shows all the steps I went through in designing and building this CNC router.

The main thing I like about a CNC router, is that it is so versatile. You can use it as a drilling machine, a router, a saw, a mill and even as a lathe. Because my workshop is very small (it’s more like a shed), I didn’t have the  room for all of these tools, but I still wanted to be able to make very precise parts for different projects. That’s why I started to think about building a CNC router.

After doing some research I decided to design and build my own machine. It took me almost 6 months to build and design the machine from start to finish. Before starting the actual designing of the machine, I did a lot of research on the web. I recommend taking a look at the following websites: cncroutersource.com and cnczone.com. These websites will provide you with a ton of information and answer most of your questions on CNC related topics.

Please note:
I built this CNC router as final project for school (also called 'profielwerkstuk' in the Netherlands). When I started the build, I was 16 years old and I finished it when I was 17. Although I have done a couple of larger projects in the past and have been doing FTC robotics for the last few years, I didn’t have that much experience with building CNC machines. This machine actually is the second CNC machine I built.  The first one was a wooden test machine, which I built to gain some experience and learn more about CNC machines. I tried to build this machine as good as possible, with the tools, the knowledge and the budget I had at the time. I think the machine came out pretty nice and I hope you enjoy reading about it.
Remove these adsRemove these ads by Signing Up

Step 1: The design

Picture of The design
Schermafbeelding 2013-04-27 om 14.52.01.png
Schermafbeelding 2013-10-18 om 18.55.07.png
Schermafbeelding 2013-10-18 om 18.55.42.png
Schermafbeelding 2013-10-18 om 18.57.51.png

Before starting to build a machine, you will always have to make some sort of a design. Sometimes it only has to be some sketches on a piece of paper, but for this machine a more precise three dimensional drawing was required. I made my design using google sketchup. Google sketchup is a free cad program, which you can download from the web. I found it was very easy to work with, although I had never worked with a cad program before. You won’t be able to draw as complicated designs as you can, by using other programs like Autocad, but for my purposes it worked just fine.
My main goal was to get all of the proper dimensions for my parts, so that I could order them online. I wanted to see if all of my parts were going to fit together. Because the machine consists of a lot of moving parts, I wanted to make sure that nothing would hit one another while running the machine.
When I started designing the machine I already had some parts like the linear rails and the ball screws. I bought these from someone who had built a test machine for his webshop. I used the same electronics for this machine, as I used for the wooden test machine I had built earlier.

These are the basic dimensions and parts used for the machine:
Overall dimensions
X: 1050mm
Y: 840mm
Z: 400mm
X: 730mm
Y: 650mm
Z: 150mm

Motors: Nema 23 - 3Nm
Controllers: Leadshine M542 V2.0
Spindle: Kress FME 800
Linear rails: X: Sbr 20
Y/Z: Sbr 16
Ballscrews: X/Y: 16mm 5mm pitch
Z - axis drive screw: M10 with homemade delrin nut
Aluminum profiles: 30/60mm Misumi 100mm
Aluminum plates: 15mm thick
CAD/CAM software: CamBam
Controller software: Mach3

The machine is almost entirely built from 15mm thick aluminum plate and 30x60mm aluminum extrusions. I built this CNC router using a very limited amount of tools. The main tools I used were a drill press and a lathe. Because I didn’t have the right tools to cut the aluminum plates to size, I designed the machine around standard sizes and ordered the plates online, already cut to length. The aluminum extrusions I used were also cut to length and I ordered these from misumi Europe.

When designing a CNC router it is helpful to ask yourself a couple of questions. Here you will find the design process I went through for my CNC router.

What type of CNC router do you want to build?
There basically are two types of CNC routers: the moving table design and the moving gantry design. Moving table style designs are often used for smaller size CNC routers. They are easier to construct and can be built more rigid than a moving gantry style machine. The downside of letting the table move instead of the gantry, is that the overall footprint of the machine in retrospect to it’s cutting envelope, is about twice as large as with a moving gantry design. Therefore it probably is better to make a moving gantry style machine, if your cutting envelope is larger than about 30x30 cm. Because I wanted to build a machine with a cutting envelope of about 65x65 cm, I used the moving gantry style design.

What do you want to cut with the CNC router?
This determines pretty much every answer to the questions below. I wanted to use the machine for plywood, hardwoods and plastics mainly, but also for aluminum. If you want to cut materials harder than aluminum, I recommend building a CNC mill, instead of a router.

What material will you use to construct the machine?
This is determined by the question above. A good guideline is that the material you use to construct the machine is stronger or as strong as the material you want to cut. So if you want to cut aluminum, you should use aluminum or even steel to build the machine. I have seen wooden CNC routers that can cut aluminum (you will find some on youtube), but this went very slow and the machines have to be very well constructed. Because I wanted to cut aluminum with this CNC router, I built it out of aluminum. I could have used steel, but this is more difficult to machine and I didn’t have the proper tools for that.

What length of travel do you need for each axis?
My first intention, was to build a CNC router that could handle standard size sheet goods, like plywood and mdf. In the Netherlands these are 62 x 121 cm. So for the Y - axis, I wanted a travel distance of at least 620mm. The machine is placed in a small shed in my backyard, with a very limited amount of space. I couldn’t make the machine too big, because then it would really get in the way and take up all the space. So the X - axis only has 730mm of travel. This is less than the full length of a sheet of plywood (1210mm), but I figured that if I wanted to machine something really large a could cut the first part, than slide the sheet forward and cut the last part. By using this technique you can cut pieces that are much larger than the normal X - travel distance. For the Z - axis I figured that 150mm would be enough to possibly use a fourth axis in the future.

What type of linear motion will you use for the machine?
There are many options to choose from for linear motion: drawer slides, ball bearings on V rail, V-groove bearings, unsupported round linear rail, fully supported round linear rail and profile linear rail. The linear motion system you use will to a large extent determine the cutting quality that you can achieve. I would recommend going for the best system that you can afford. After doing some research, I found that fully supported linear rails would be the best option, that I still could afford. If you search on ebay for SBR12, SBR16 or SBR20 you will find a number of different sellers and sets to choose from. If you are building a 3 axis CNC router, you should buy a kit consisting of three sets of linear rails and two linear bearings per rail. Linearmotionbearings2008 is a good ebay store from China, that sells a number of different kits, even with the ball screws included.

What kind of linear drive system will you use for each axis?
The basic options to drive each axis are: timing belts, rack and pinion and drive screws. For homemade CNC routers, drive screws are most commonly used. Screw drive systems work by placing the stationary nut on the moving part of the machine and holding the screw in place on both ends.The screw gets attached to the motor. If the motors starts to turn, the nut with the moving part of the machine attached to it, will move along the screw and set the machine in motion.
For the X and Y axis, I used ball screws. Ball screws provide very smooth motion, with virtually no backlash. Backlash is the amount of play between the drive screw and the nut and is something you don’t want in a CNC router. If you want to read more about backlash, I recommend taking a look at the website cncroutersource.com.
Ball screws are more expensive than ACME screws (which are a good alternative), but will again highly improve the cutting speed and cutting quality you can achieve.
For the Z-axis I used high quality stainless steel M10 threaded rod, with a homemade delrin nut.

What type of drive motor and controller are you going to use?
Concerning the motors, there are two basic options: servo motors and stepper motors.
Servo motors are mainly used for high end CNC routers and are very expensive. They use encoders to provide position feedback and require more expensive controllers. Stepper motors are widely used on homemade CNC routers and there are many different types and sizes. The size of the stepper motor you need depends on what you want to cut, how fast you want to cut it, what type of linear drive and motion components you use, how large the machine is etc. I used 3Nm stepper motors for my machine, which is probably overkill.
The controller must suit the motor that you’re using. You can use individual drivers for each motor, as I did, or you can buy a 3 or 4-axis driver board. You can read more about the electronics I used in step 14.

What type of spindle will you use?
Most homemade CNC routers use a standard woodworking router or trim router as the cutting spindle for their machine. Mine is no exception. I used a Kress router, which is of slightly higher quality than standard wood routers, and it has a nice 43mm clamping flange. If you want to cut a lot of different materials, some sort of speed control can be really handy. The Kress router has a built in speed control but you will find this on most routers. If you are going to be doing a lot of really heavy cutting you might want to look into air or water cooled spindles. You can find these on ebay as well, but they will cost you a lot more than a standard router. They use a VFD for speed control and can be much quieter than standard routers.

What will be the total costs for the machine and do I want to spend so much money?
I estimated the total costs for this CNC router to be around 1500 euro. A CNC router is expensive but you can save a lot of money by building one yourself.

After I had found the answers to all of the questions above, I came up with the final design for my CNC router. As you can see, my design is not extremely detailed. You won’t see the exact hole locations on all of the parts for instance. It is difficult to determine how many bolts you should use to put two pieces together, if you have never held those pieces in your hands before.
For me, this design was enough to give me a good view on how everything was going to work out and which parts I should order.

After the design was completed and rejected/redesigned a couple of times, I could start ordering all of the parts needed. The 30x60mm aluminum extrusions and all of the aluminum plates for the gantry and Z - axis which I used for the X - axis were pre-cut to length. I also ordered some heavy duty anti-vibration leveling feet.

Step 2: The X-axis

The X- axis consists of a basic frame, made out of 4 pieces of 30/60 aluminum extrusions and two 15mm thick end-plates. There are two 6.8 mm holes in the end of the extrusions. I used a metal tap to create an M8 thread on the insides of the holes. After that I carefully laid out the positions for the holes on  the end-plates. I actually clamped both plates together while drilling, to make sure that the holes would line up on both ends. I also drilled four holes in the middle of each plate to mount the bearing blocks. I drilled four extra holes in one of the side plates, to attach the motor mount.

I  made 4 blocks to hold the leveling feet. The blocks are pieces of aluminum (50x50x20). I used four m5 bolts and t-nuts to mount them onto the outer extrusions. 

The linear rails fit directly onto the aluminum extrusions. For the X - axis, I used 20mm diameter rails. The pre-drilled holes in the base of the linear rails line-up exactly with the slots in the aluminum extrusions. I could easily mount them using m5 bolts and t -nuts. 

Step 3: Gantry side plates

The gantry side plates are almost identical. The only difference is that one of them has four extra holes for attaching the motormount. The whole gantry is made out of 15mm thick aluminum plates. Drilling the holes in the sideplates, was quite simple. Although I had to work very precisely. To get the holes in exactly the right spot, I carefully marked their locations, then I used a centre punch, to create a little divot. Then I went over to the drill press and used a centre drill to create a hole that guides the actual drill bit. For the larger holes I used a smaller size drill bit first before using the final size drill bit.

Because of the way I had designed the gantry, I had to drill holes in the end faces of the side plates. I originally planned to do this on the drill press, but the parts didn’t fit under it. So I had to come up with a different solution: using the lathe. I made a special holder on the moving carriage of the lathe. I drilled two extra holes in each plate, to keep them in place on the carriage. Now I could easily drill perfect holes in the ends of the side plates. The only thing that was left to do, was to tap the holes for an M8 thread.

Step 4: Assembling the gantry

The rest of the gantry is made the same way as the side plates. The most difficult part was getting the linear rails lined up correctly. The linear rails had to line up with the edge of the plate. When marking the exact hole locations, I clamped two pieces of aluminum profiles to the sides of the plate to line up the rails. Once I had marked the hole locations, I drilled and tapped them with an M5 thread. When attaching the rails to the gantry, you have to make sure that the distance between the rails over the entire length is completely even (the rails must be parallel).

I used the same method for drilling the holes in the end faces as I did with the side plates.

I made some corner brackets to add some extra stiffness to the assembly. On the final assembly of the machine, I actually left them out, because I didn’t felt like they were needed.

The plate on the bottom of the gantry is very simple. I drilled 6 holes to attach it to the side plates. In the middle I had to drill two holes for mounting the nut holder.

Step 5: Y-axis carriage

The Y-axis carriage consists of one plate with 8 linear bearings attached to it. Drilling the holes was pretty straight forward, but again it had to be very precise. Both the linear bearings for the Y-axis and the Z-axis get attached to this plate. Because the bearings are so close together, even the slightest misalignment causes it to jam. I made the holes only 0.2 mm oversized, but I had to drill them out to 0.5 mm to align the bearings correctly. I had to do a bit of tweaking to get  the carriage to slide easily from one side to the other. Both the rails and the bearings needed to be adjusted. I used high quality digital callipers to align them as good as possible. When I had made the drive nut mount for the Y-axis, I drilled two extra holes in the plate to attach it. I also tried to align the bearings for the Z-axis as good as possible, but I still had to adjust them when I got the rest of the Z-axis finished.

Step 6: Z-axis

The linear rails of the Z -axis get attached to the moving part of the Z - axis assembly. The rails needed to be offset a few millimeters from the edge of the plate. I used the same method as I did for the Y - axis, to align them. I found two pieces of plastic, of just the right thickness, which I could use as spacers. I knew the edges of the aluminum plate were parallel, so I clamped two pieces of aluminum to the edge of the plate and added the pieces of plastic to space the rails out from the edge. Once I had marked the hole locations, I just drilled and tapped them again. Make sure that you mark where the pieces go, so that the holes still line up when you put everything back together.

To mount the top plate to the Z - axis assembly, I drilled and tapped three holes in the end of the router mounting plate. I did this with the same setup on the lathe as I did for the Y - axis plates. I had originally planned to attach the Z - axis stepper motor directly to the top plate. So I tried to mill some slots in the top plate to attach the stepper motor. This didn’t work out so well, because I didn’t have a proper milling setup. So I cut off the part with the slots and fabricated a different motor mount out of plastic (see step 12).

I also made two bearing blocks out of the same plastic material, which got attached to the top plate as well. The drive screw is a piece of stainless steel threaded rod (M10). The drive screw is clamped between the two bearings with two nuts. I drilled and tapped the timing pulley for an M10 thread and just screwed it onto the top part of the drive screw. It is held in place by three set screws. The delrin drive nut gets attached to the Y - axis carriage (see step 10).

The router mount was pre-made and I ordered it from damencnc.com.  It has a 43mm clamping ring, which fits the Kress router that I am using.

Step 7: Timing belts and pulleys

I did not want the motors to be sticking out of the machine. Because this would increase the overall size of the machine by about 15 cm in each axis. Normally you would mount the motors on the outside of the machine using a special motor mount or standoffs. This way you can couple the motors directly to the ball screws with a flexible coupler of some sort. This is how I did it on the first wooden prototype machine I built. For most people this will probably work out just fine. But what I found was, that because the machine was placed in a very small shop, the motors would really get in the way. Because they were sticking out by almost 20 cm (motor standoffs) I quite frequently would bump against them.

That is why I placed the motors on the inside of the new machine. By doing this I could not directly couple the motors to the ball screws, but I had to use a timing belt and pulleys.

I ordered the timing belts and pulleys from beltingonline.co.uk. They have a big variety of types and sizes. I used 9 mm wide HTD5 belts and pulleys. When using a belt drive to connect your motor to the drive screw, you can use a gear reduction. By using a smaller gear on the motor you can use smaller motors and still get the same torque (although you will of course lose speed). Because my motors were pretty large I did not need any gear reduction to get more power.

To save some money I ordered the timing pulleys without the holes for the setscrews and with only a pilot hole in the centre. I used the lathe to drill out the bore to the correct size. For drilling the holes for the setscrews, I made a little jig out of some steel hexagonal bar using the lathe and the drillpress.

Step 8: Motor mounts

Picture of Motor mounts
The motor mounts are made from pieces of aluminum tubing. Mine were pre - cut to length when I ordered them, but you can also use a piece of steel tubing and cut it into square pieces. The motor mounts for the X and the Y - axis, had to be able to slide in and out, to tension the timing belts. If you use a normal coupler to connect your stepper motors, I recommend making or buying some standoffs. I used the lathe to make the slots and to drill a large hole in one face of the mount, but you could also do this on a normal drill press.

I started by making a large hole in one side of the mount with a holesaw. This allows the motor to sit flush with the surface and it also makes sure the shaft is centered. The motor is fastened to the mount with four M5 bolts. I made four slots, in the other side of the mount, to allow it to slide in and out. I clamped the piece on a special lathe attachment to mill the four slots.

Step 9: Bearing blocks

The bearing blocks for the X and the Y - axis are made from 50mm aluminum round bar stock. I cut off four equal slabs, each 15mm thick. I then faced off each side of the blanks on the lathe. After marking and drilling the four mounting holes, I used the lathe again to drill out a large hole in the centre of the blank.  I then made the cavity for the bearing to sit in. The bearings have to be pressed in and the blocks get bolted onto the end and side plates. I drilled and tapped a hole in the end of the ball screws to hold them in place. By inserting a bolt, I could tighten them against the angular contact bearings. The end of  the ball screw was turned down on the lathe to 11mm. This is the part were the timing pulley gets attached to. The very end of the ball screw was turned down a little bit further to 10mm, so that it could be pressed onto the bearing. On the floating end of the ball screws, I just used standard ball bearings.

Step 10: Z-axis drive nut mount

Picture of Z-axis drive nut   mount
I didn’t use a ball screw for the Z - axis. Instead I used standard, but high quality M10 threaded rod. I made a nut out of a piece of delrin. Delrin is a very good material for this purpose, because it is self-lubricating and it won’t wear out over time. If you use a good quality tap to make the threads in the nut, the backlash will be very minimal (I haven’t noticed any). Inside the Z-axis assembly, there was very little room to mount the nut. And since my homemade nut was round, I needed to make a special mount. The mount consists of two pieces of 12mm acrylic. I was able to use the homemade CNC router of my school teacher, to make these parts. The round nut fits very snuggly inside the pieces of acrylic and is held in place by a small bolt. The bolt keeps the nut from spinning inside the mount. I drilled and tapped two holes in the little feet of the holders, to be able to mount it to the Y-axis carriage

Step 11: X- and Y-axis drive nut mount

Picture of X- and Y-axis drive nut mount
For the X and the Y axis, I made a different drive nut mount out of a piece of aluminum. The ballscrew nuts have two small flanges on one side, with three holes in them. I used one of the holes on each side to attach the nut to the holder. The holder is made from a piece of aluminum and is machined on the lathe. Because I didn’t have a mill, I used the lathe with a four jaw chuck. These pieces have to be machined very precisely. Once you have attached the nuts to the gantry and Y-axis carriage, you should be able to move these parts easily from one side to the other, by turning the ballscrews by hand. If the dimensions of the holders are incorrect, the nut will get jammed, and you won’t be able to turn the ballscrew by hand anymore.

Step 12: Z-axis motor mount

Picture of Z-axis motor mount
Schermafbeelding 2013-10-21 om 12.46.57.png
The Z-axis motor mount is different from the others. It is made from 12mm acrylic and was also cut with the homemade CNC router from my teacher. I had originally planned to make the mount out of a plate of aluminum, but machining that was too difficult. The belt tension can be adjusted by loosening the two bolts on top and sliding the whole motor mount assembly. The 12mm acrylic works just fine for now, but I might replace it with a piece of aluminum in the future. I found out that when I was tensioning the belt, the acrylic plate would bend a little bit.

Step 13: The cutting bed

The final part I had to make for the machine was the cutting bed. The cutting bed is a very important part of the machine, and often overlooked. There are many different types of cutting beds. Examples are: t-slot table top, perforated table top, vacuum table or you could just use a disposable table top and screw your stock right onto the table. An aluminum t-slot table top would probably be the best, but it will cost you a few hundred dollars, depending on the size of your machine. I choose to use the perforated tabletop, because it fitted within my budget and I would still have lots of clamping options.

The cutting bed for my machine, is made from an 18mm thick piece of birch plywood. I fastened it with M5 bolts and t - slot nuts to the aluminum extrusions. I bought about 150 M8 hexagonal nuts for about 4 dollars. Using a CAD program, I drew hexagonal shapes in a grid with a hole in the middle. Then I used the machine to cut out all of the pockets for the nuts. Instead of regular nuts you could also use T-nuts, but then you would have to flip the tabletop over to insert them. Another problem you can have is that they fall out.

On top of the piece of birch plywood, I installed a piece of 25mm thick MDF. This is the disposable surface. I used a larger router bit, to cut holes through both pieces. The holes line up exactly with the centre of the hexagonal shapes cut earlier. Then I unscrewed the piece of mdf and installed all of the nuts in the piece of plywood. I made the holes slightly undersized, so I had to use a hammer to pound them in. Then I reinstalled the MDF surface and checked if the alignment was still correct.

I also flattened the tabletop to ensure that the surface was parallel to the x and the y axis and perfectly flat.

Step 14: The electronics

Picture of The electronics
The electronics for my machine consist of the following components:

Main power supply    - 48VDC 6,6Amp
3 drivers     - Leadshine M542 V2.0
3 steppermotors    - 3Nm hybrid Nema 23
Relay      - 25A, 230VAC output, 4-32VDC input
Main power switch
Power supply for breakoutboard - 5VDC
Power supply for cooling fans - 12VDC
2 cooling fans (80mm)
2 power outlets   - for Kress router and shop vac
E- stop     - still needs to be installed
Limit switches    - still need to be installed

If you don’t want to spend a lot of money on electronics you can buy a kit from ebay. There are a lot of different sellers with prices in the 200-400 dollar range. Before ordering a kit you should think about what size steppers you need. I you are building a small machine for cutting wood and plastics only 270 oz in or 1.9 Nm motors will give you plenty of power. I choose 3Nm motors, because the machine itself is quite large and heavy and I planned on machining some harder materials like aluminum in the future.

If your motors aren’t too large you can use a 3-axis driver board, although it is better to use individual drivers. Individual drivers can handle more amps and feature microstepping. They are more reliable and will give you better results. The drivers I use actually came with the kit I ordered. They can handle 4,2 amps max and up to 125 microsteps.

The main power supply is connected to the drivers with 14 gauge wire, which is mainly used in RC airplanes. These wires are very flexible, but of high quality and can handle plenty of amps. The 5 VDC power supply is connected to the main power inlet. For the cooling fans, I installed a power outlet inside of the enclosure, so that I could use a standard 12V wall adapter to power them. The main power gets switched on and off by a large power switch.

The 25A relay is controlled by the computer through the breakoutboard. The input terminals of the relay are connected to the output terminals of the breakoutboard. The relay is connected to two power outlets, which power the Kress router and shop vac to suck up the shavings. When the Gcode ends with the command M05, the machine will automatically switch of both the shop vac and the router. To switch them on you can either press F5 or use the Gcode command M03.

Step 15: Electronics enclosure

Since I temporarily mounted the electronics on a piece of wood, to test the machine, I still had to make a good enclosure. I drew out the rough dimensions and places for all of the components on a piece of paper. I tried to arrange them in such a way that I could easily get to all of the terminals to install the wires. I also made sure that I would get a sufficient airflow through the enclosure. This is very important since the stepper controllers can get quite warm.

All of the cables can be connected in the back of the enclosure. I used special 4 wire plugs, because I wanted to be able to disconnect the electronics from the machine, without having to unscrew any of the wire terminals. I also installed two power outlets to provide power to the spindle and a shopvac. The power outlets are connected to the relay to switch the router on and off automatically in Mach3. I mounted a large powerswitch on the front of the enclosure.

Once I got all of the components arranged the way I wanted, I designed all the pieces to make the enclosure with a CAD program. I then used the CNC machine itself to cut out all of the sides and the base. I made a lid with a piece of plexiglas in the middle. I then installed all the components and tried to keep the wiring as clean as possible.

Step 16: CNC software

Picture of CNC software
Schermafbeelding 2013-10-21 om 12.54.04.png
Schermafbeelding 2013-10-21 om 12.55.10.png
To control a CNC router, you need 3 different types of software. A CAD program, to create a drawing. A CAM program to create the toolpaths and output the G-code. And a controller program which translates the G-code and controls the router. I am using CamBam to create most of my drawings and create the toolpaths. CamBam is a simple program and is very easy to work with. It has some basic CAD functionalities, so for most projects you don’t need a different CAD program. Before CamBam can create the toolpaths, you need to set a couple of parameters. Examples are: the diameter of the tool that you’re using, the cutting depth, depth per pass, cutting speed etc. When you have made the toolpaths, you can output the G-code. The G-code is the machining language, that tells the machine what to do.
For the controller software I am using Mach3. Mach3 sends out the signals through the parallel port of your computer to the breakout board. You use Mach3 to zero the cutting tool and start the cutting program. You can also use it to control the spindle speed and cutting speed. Mach3 has some basic wizards built in, which you can use to output simple G-code files. An example is the write wizard, which you can use to quickly write some text and output it to G-code. (See step 17 for an example).

Step 17: Using the machine

After several months of work, the machine is finally finished. After the initial testing, the first thing I made were some hold-down clamps. The first ‘big’ project was the electronics enclosure, which you have seen in step 15. I have also been cutting some different types of gears and some signs. For some guitar pick boxes I made see my Etsy shop.
One thing I quickly realized was that a CNC router makes a lot of dust and can be pretty loud. To fix the dust problem I made a dust shoe, to which a shop vac can be attached. Reducing the noise level was more difficult. My parents were kind enough to pay for the material costs to build a full enclosure for the machine. So I made a large cabinet in which the CNC machine stands. I used noise-absorbing plates to cover the inside of the walls. The electronics and the shop vac can sit in two different compartments under the machine. The cabinet really cuts down on the noise level and makes using the machine even more fun.

Step 18: Conclusion

Picture of Conclusion
So that’s about it. Now you know how I build my CNC router and why I did it the way I did.
Although you probably won’t be building an exact copy of my machine, I hope you can draw some inspiration from my design and build. I have learnt a lot, by building this CNC router and really look forward to using it for future projects.

I would like to thank my school teacher, Nop Velthuizen, which gave me the opportunity to build this machine. He allowed me to come over to his own workshop and use all of the tools I needed to build this CNC router. He gave me a lot of information and inspiration and helped me where needed, to successfully complete this project.

If you have any questions, please leave a comment and I will try to answer your questions as soon as possible.

Links to useful websites:




1-40 of 162Next »

Great instructables, i found stepper motor, stepper motor driver and psu on here http://goo.gl/zT0D7b is it good deal? the controller is different from yours can i still follow this guide if i want to build 1?

MahfoodS20 days ago

Awesome project! I am currently trying to design something similar, so this is a great resource and inspiration :)

Regarding your choice to use timing belts to reduce the machine's space footprint, wouldn't that introduce more error into the machine? You're sort of throwing away the accuracy and precision the ball-screws are known for! Or am I misinformed in this regard?

Benne (author)  MahfoodS18 days ago

Well this depends on the type of timing belts you use. I used HTD timing belts which are known to be absolutely backlash free. The belts are very short so stretch is also not an issue.

It's nice to hear that you can use some of the information from my post for your design, I am currently building a knew machine as well. The knew machine looks quite a bit different and it deals with all the small problems i had with my previous machine. It looks a lot like this:


The biggest problem from my previous design was the X-axis. It's driven with only one ballscrew in the middle. If I am machining on the side of the cutting area, the gantry tends to twist a bit, because it's only held in place in the middle. The machine uses relatively cheap linear rails and these are not enough to keep it absolutely straight. A better idea is to use two ballscrews, one on each side. You could use the exact same design as my previous machine and just add an extra ballscrew, but I think the picture shows another improvement i want to make. It has a high base and the Y-axis is just a beam that goes across. This way you can create a large cutting height by making the sides higher and keep the whole structure very stiff. There is nothing that goes under the table, so it's easier to make the table stronger as well.

This design will be more expensive, since it uses extra ballscrews, motor and drivers etc. but I think it will work better.

nuno cruz27 days ago
excelent project! i'll follow this one to build my own. but tell me,why belts instead of direct? it will helps in vibrations?
digitalpr1 month ago
May I ask you where did you buy standard sizes aluminum plates that are already cut to length? I am searching auch pkates for a looong time :)

hondaman9001 month ago

Awesome instructable - thank you. Great detail and clearly stated.

I wonder if it would be possible to add augmented reality positioning like this: https://www.kickstarter.com/projects/creationworks...

I would imaging a webcam and the software would be all that's needed. Not sure if you'd even have to have it integrated with Mach 3 to be useful. This would be very useful for avoiding the trial-and-error tests required to get the machine set up.

kbbaktha3 months ago

Great Instructable, so lucid and crisp. Thanks for sharing. This is one of the projects in my wish list. I hope to take up soon, as I am already 64 years young!

bybecker3 months ago

Nice job. Congratulations.

lowe4 months ago
Only 1500 for all aluminum cnc? Thats pretty good
-Maxi4 months ago
Hi dude, could I get your email? I'm looking to start making a cnc machine but I have some questions. I speak dutch so communication won't be a problem.
wdvalenz4 months ago

Great Job,

Could you please send the source files to my mail: wdvalenz@gmail.com please.

Kamikage4 months ago

Hello there :)

firstly... wooooow, that's VERY impressive :P

Secondly, I need a hand. Maybe a couple of hands. I am a heavy sketchup user, I designed lots of things, usually houses and pieces of furniture. Recently, I've been confronted with the need for a new bed. Looked on Ikea and some other places and found something that might fit but looking at the thing, it's not really worth the money. So I sat down and I designed my own bed in sketchup. Since I would like to be able to take the thing apart and I'm no big friend of metal... joints. MANY joints. The bed is basically built like a wooden jigsaw puzzle, using commercially available beams - usually around 45x45x2400mm, 19x100x2400mm, 25x50x2400mm and so on. Once all pieces are ready it can be assembled and used (at least according to sketchup design) without using any nails, screws or glue. I have a router (my boyfriend does). And a saw and mostly manual woodworking tools. But with the amount of joints in the design, it would likely take me and my boyfriend ages to finish the actual bed.

So I've been looking after a CNC router and I've come across your design. I think I'd like to build one myself, rather than buy one, because if I build it (based on your design) and it breaks (or, more likely, if I break it) at least I can fix it myself.

Do you think you would be ok with sharing more than the 18 steps (as in... really detailed) and maybe help me if I have questions during the building process? (If needed I can make use of german or danish).

Many thanks for your help and once more... wooooow coool machine :))))))))

Kamikage Kamikage4 months ago

Oh, I just tried opening the sketchup file at the end of the article, unfortunately my version of sketchup (8) can't open it. For the time being I haven't yet taken the step to sketchup make because I'm still running vista on my machine.

buckslayer245 months ago

What kind of materials can it cut?

Benne (author)  buckslayer245 months ago
It can cut all materials softer or as hard as aluminum. Aluminum works well, but I'm currently building a new machine that's a lot more high end and ridgid that will work even better for this. I haven't tried steel, but I don't think it's ridgid enough for that.
xemestan5 months ago

Ola boa tarde! Parabéns pelo projeto!

Podes me enviar seu projeto em PDF para meu email? Pois não estou conseguindo baixar: jeffersonalmeida22@hotmail.com

Muito obrigado!

QuentonR6 months ago

Thank you Benne you are an inspiration.

todos6 months ago

Ben is this-->


your set of ballscrews?

If not what was your choice?

NoumanM7 months ago

which type of cutting bit are you using in your project

kingkhalid7 months ago

like your cnc i want to build one can you send me your drawings and about how much does it cost my email nhm.khalid@gmail.com plzzzzzzzzzzzzzzzzzz

Benne (author)  kingkhalid7 months ago
Both the total cost and the drawings that I have are in the Instructable

Hi! Nice Job! Any chance to see a video of it in action? And can you do 3D parts by using the appropriate software to e.g. sculpt wood moving all 3 axis simultaniously? Is this a hardware or software limitation if one can move all 3 axis at once? I have noticed that a lot of people use two motors on the x axis. Have you noticed any need for that? Have you ever thought about driving the nut on the z axis and not a threaded spindle? Would there be any advantage of not moving the z axis stepper motor along with the z-axis? Yes and like one other commenter already stated you did an very good job writing English. Easy to read and understand!

jdtilden9 months ago

i like your cnc i want to build one can you send me your drawings please and about how much does it cost thank you jdt_66@yahoo.com

hasannebso10 months ago

wow you amazing i love to build this router please can you send me the plane and the sketchup drawings


Benne (author)  hasannebso10 months ago

I just added the Sketchup drawings to step 1 of the Instructable. The drawings are not very detailed and not fully complete but I hope they will be helpful. I dont have a full set of plans, but the sketchup drawing and the pictures + documentation should be enough to build your own machine.

cnclover10 months ago

hi i am very interested in building this machine , can you give me the autocad file so i can modify the size of the machine before printing the design , thank you very much

paulgentile7210 months ago

here is a great cnc build I found- http://www.cnczone.com/forums/open-source-cnc-machine-designs/171805-starting-48x96-cnc-router-parts-build.html

drphil11111 months ago

Great piece of engineering and building. Have build one CNC machine already in wood. Need to move up to the next realm. Would you please send me your sketchup drawings. Thanks. docphil111@gmail.com

hamzas11 months ago

hi first of all thanks for sharing this info... great project i want to build this same design but in 2x scale is the same electronics will work and motors torque should be enough for acrylic or aluminium ??? and if possible please send me the plan on r.hamza_shahid@hotmail.com i should be really thanks-full to you thanks

How much did this cost overall?

kSaletta1 year ago

Wow this is such an amazing machine!!! Its so awesome how you made your own machine that you use to make parts! You did such a nice job on this!

Benne (author)  kSaletta1 year ago
Thank you!
jmacangus1 year ago

A fine piece of engineering.

skhawale1 year ago
Is there any substitute for the Leadshine M542 co troller because it is'nt available in India.

hey dude, i am salam siddique from mumbai

i have build a cnc mill myself and below are the pics you can see

i have to tell you that it is very tough to find cnc electronics here in india

i myself ordered tb6560 3-axis cnc driver from ebay

so it is good if you order from ebay or you can make one, there are lots of articles on the internet but if you are a beginner i recommend you to buy one

if you need anything just google it........

best of luck....

Djidde1 year ago

Very, very impressive man. Any chance you could send me the drawings in sketchup and some additional information? Would live to design further upon your great execution!

Dr Soup 321 year ago
Holy cow my friend, nice work!
coldmow1 year ago

Gruwelijk vet van je dat je het op Instructables hebt gezet. Dit is echt vet.

lcsmbs1 year ago

I am also designing and building a CNC router but I am not to sure about the dimensions. I want it to be pretty similar to your as I think it is one of the best designs around. Could you please email me the sketchup plan. Email is: sales@chedworth.co.nz.

Much appreciated.

1-40 of 162Next »