You are on page 1of 42

instructables

Building a CNC Router

by Benne

I recently started working on my own tutorial blog, makerguides.com. I currently have written several Arduino
tutorials on using sensors and controlling stepper motors:

How to control a stepper motor with A4988 driver and Arduino


HC-SR04 ultrasonic distance sensor tutorial
28BYJ-48 Stepper Motor with ULN2003 Driver and Arduino Tutorial

Feel free to check them out and maybe leave a comment with some feedback, thanks!

Need parts for your project? Check out my Amazon Affiliate link below:

http://amzn.to/2mVlbnl

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.

Building a CNC Router: Page 1


Step 1: The Design - Tools and Material

Building a CNC Router: Page 2


Before starting to build a machine, you will always Z: 400mm
have to make some sort of a design. Sometimes it Travel
only have to be some sketches on a piece of paper, X: 730mm
but for this machine a more precise three dimensional Y: 650mm
drawing was required. I made my design using googl Z: 150mm
e sketchup. Google sketchup is a free cad program,
which you can download from the web. I found it was The length of the rails and ball screws depends on
very easy to work with, although I had never worked the size of the machine you want to build.
with a cad program before. You won’t be able to draw
as complicated designs as you can, by using other Electronics
programs like Autocad, but for my purposes it worked -3x 3 Nm Nema 23 Stepper Motors
just fine.
My main goal was to get all of the proper dimensions - 3x DM556 Leadshine stepper motor driver
for my parts, so that I could order them online. I
wanted to see if all of my parts were going to fit - 36V power supply (for Stepper Motors)
together. Because the machine consists of a lot of
moving parts, I wanted to make sure that nothing - Breakout Board
would hit one another while running the machine. - 5V power supply (for Breakout Board)
When I started designing the machine I already had
some parts like the linear rails and the ball screws. I Better: Ethernet Smoothstepper (doesn't use old style
bought these from someone who had built a test LPT port).
machine for his webshop. I used the same electronics
for this machine, as I used for the wooden test - ON/OFF switch
machine I had built earlier. - Shielded 18/4 Awg wire
- 3x Proximity sensor (limit switch)
These are the basic dimensions and parts used for
the machine: You can also buy a complete Electronics Kit, that
Overall dimensions includes stepper motors and drivers. These work
X: 1050mm totally fine, but can sometimes be lower quality than
Y: 840mm real Leadshine drivers.

Building a CNC Router: Page 3


- Spindle: Kress FME 800 or Bosch Colt or Dewalt C Moving table style designs are often used for smaller
ompact Router size CNC routers. They are easier to construct and
can be built more rigid than a moving gantry style
If you also want to cut aluminium and other non machine. The downside of letting the table move
ferrous metals, a water cooled or air cooled spindle instead of the gantry, is that the overall footprint of the
would be a lot better. You can buy a kit that includes machine in retrospect to it’s cutting envelope, is about
everything you need. I have purchased this as an twice as large as with a moving gantry design.
upgrade after finishing my CNC Therefore it probably is better to make a moving
gantry style machine, if your cutting envelope is larger
Optional: than about 30x30 cm. Because I wanted to build a
machine with a cutting envelope of about 65x65 cm, I
- Electronics enclosure used the moving gantry style design.
- Energy chain
- Connectors What do you want to cut with the CNC router?
This determines pretty much every answer to the
Mechanical questions below. I wanted to use the machine for
plywood, hardwoods and plastics mainly, but also for
- Linear rails: X: SBR 20 Y/Z: SBR 16 aluminum. If you want to cut materials harder than
aluminum, I recommend building a CNC mill, instead
- Ballscrews: X/Y: 16mm 5mm pitch of a router.

