Low Budget CNC




Introduction: Low Budget CNC

About: Electronic engineering student with a passion for developing both electronics and mechanics! See more of my stuff here: http://www.thingiverse.com/nic6911/designs

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

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

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

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

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

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.

Build a Tool Contest 2017

First Prize in the
Build a Tool Contest 2017



  • Fix It! Contest

    Fix It! Contest
  • Creative Misuse Contest

    Creative Misuse Contest
  • Tiny Home Contest

    Tiny Home Contest

105 Discussions


Thanks a lot for this sharing ! I just finished to construct mine, following the plans here.
Here is it at work for the very first try !
Juste some notes : The U bolts need to be 2 inches, instead of 1,5 inches, I had some troubles to find the right one with the right spacing.
Also I made another STL in order to attach the Dremel 4000 (very slightly bigger).

D raj

Question 2 months ago

I bought the motors and decided to check it on my drv8825 enabled CNC sheild they spin for a bit and then stop moving and make noise and vibrate is this motor's fault or mine ? And how can I rectify it. Can you please help me PS I am new to all this


Question 4 months ago

How do I open the .f3z file in Fusion 360? Fusion wants a .f3d file. If I change the file type to .zip, then extract it, I get 46 separate .f3d files and they appear to be small parts with long numbers and letters for file names. Which one is the assembly?

1 more answer

8 months ago

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

1 reply

Sorry for the late reply... I am not sure what you mean. You want to cut out the machine using a laser?

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

1 reply

Sorry for the late reply... It's not well suited for PCB routing - it requires more precision.

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

1 reply

Sorry for the late reply... Based on the comments and likes, I don't think the majority is with you on this :) But with a little imagination you can do without 3D printing. I did not use a cnc to cut out any of the wood here and the first versions I built was without the use of a 3D printer :)

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?


1 reply

Sorry for the late reply... Fusion 360 for drawing the machine and GRBL/gcodesender for running the machine.

Hi, I can only provide what I have already provided in the instructable.

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.

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.


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!



10 months ago

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

1 reply


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

Best regards,


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.