Introduction: Low Budget CNC

Picture of Low Budget CNC

This is the third iteration of my low budget CNC router design, which I began working on when I was in need of a cheap CNC machine some years ago. The idea behind this machine, is that it should be cheap and simple, making it possible for people on a low budget (like me being a student) to build a CNC machine using only a few tools. For that reason most of the parts can be found in a regular hardware store, and the design is slimmed down to requiring only the truly necessary parts.

It should be possible to keep costs below 200 USD including everything from nuts, to cable sleeves and CNC controller.

In this instructable I will do my best to explain how I made this machine, so that you can do one on your own!

Detailed bill of materials, files for 3D printing and drawings are available in this instructable. I have spent some time on drawing the machine in Fusion360, making it possible to take a closer look on the construction.

A CNC machine is not a toy, be careful when building and using it! I can not be held responsible for injury you might suffer while building the machine or when using it. Nor can I be held responsible for damage that might be inflicted upon any hardware used in this build. Even though I have put a lot of effort and time into this, there might still be missing things in the BOM and faults in my drawings or descriptions - please write me if you find such things.

If you can agree to the terms above, feel free to build and carve!


  • Work area: 270 x 430 x 100 mm (X, Y, Z) approximately
  • Precision: Better than 1 mm (based on tests done by me)
  • Speed: Around 500 mm/min
  • Suitable materials: Plastics, wood and light aluminum work
  • The build uses affordable components available in many hardware stores, making it quite cheap!

Step 1: Bill of Materials

The BOM includes everything I used for this build! Details about the wooden and 3D printed parts can be obtained from the 3D model. Here stl files for printing can also be exctracted through Fusion 360.

Lengths of pipes are very dependent on how deep you drill the holes for them in the wood. Wire lengths are also dependent on how you wire the machine up.

Besides the parts listed in the BOM documents, you will need the wooden parts. They are made out of 16 mm MDF and painted before assembly. The details of these parts can be obtained from the 3D model.


For making the wooden parts I used a Table Saw, Jigsaw and a cordless drill. Holes for the plumping pipe was done with a flat wood drill, of an apporpiate size. As some parts are 3D printed, you will need access to such a machine. However, It is not strictly necessary to 3D print parts. You will be able to make alternatives without a 3D printer.

Step 2: 3D Model

Picture of 3D Model

I have spent some time on drawing the model in 3D. I have done most of the things myself, but I have used a couple of GrabCAD resources in the model:

USB Panel Mount

NEMA 17 motor

AC Plug

Emergency Stop

608 Bearing

And finally the Nut Covers are found here:

Nut Cover

And the Arduino UNO bumper here:

Arduin UNO Bumper

And finally the link for the complete model as shown, is found here:

Fusion 360 model

Step 3: Drawings and STL

After a few questions regarding the drawings, I have made a couple of technical drawings showing measurements. I have also added the STL files from the 3D model, to make it more convenient to 3D print them.

All measurements are in millimeter !

Step 4: Assembly

Picture of Assembly

The pipes are both used as linear rails and for keeping the machine together. The pipes are located in holes drilled in the wooden pieces to fix their position. The holes are drilled approximately half way through the wood (i.e. 8 mm) and a center hole of 8 mm is drilled for the threaded rod. Threaded rod is located inside the pipes, keeping the machine together and partly fixing the pipes. This should be evident from the pictures. Measurements of wooden parts and holes in both wooden parts and aluminum angles, can be found in the 3D model. The aluminum angles are seated in the wooden pieces, where a 1 mm deep groove is carved as can be seen from the pictures below. The groove is also present in the 3D model, where measurements can be taken.

Step 5: GRBL Settings

Picture of GRBL Settings

For running the machine I use GRBL. It has a lot of features, it's open source, gives you an USB interface (in contrast to common CNC controllers) and runs on Arduino UNO.

I have only done light tuning of speed and acceleration, so there might be something to gain here. But it's a balance between current and speed. If you try to increase acceleration or speed, you might need more torque, i.e. you have to give the motors a higher current (thereby heating up the drivers). I have adjusted the current to a level where I do not have to add active cooling to the setup.

My settings you can see here.

Step 6: GRBL Shield Note

Picture of GRBL Shield Note

I had a bit of a struggle with noise on the limit switch channels of the cheap GRBL shield I bought. It didn't help to use the NC contact set of the switches, so it's a noise issue. Therefore I placed 100 nF caps between GND and each channel to get rid of this.

Step 7: Final Notes

Picture of Final Notes

A couple of fotos showing what I have used the CNC for is shown here. The two robots are made of 6 mm plywood, where the precision is better than 1 mm. Finally a video of the machine routing aluminium can be seen here. The important thing about routing aluminium is getting the right bit, spindle speed and routing speed. This is of course also true for wood, but wood is just more forgiving than aluminium or pelxi glass.

I hope it's possible to put together the pieces from the 3D model, BOM, pictures and this short instructable. Feel free to comment on the instructable and/or the design.