You can save a lot of money by buying a kit that inclu What material will you use to construct the
des linear rails and ball screws. machine?
This is determined by the question above. A good
- Z - axis drive screw: M10 with homemade delrin guideline is that the material you use to construct the
nut, but a ballscrew would be better machine is stronger or as strong as the material you
- Aluminum profiles: 30/60mm Misumi 100mm want to cut. So if you want to cut aluminum, you
- Aluminum plates: 15mm thick should use aluminum or even steel to build the
- CAD/CAM software: CamBam/Fusion 360 machine. I have seen wooden CNC routers that can
- Controller software: Mach3 cut aluminum (you will find some on youtube), but this
went very slow and the machines have to be very
The machine is almost entirely built from 15mm thick well constructed. Because I wanted to cut aluminum
aluminum plate and 30x60mm aluminum extrusions. I with this CNC router, I built it out of aluminum. I could
built this CNC router using a very limited amount of have used steel, but this is more difficult to machine
tools. The main tools I used were a drill press and a and I didn’t have the proper tools for that.
lathe. Because I didn’t have the right tools to cut the
aluminum plates to size, I designed the machine What length of travel do you need for each axis?
around standard sizes and ordered the plates online, My first intention, was to build a CNC router that
already cut to length. The aluminum extrusions I used could handle standard size sheet goods, like plywood
were also cut to length and I ordered these from misu and mdf. In the Netherlands these are 62 x 121 cm.
mi Europe. So for the Y - axis, I wanted a travel distance of at
least 620mm. The machine is placed in a small shed
When designing a CNC router it is helpful to ask in my backyard, with a very limited amount of space. I
yourself a couple of questions. Here you will find the couldn’t make the machine too big, because then it
design process I went through for my CNC router. would really get in the way and take up all the space.
So the X - axis only has 730mm of travel. This is less
What type of CNC router do you want to build? than the full length of a sheet of plywood (1210mm),
There basically are two types of CNC routers: the but I figured that if I wanted to machine something
moving table design and the moving gantry design. really large a could cut the first part, than slide the

Building a CNC Router: Page 4


sheet forward and cut the last part. By using this What type of drive motor and controller are you
technique you can cut pieces that are much larger going to use?
than the normal X - travel distance. For the Z - axis I Concerning the motors, there are two basic options:
figured that 150mm would be enough to possibly use servo motors and stepper motors.
a fourth axis in the future. Servo motors are mainly used for high end CNC
routers and are very expensive. They use encoders to
What type of linear motion will you use for the provide position feedback and require more
machine? expensive controllers. Stepper motors are widely
There are many options to choose from for linear used on homemade CNC routers and there are many
motion: drawer slides, ball bearings on V rail, V- different types and sizes. The size of the stepper
groove bearings, unsupported round linear rail, fully motor you need depends on what you want to cut,
supported round linear rail and profile linear rail. The how fast you want to cut it, what type of linear drive
linear motion system you use will to a large extent and motion components you use, how large the
determine the cutting quality that you can achieve. I machine is etc. I used 3Nm stepper motors for my
would recommend going for the best system that you machine, which is probably overkill.
can afford. After doing some research, I found that The controller must suit the motor that you’re using.
fully supported linear rails would be the best option, You can use individual drivers for each motor, as I
that I still could afford. If you search on ebay or did, or you can buy a 3 or 4-axis driver board. You
Amazon for SBR12, SBR16 or SBR20 you will find a can read more about the electronics I used in step 14.
number of different sellers and sets to choose from. If
you are building a 3 axis CNC router, you should buy What type of spindle will you use?
a kit consisting of three sets of linear rails and two Most homemade CNC routers use a standard
linear bearings per rail. woodworking router or trim router as the cutting
spindle for their machine. Mine is no exception. I used
What kind of linear drive system will you use for a Kress router, which is of slightly higher quality than
each axis? standard wood routers, and it has a nice 43mm
The basic options to drive each axis are: timing belts, clamping flange. If you want to cut a lot of different
rack and pinion and drive screws. For homemade materials, some sort of speed control can be really
CNC routers, drive screws are most commonly used. handy. The Kress router has a built in speed control
Screw drive systems work by placing the stationary but you will find this on most routers. If you are going
nut on the moving part of the machine and holding the to be doing a lot of really heavy cutting you might
screw in place on both ends.The screw gets attached want to look into air or water cooled spindles. You
to the motor. If the motors starts to turn, the nut with can find these on Amazon/Ebay as well, but they will
the moving part of the machine attached to it, will cost you a lot more than a standard router. They use
move along the screw and set the machine in motion. a VFD for speed control and can be much quieter
For the X and Y axis, I used ball screws. Ball screws than standard routers.
provide very smooth motion, with virtually no
backlash. Backlash is the amount of play between the What will be the total costs for the machine and
drive screw and the nut and is something you don’t do I want to spend so much money?
want in a CNC router. If you want to read more about I estimated the total costs for this CNC router to be
backlash, I recommend taking a look at the website c around 1500 euro. A CNC router is expensive but you
ncroutersource.com. can save a lot of money by building one yourself.
Ball screws are more expensive than ACME screws
(which are a good alternative), but will again highly After I had found the answers to all of the questions
improve the cutting speed and cutting quality you can above, I came up with the final design for my CNC
achieve. router. As you can see, my design is not extremely
For the Z-axis I used high quality stainless steel M10 detailed. You won’t see the exact hole locations on all
threaded rod, with a homemade delrin nut. of the parts for instance. It is difficult to determine
how many bolts you should use to put two pieces

Building a CNC Router: Page 5


Download
https://www.instructables.com/ORIG/FIK/9O46/I05F5UVN/FIK9O46I05F5UVN.skp

Building a CNC Router: Page 6


Step 2: The X-axis

The X- axis consists of a basic frame, made out of 4 I made 4 blocks to hold the leveling feet. The blocks
pieces of 30/60 aluminum extrusions and two 15mm are pieces of aluminum (50x50x20). I used four m5
thick end-plates. There are two 6.8 mm holes in the bolts and t-nuts to mount them onto the outer
end of the extrusions. I used a metal tap to create an extrusions.
M8 thread on the insides of the holes. After that I
carefully laid out the positions for the holes on the The linear rails fit directly onto the aluminum
end-plates. I actually clamped both plates together extrusions. For the X - axis, I used 20mm diameter
while drilling, to make sure that the holes would line rails. The pre-drilled holes in the base of the linear
up on both ends. I also drilled four holes in the middle rails line-up exactly with the slots in the aluminum
of each plate to mount the bearing blocks. I drilled extrusions. I could easily mount them using m5 bolts
four extra holes in one of the side plates, to attach the and t -nuts.
motor mount.

1. CAD drawing of assembled X-axis

1. Cutting the threads using an M8 tap

Building a CNC Router: Page 7


1

1. 4 mounting blocks for the leveling feed

1 1

1. Leveling feet mounted on the aluminum extrusions 1. SBR20 rails mounted on the aluminum extrusions

Building a CNC Router: Page 8


Step 3: Gantry Side Plates

The gantry side plates are almost identical. The only Because of the way I had designed the gantry, I had
difference is that one of them has four extra holes for to drill holes in the end faces of the side plates. I
attaching the motormount. The whole gantry is made originally planned to do this on the drill press, but the
out of 15mm thick aluminum plates. Drilling the holes parts didn’t fit under it. So I had to come up with a
in the sideplates, was quite simple. Although I had to different solution: using the lathe. I made a special
work very precisely. To get the holes in exactly the holder on the moving carriage of the lathe. I drilled
right spot, I carefully marked their locations, then I two extra holes in each plate, to keep them in place
used a center punch, to create a little divot. Then I on the carriage. Now I could easily drill perfect holes
went over to the drill press and used a centre drill to in the ends of the side plates. The only thing that was
create a hole that guides the actual drill bit. For the left to do, was to tap the holes for an M8 thread.
larger holes I used a smaller size drill bit first before
using the final size drill bit.

1. These holes are for attaching the linear bearings

1. This is the lathe setup I used, to drill the holes in the ends of the
aluminum plates

Building a CNC Router: Page 9


1
1

1. Tapping the ends of the gantry side plates 1. Here you can see the bottom plate, fastened to the gantry side plates

Building a CNC Router: Page 10


Step 4: Assembling the Gantry

The rest of the gantry is made the same way as the I used the same method for drilling the holes in the
side plates. The most difficult part was getting the end faces as I did with the side plates.
linear rails lined up correctly. The linear rails had to
line up with the edge of the plate. When marking the I made some corner brackets to add some extra
exact hole locations, I clamped two pieces of stiffness to the assembly. On the final assembly of
aluminum profiles to the sides of the plate to line up the machine, I actually left them out, because I didn’t
the rails. Once I had marked the hole locations, I felt like they were needed.
drilled and tapped them with an M5 thread. When
attaching the rails to the gantry, you have to make The plate on the bottom of the gantry is very simple. I
sure that the distance between the rails over the drilled 6 holes to attach it to the side plates. In the
entire length is completely even (the rails must be middle I had to drill two holes for mounting the nut
parallel). holder.