CPUDOCTHE1. (author)2018-01-15

That is cool. It is great to build something like that and see it work. My son and I built a 48"x108" (some of you will have to convert that ((25.4mm per inch)) CNC Plasma table. We have been using it almost 2 years and I am still amazed at the quality it can do and its speed. It was pretty much a budget build and only cost about 1/3 as much as a commercial unit. I hope you enjoy using yours.

dougslatter (author)2017-12-31

Hi Jerry

I'm really interested in building a similar CNC Router using steel and aluminium components. Could you please include your bill of materials in PDF form as I can't open .stl files.


JeffR78 (author)2017-12-31

Nice looking project.

Before I attempt this. I like to know what are the two CAD software packages you used. I am referring to the CAD that creates the part and the software that runs the CNC?


AnselmoF1 (author)2017-12-31

A CNC machine that needs another CNC or 3D machine to build it? Nahhh, we are tired of that.

askjerry (author)2017-12-31

Nice small scale machine!

I think it's great that you built a machine that is portable and yet ridged enough to do tasks like PCB, etc. There are a couple of things you may want to consider as options however... instead of a Dremel or similar cutter, you may want to consider a 500w Spindle. They are MUCH more quiet, marginally more expensive, and depending on the model you get, can be speed controlled from software for more accurate and consistent results.
I'll post one example found on Amazon... but there are several others. This one uses a potentiometer for speed adjustment... so no further software changes would be required on your part.

The other possible change is the use of LunixCNC as your drive software... it supports many more G-Code commands, is free, and is highly configurable to include custom function buttons, etc.

If you are interested, I have an entire video series on that subject:

Keep up the great work!


treyjazz (author)2017-12-31

Have you tried routing PCBs with this? It is a must for me.

CapoC (author)2017-11-25

Hi! How i can do for do this by lasercut? I tried convert the pdf to corel draw, but i can...

CapoC (author)2017-10-16

Hi, im insteresting in reducing the cost. so Can i make this cnc using 28byj-48 motor?

nicengineering (author)CapoC2017-10-16


I don't know that motor. But if it has the required torque there should be no problem.

Best regards,

RaphaelS48 (author)2017-10-10


looks like a really nice and clean design. Would you consider this for cutting 1.5mm to 4mm thick carbon fiber ?

I'm searching for a low cost solution to cut some parts for multicopters.


I dont know since i havent tried that. But it can do 16mm MDF wood (in multiple passes) and 6mm plywood.

Best regards,

BJack042000 (author)2017-07-31

if i modify this CNC machine to be wider and longer to except larger items is there a limit on the X and Y axis? I wonder how big I can go.

Hi! I guess the problem will be that the y-axis rods will tend to bend a bit when they become to long (caused by the gantry weight). I don't have a number on how big you can go, but to overcome the previously mentioned problem, you could go up in tube dimension.

g4069863 (author)2017-07-17

How accurate is the BOM? Since you say I need M6x10MM spacers, how long do they have to be? Or do you mean washers?

g4069863 (author)g40698632017-07-17

And how many MM are the u-bolts? I can't find proper 1.5" ones.

nicengineering (author)g40698632017-07-24

Have a look here:

nicengineering (author)g40698632017-07-24

It is accurate, but yes, spacers should have been washers...

TomcastHD (author)2017-06-29

Awesome! Definitely want to make one. Will this cut completely through a 3/4 piece of wood?

nicengineering (author)TomcastHD2017-06-29

It should be able to do that. You will have to do it in multiple passes though. But that is required on most small cnc routers.

Best regards,

Bishopsboy56 (author)2017-05-16

Thanks for sharing! Very neat looking CNC, the dimensioned drawings are informative, and the addition of the 3D model and parts list make it easy to understand what's going on! I look forward to building this :)

ericht2 (author)2017-05-04

hello sir, what you use lead screw in your awasome project?

nicengineering (author)ericht22017-05-05


I use regular M8 threaded rod. With the long nuts, they barely have any backlash.

Best regards,


dumbau (author)2017-04-28

I made a quick prototype of the z-axis to see how the linear rail works. I am having a problem with the bearing on the u-bolt twisting slightly because the bolt is so much smaller than the bearing bore, causing the carriage to bind. When it stays straight, it slides very smoothly. I noticed in your pictures that the bearing bore is larger than your u-bolts too so I was wondering if you had this problem and if you have any suggestions on preventing it.

nicengineering (author)dumbau2017-04-28

Hi. I have not had that issue. The bearings sits nicely on the u-bolts. It is of course important to align them properly before tightening the assembly. I guess it could be caused by the u-bolt not being totally perpendicular to the tubing. I could imagine that if one of the u-bolts was misaligned, it could result in what you describe.

xeyang (author)2017-04-25

hello sir i was trying to built a cnc from three months and i also prepared a cad design for it but it was a really costy but after seeing your machine i am going to make a cheaper cnc machine

please tell me that you will help me in this project

nicengineering (author)xeyang2017-04-25

I can only offer you the help given in the instructable. Everything you need to know, should be there. I cannot offer you personal support in the entire process of building and configuring the machine.

Best regards,

Lithuanian_guy (author)2017-04-21

Hello, do you have any information on how to wire all the electrical parts? I mean the steppers, power supply, CNC shield.

Hi, I do not have a diagram. But just Google "grbl wiring ". There are many examples to find, and they are all similar.

Thanks, I've found a few examples, and a video on youtube, that made things clearer. One more question, what CAM software do you use for creating g-code?

Good to hear! I have paid for Lazycam some years ago, so that is what I use for simple tasks. There is also something like Camotics and a bunch of other open source CAM solutions that I have not yet tried to work with. At the moment I don't have a CNC (I sold it a year ago or so), so I am not up to date on the newest open source CAM software out there.

Best regards,


FelixW11 (author)2017-04-22

Hi, first of all very cool project.

Secondly, I'm mainly interested in CNC for aluminum. Is it possible to work with aluminum of aprox 10 mm thickness?

nicengineering (author)FelixW112017-04-22

Thanks. I guess 10mm would be a bit much. But maybe it could be achieved with a good spindle and the right settings.

ivosusak (author)2017-04-21


dumbau (author)2017-04-10

I may have to try this, though I will probably have to adapt your design for imperial (non-metric) hardware since it can be tough to find metric hardware in local hardware stores in the US. Thanks for sharing.

Questions: I see that you have milled some grooves for the aluminum angle to sit in but there does not appear to be any screws or bolts holding it down. Is the aluminum angle simply held in place by the pressure from the bearing on the u-bolt? Also, what is the wall thickness of the steel pipe or tubing? Any thoughts on the minimum thickness needed if I decide to use tubing instead of plumbing pipe?

nicengineering (author)dumbau2017-04-10

Thank you for the nice words. I can see the problem with the imperical vs metric units in the US. The grooves I just made with a table saw, and yes, the aluminum angle is held in the groove by the pressure from the u-bolt and bearing. The pipe wall thickness is around 2.65 mm. The gantry does weigh a bit, so I don't think you should go much further down in tube dimension. You might risk that it will bend a bit on the middle if the dimension gets to small.

Best regards,


livingbios (author)2017-04-02

Awesome build mate. Some very ingenious ideas. Thanks for the instructible!

Thank you for the nice words!

AMbros Custom (author)2017-03-28

this is very compact annawesome checkout my cnc too..

Thanks for the kind words. Your machine also looks nice - a bit bigger though :)