1. Gantry assembled and mounted to the X-axis

Building a CNC Router: Page 11


1

1. Corner brackets

1. Linear bearings fastened onto the gantry side plates 1. Aligning the Y-axis rails

1. Drilling the holes, using the same lathe setup

Building a CNC Router: Page 12


Step 5: Y-axis Carriage

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

Building a CNC Router: Page 13


2 1

1. Z-axis bearings attached


2. Digital caliper I used to align the rails and the linear bearings

1. Precisely marking the hole locations

Building a CNC Router: Page 14


Step 6: Z-axis

The linear rails of the Z -axis get attached to the So I cut off the part with the slots and fabricated a
moving part of the Z - axis assembly. The rails different motor mount out of plastic (see step 12).
needed to be offset a few millimeters from the edge of
the plate. I used the same method as I did for the Y - I also made two bearing blocks out of the same
axis, to align them. I found two pieces of plastic, of plastic material, which got attached to the top plate as
just the right thickness, which I could use as spacers. well. The drive screw is a piece of stainless steel
I knew the edges of the aluminum plate were parallel, threaded rod (M10). The drive screw is clamped
so I clamped two pieces of aluminum to the edge of between the two bearings with two nuts. I drilled and
the plate and added the pieces of plastic to space the tapped the timing pulley for an M10 thread and just
rails out from the edge. Once I had marked the hole screwed it onto the top part of the drive screw. It is
locations, I just drilled and tapped them again. Make held in place by three set screws. The delrin drive nut
sure that you mark where the pieces go, so that the gets attached to the Y - axis carriage (see step 10).
holes still line up when you put everything back
together. The router mount was pre-made and I ordered it from
damencnc.com. It has a 43mm clamping ring, which
To mount the top plate to the Z - axis assembly, I fits the Kress router that I am using.
drilled and tapped three holes in the end of the router
mounting plate. I did this with the same setup on the If you want to use a water cooled spindle instead as
lathe as I did for the Y - axis plates. I had originally an upgrade, a mount is often included in the kit. You
planned to attach the Z - axis stepper motor directly to can also purchase these mounts, if you want to use a
the top plate. So I tried to mill some slots in the top dewalt or bosch router with a cylindrical body.
plate to attach the stepper motor. This didn’t work out
so well, because I didn’t have a proper milling setup.

1 1

1. Assembled Z-axis 1. Aligning the rails and using the pieces of plastic as spacers

Building a CNC Router: Page 15


Building a CNC Router: Page 16
1

1. Motormount, cut on the homemade CNC router from my school teacher.

1
1

1. Homemade bearingblocks 1. Z-axis drive nut, mounted onto the Y-axis carriage

Building a CNC Router: Page 17


Step 7: Timing Belts and Pulleys

I did not want the motors to be sticking out of the timing belt and pulleys.
machine. Because this would increase the overall
size of the machine by about 15 cm in each axis. I ordered the timing belts and pulleys from beltingonli
Normally you would mount the motors on the outside ne.co.uk. They have a big variety of types and sizes. I
of the machine using a special motor mount or used 9 mm wide HTD5 belts and pulleys. When using
standoffs. This way you can couple the motors a belt drive to connect your motor to the drive screw,
directly to the ball screws with a flexible coupler of you can use a gear reduction. By using a smaller
some sort. This is how I did it on the first wooden gear on the motor you can use smaller motors and
prototype machine I built. For most people this will still get the same torque (although you will of course
probably work out just fine. But what I found was, that lose speed). Because my motors were pretty large I
because the machine was placed in a very small did not need any gear reduction to get more power.
shop, the motors would really get in the way.
Because they were sticking out by almost 20 cm To save some money I ordered the timing pulleys
(motor standoffs) I quite frequently would bump without the holes for the setscrews and with only a
against them. pilot hole in the centre. I used the lathe to drill out the
bore to the correct size. For drilling the holes for the
That is why I placed the motors on the inside of the setscrews, I made a little jig out of some steel
new machine. By doing this I could not directly couple hexagonal bar using the lathe and the drillpress.
the motors to the ball screws, but I had to use a

1. Set screw drilling jig

Building a CNC Router: Page 18


1
1

1. The jig in action 1. Timing pulleys drilled to final bore size

1. M10 threads cut, to mount it to the Z-axis drive screw

Building a CNC Router: Page 19


Step 8: Motor Mounts

The motor mounts are made from pieces of aluminum I started by making a large hole in one side of the
tubing. Mine were pre - cut to length when I ordered mount with a holesaw. This allows the motor to sit
them, but you can also use a piece of steel tubing flush with the surface and it also makes sure the shaft
and cut it into square pieces. The motor mounts for is centered. The motor is fastened to the mount with
the X and the Y - axis, had to be able to slide in and four M5 bolts. I made four slots, in the other side of
out, to tension the timing belts. If you use a normal the mount, to allow it to slide in and out. I clamped the
coupler to connect your stepper motors, I recommend piece on a special lathe attachment to mill the four
making or buying some standoffs. I used the lathe to slots.
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.

1
1

1. Making the large hole using a holesaw 1. Milling the four slots

Building a CNC Router: Page 20


Step 9: Bearing Blocks

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

Building a CNC Router: Page 21


Building a CNC Router: Page 22
Step 10: Z-axis Drive Nut Mount

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

1. Z-axis drive nut made out of delrin

Building a CNC Router: Page 23


1

1. Drive nut holders, cut on homemade CNC router 1. Mounted to the Z-axis assembly

Step 11: X- and Y-axis Drive Nut Mount

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

Building a CNC Router: Page 24


1

1. X and Y-axis drive nut holder

1. Mounted to the y-axis

Step 12: Z-axis Motor Mount

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

Building a CNC Router: Page 25


1

1. Cutting out the Z-axis motormount

1 1

1. Motor mount in place 1. CAD drawing of motormount

Building a CNC Router: Page 26


Step 13: The Cutting Bed

The final part I had to make for the machine was the nuts. Instead of regular nuts you could also use T-
cutting bed. The cutting bed is a very important part of nuts, but then you would have to flip the tabletop over
the machine, and often overlooked. There are many to insert them. Another problem you can have is that
different types of cutting beds. Examples are: t-slot they fall out.
table top, perforated table top, vacuum table or you
could just use a disposable table top and screw your On top of the piece of birch plywood, I installed a
stock right onto the table. An aluminum t-slot table top piece of 25mm thick MDF. This is the disposable
would probably be the best, but it will cost you a few surface. I used a larger router bit, to cut holes through
hundred dollars, depending on the size of your both pieces. The holes line up exactly with the centre
machine. I choose to use the perforated tabletop, of the hexagonal shapes cut earlier. Then I
because it fitted within my budget and I would still unscrewed the piece of mdf and installed all of the
have lots of clamping options. nuts in the piece of plywood. I made the holes slightly
undersized, so I had to use a hammer to pound them
The cutting bed for my machine, is made from an in. Then I reinstalled the MDF surface and checked if
18mm thick piece of birch plywood. I fastened it with the alignment was still correct.
M5 bolts and t - slot nuts to the aluminum extrusions.
I bought about 150 M8 hexagonal nuts for about 4 I also flattened the tabletop to ensure that the surface
dollars. Using a CAD program, I drew hexagonal was parallel to the x and the y axis and perfectly flat.
shapes in a grid with a hole in the middle. Then I
used the machine to cut out all of the pockets for the

1
1

1. Cutting the hexagonal holes 1. Cutting bed, with MDF surface flatened

Building a CNC Router: Page 27


1

1. M8 nuts installed

Building a CNC Router: Page 28


1

1. Flattening the top

Building a CNC Router: Page 29


Step 14: The Electronics

The electronics for my machine consist of the If your motors aren’t too large you can use a 3-axis
following components: driver board, although it is better to use individual
drivers. Individual drivers can handle more amps and
Main power supply - 48VDC 6,6Amp feature microstepping. They are more reliable and will
3 drivers - Leadshine M542 V2.0 give you better results. The drivers I use actually
3 steppermotors - 3Nm hybrid Nema 23 came with the kit I ordered. They can handle 4,2
Breakoutboard amps max and up to 125 microsteps.
Relay - 25A, 230VAC output, 4-32VDC input
Main power switch The main power supply is connected to the drivers
Power supply for breakoutboard - 5VDC with 14 gauge wire, which is mainly used in RC
Power supply for cooling fans - 12VDC airplanes. These wires are very flexible, but of high
2 cooling fans (80mm) quality and can handle plenty of amps. The 5 VDC
2 power outlets - for Kress router and shop vac power supply is connected to the main power inlet.
E- stop - still needs to be installed For the cooling fans, I installed a power outlet inside
Limit switches - still need to be installed of the enclosure, so that I could use a standard 12V
wall adapter to power them. The main power gets
This would be a good electronics kit: switched on and off by a large power switch.

3 axis Nema 23 stepper motor kit The 25A relay is controlled by the computer through
the breakoutboard. The input terminals of the relay
If you don’t want to spend a lot of money on are connected to the output terminals of the
electronics you can buy a kit from amazon. There are breakoutboard. The relay is connected to two power
a lot of different sellers with prices in the 200-400 outlets, which power the Kress router and shop vac to
dollar range. Before ordering a kit you should think suck up the shavings. When the Gcode ends with the
about what size steppers you need. I you are building command M05, the machine will automatically switch
a small machine for cutting wood and plastics only of both the shop vac and the router. To switch them
270 oz in or 1.9 Nm motors will give you plenty of on you can either press F5 or use the Gcode
power. I choose 3Nm motors, because the machine command M03.
itself is quite large and heavy and I planned on
machining some harder materials like aluminum in
the future.

1. This is the kit I ordered

Building a CNC Router: Page 30


Step 15: Electronics Enclosure

Since I temporarily mounted the electronics on a wire terminals. I also installed two power outlets to
piece of wood, to test the machine, I still had to make provide power to the spindle and a shopvac. The
a good enclosure. I drew out the rough dimensions power outlets are connected to the relay to switch the
and places for all of the components on a piece of router on and off automatically in Mach3. I mounted a
paper. I tried to arrange them in such a way that I large powerswitch on the front of the enclosure.
could easily get to all of the terminals to install the
wires. I also made sure that I would get a sufficient Once I got all of the components arranged the way I
airflow through the enclosure. This is very important wanted, I designed all the pieces to make the
since the stepper controllers can get quite warm. enclosure with a CAD program. I then used the CNC
machine itself to cut out all of the sides and the base.
All of the cables can be connected in the back of the I made a lid with a piece of plexiglas in the middle. I
enclosure. I used special 4 wire plugs, because I then installed all the components and tried to keep
wanted to be able to disconnect the electronics from the wiring as clean as possible.
the machine, without having to unscrew any of the

1
1

1. Inside the electronics enclosure 1. Parts that make up the enclosure cut out on the machine itself

Building a CNC Router: Page 31


1

1. 48V power outlets for drivers

1. Breakout board mounted on standoffs

1
1

1. Relay to control the spindle and shopvac 1. Power outlet for cooling fans

Building a CNC Router: Page 32


1

1. Large power switch

1. Power outlets

1. Vent holes for cooling fans

Building a CNC Router: Page 33


Step 16: CNC Software

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

Building a CNC Router: Page 34


1

1. Controller program Mach3 1. Creating a drawing in CamBam

1. Here you can see the toolpaths, that I created

Building a CNC Router: Page 35


Step 17: Using the Machine

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

1
1

1. Sign cut using the write wizard 1. Cutting the hold down clamps

Building a CNC Router: Page 36


1 1

1. Elliptical gears made with Gearoticmotion 1. Part of the dust shoe

1. Cutting a large timing belt pulley

Building a CNC Router: Page 37


Step 18: Conclusion

So that’s about it. Now you know how I build my CNC successfully complete this project.
router and why I did it the way I did.
Although you probably won’t be building an exact If you have any questions, please leave a comment
copy of my machine, I hope you can draw some and I will try to answer your questions as soon as
inspiration from my design and build. I have learnt a possible.
lot, by building this CNC router and really look
forward to using it for future projects.
Benne is a participant in the Amazon Services LLC
I would like to thank my school teacher, Nop Associates Program, an affiliate advertising program
Velthuizen, which gave me the opportunity to build designed to provide a means to earn advertising fees
this machine. He allowed me to come over to his own by advertising and linking to amazon(.com, .co.uk, .ca
workshop and use all of the tools I needed to build etc) and any other website that may be affiliated with
this CNC router. He gave me a lot of information and Amazon Service LLC Associates Program.
inspiration and helped me where needed, to

Very nice build!! Would you be willing to share you project data with me? ticaaus2000@gmail.com

Very nice build!! Would you be willing to share you project data with me? I am wanting to build my
own CNC due to budget costs and would really love to build something like this. Thank you for
taking the time to input all this information on here. It really shows how much goes into building one
of these. I would also like to ask where you got your aluminum from? I can’t seem to find any
anywhere online. My email is:

uga_842007@yahoo.com
Great! A very nice work, congratulations! I just also finished my hobby cnc and I would like to ask
you which software you use to process graphic designs and then to convert to G-code for Mach3
I've looked and read a lot about DIY CNC for the last past years.
That's by far the MOST complete, comprehensive and well documented description and tutorial.
And the result itself is amazing.
Congratulations. I'm retired now and will built my own CNC. Sure I will take a lot of your ideas.
Very good job !!!
Hi there,
Looks stunning, great work.
I'm about to create something similar, would you kindly share data of your cnc?
Building a CNC Router: Page 38
Email: daniel@mehlberg.co.uk
All the best
Thanks
Hey dat's een tof project. Hoe groot is het maximale wat je kan bewerken?

good job, Can you share the Project Data to me?


My email is: yosofhamad23@yahoo.com
Fantastic work. You have my vote.
Please share the drawings of your new machine with me, pviljoen.ret@gmail.com
Nice work. Hope we could build our own one.

I love everything about this design except for the Y-axis belt drive. I understand it will take a long
time to have to replace that belt, but I wouldn't want to have to disassemble the gantry to do it. Just
my point of view.
The
3 axis Nema 23 stepper motor 425 oz.in=3NM & Driver DM542A Peak 4.2A, 128 micsteps, CNC
Router
Is this good for America power. I cant find anything about the volts and I dont want to get
something that isnt good for 110?
They are perfect for the size machine this is, and yes they will work in America. Most power
supplies have a switch on the side for 120/220.
Great job, Can you share the Project Data to me?
My email is: raptor503d(at) gmail(dot)com
Benne
Nice Job, I am building one similar. I notice that you put rails so that they would run on the edge
instead of on top. Has that caused any problems.
Thanks
I am building an Aluminum CNC router (almost finished) and have made a series of Videos on the
process! Check out my YouTube Channel
https://www.youtube.com/user/joerharris

Hi,
I work for the University of Michigan and we are currently looking for a design solution for a
combination CNC machine, would it be possible for you to send me your design plans? Thank you.
Can you share the Project Data to me
My Email : hithamab@yahoo.com
Hi, i am really interested on your project.
i hope you can share your project data to me
alirospawan34@gmail.com
My email is pietervas@webmail.co.za

Building a CNC Router: Page 39


IS IT POSSIBLE THAT YOU CAN EMAIL ME THE ALL THE DRAWING OR PROJECT BUILD
DATA FOR THIS MACHINE
Hey myself a student of engineering. I am looking to create and carve out my future by building up
the best projects related to mechatronics and the project of CNC router is the best key. Much thanx
to you for explaining each aspect in details.. Can I get a detailed report.. If its possible for you
please send it at bsohail266@gmail.com
Please email me the CNC project build data whenever possible. Thank you for sharing your great
project.

simetriamaster@gmail.com
Hi Benne
Can you please share me the required data to build one myself. This is my email id
mahendradalavi@gmail.com. I am searching for DIY CNC router machine for long time but your
machine is one which I feel to build so please help me. Thanks. Looking forward for email.
This is fantastic, Now I am motivated to build one. I highly appreciate if you kindly would provide
any engineering drawing/build data you may have? my email is pcpa2013@outlook.com
Great instructions. All
my 3D models that I want to CNC are done in SolidWorks. Using Solidworks I can
transfer them into STL, DXF, IGES, STEP ...etc files. Can I then import them
into CamBam (probably DXF or STL) and generate G-code?
Great construction and well explained. Especially the part what I had to choose depending to the
things I would make with the machine. Also a nice trick to drill holes in the face of the aluminum
with the lathe :-)
Awesome build. I'm totally impressed. You've assisted me in moving closer to the action of
building. Can you also email me the CNC project build data, christopher.bennett.fm@gmail,com
Thanks so much!
Please email me the CNC project build data whenever possible. Thank you for sharing your great
project.

damon00distefano@gmail.com
Looks great! Please email me the build data. I would like to make one like it.
mkbrummett58@yahoo.com
Hi, I am trying to build your CNC project. Can you please email me all the dimensions, materials
needed, so I can order them from misumi pre-cut. also I noticed that your links provided not
working anymore, can you provide an alternative links. thank you and good job on your awesome
CNC

damon00distefano@gmail.com
Hai. I am willing to do the same diy for my door production. first i need to do some trial production,
can you just send me the details , drawings, software etc to this mail id
jvinothkumar1986@gmail.com. awaiting for your mail. thanks for your guidelines
Hello

Great Job!!!
Can you tell me what type of micro controller you have used??
Ottimo lavoro......vorrei provare anche io non potresti inviarmi

Building a CNC Router: Page 40


i file tavole quotate misure, per piacere Grazie e continua cosi ciao Massimo.
la mia email : massimocorrias@live.it grazie.
This looks great ! Great job ! I would be very interested in building one of these ! If someone could
be kind and send me the drawings to this i it would be amazingly kind at :
belahbib.houssem@gmail.com
I would be very thankfull !
What's the difference between a CNC mill and a CNC router?

This might help: http://hobbymilling.com/the-difference-between-a-m...

I am astounded that you made this at the age of 17! This is really marvelous and I am truly
inspired.
I would really like to work on a project like this but I need to adapt it to US specs. Our sheets of
plywood are typically 4' x 8' (1219mm x 2438mm). I would also have to adapt all of the thread
sizing and power requirements to US specs. Or I could lead the charge in converting the US to the
metric system (metric really is way easier)!
Hi, I've added your project to "The Ultimate Collection of DIY Workshop Tools" Collection
Here is the link If you are interested:
https://www.instructables.com/id/The-Ultimate-Colle...
I really love it! Excellent work! I wish I had one!

i will try for this one useful & great experience Thanks

Very nice machine and a great instructable. Maybe I'll build one of my own this summer.

Hello , Maybe you could help me . I just build a machine with a bed of approx 6feet by 3 feet .
using RM2005 balscrews and nema 34 1600 oz/inc. But I am realy strugeling to even jog the
machine at 3000mm/sec ,cutting max of 2000mm/sec . how fast should I be able to go ?
3000mm/Sec sounds a little fast, that's 3 meters/10 feet a second.

3000mm per seconde?!?! hoeveel haal je per pas eraf bij 2000mm p/s?

mooie machine, ik ben van plan om er ook een te maken. ik doe dan niet echt een technische
opleiding maar dat is handig voor dingen te graveren of uit te frezen in hout. deze post was heel
behulpzaam. maar de elektronische dingen daar ben ik bang voor dat ik faal. is dat moeilijk of is
dat makkelijk te begrijpen?
hi! nice project! and very useful, but I have a question that is driving me crazy, hope you can help
me, ¿how the system( electronics and software) knows how many steps are each millimeter ?
because you are using pulleys, diferent drive screws,the motors maybe has different steps, etc..
Are there some parameters you need to set in Mach3?
thank you, a lot!
Great project! I supervise IB personnal project in Québec (French-Canada). I'd like to present your
project to my students. Do you have a video of your CNC?
I just started researching this project to make my own. Your instructable has very detailed
information and the machine looks very clean. Thank you for this, job well done. I see you are
making another, if you have a chance can you please send me your sketchup drawings for the new
version? nels66@tds.net. Again, nice job!
I only have Solidworks drawings for my new machine. It is based around linear modules from
Bosch Rexroth. These modules are normally very expensive (I got them from ebay) and not easy
Building a CNC Router: Page 41
to obtain. Even if you have Solidworks I don't think the drawings are very useful since they use
these custom parts. It looks a lot like this:
https://d2t1xqejof9utc.cloudfront.net/screenshots/...
An open source project by the Dutch cnc forum.

Building a CNC Router: Page 42

You might also like