SergeE (author)2017-03-21

Looks like a great entry point for those wanting to get into DIY CNC, especially on a budget. It won't be the fastest, sturdiest, most precise machine on block; but it will do the job as Nicengineering as shown with some of his other work...

Great job and great instructable, ingenius way of using off the shelf component to make a working CNC. Even better you have tested the design and shared it with all of us.

You got my vote.

nicengineering (author)SergeE2017-03-21

Thanks for the kind words and the vote! Appreciate it!

Lithuanian_guy (author)2017-03-08

Hello, why did you choose MDF board for this router design? Maybe laminated, water resistant plywood would be better, or it has some properties, which make it unsuitable for this task?

Hi! I simply chose MDF because it was cheapest and it is easy to work with. I have done another machine in plywood, and that also works fine. The plywood is more sturdy, but this machine does not require it.

Thanks for a quick reply. One more question. I can't access the fusion 360 model, I get such an error:

Unrecoverable exit code from extractor: -1073741831

Is it only me, or others also encounter this problem?

Strange! I got the same error... I read on the Fusion forums that some versions had a flaw that causes this - and that I could try saving it with the newest Fusion release. I have just done that, and now it works once again!

Timofte Andrei (author)2017-03-06

are you sure there are 38 bearings needed for this project?

Yea, that almost stopped this project for me, or at least budget wise, or called for another solution/ redesign. 30 ball bearings in Sweden (cheapest i could find) was more than 65$ plus shipping (low low quality). But ebay to the rescue, bought 50 (for skateboards) for 11$ shipping included from china..=) 12 for x 10 for y and 10 for z, and the 2 supports per screw (6) = 38? grtz Pelle

I buy bearings at They are not that costly. But ebay may be cheaper!

Yep. There are 6 alu angle pieces with 4 bearings each = 24. Then there is 8 u-bolts with one bearing each = 8. And finally there is a bearing in each end of the threaded rod used for lead screw = 6. So all in all 38 :)

GabberPelle (author)2017-03-02

Ah, guess you call them limit switches from 3 from bom.ods?

About This Instructable




Bio: Electronic engineering student with a passion for developing both electronics and mechanics! See more of my stuff here:
More by nicengineering:UStepper Robot ArmFlower Pot Watering SystemLow Budget CNC
Add instructable to: