Introduction: DIY CNC & Constructing an Affordable CNC Kit

Picture of DIY CNC & Constructing an Affordable CNC Kit
I have always dreamed of having a CNC and window shopped all the time on the internet. Finally, I discovered Instructables and made my own to share with others. Ninety percent of my parts were acquired from junk or unused stuff. It doesn't look pretty but it works. The first CNC was posted on "I Made It" photo contest. I took that apart to improve on my first design and I hope it helps other people. This particular CNC I believe is the easiest and cheapest way people can do it themselves.

Domo*pes (Arduino Powered Stepper Motor Board.)Preliminary test Before pcb board house.

Domo*pes  (Arduino Powered Stepper Motor Board)

Video of CNC cutting wood and birds-eye view of pen plotter

  • Laminated Particle Board or whatever smooth flat surface wood is easy for you to work with. I used an old bathroom cabinet.; @ hardware store
  • two feet of 1/2 inch PVC Pipe; $ @2 hardware store
  • four 1/2 inch PVC elbows; $4 @ hardware store
  • one foot of 1/4 inch PVC Pipe; $1 @ hardware store
  • six inches of 1/4 inch Copper Pipe; $ @ hardware store
  • two 1/4 inch x 20 threaded rod and three nuts to match; $10 @ hardware store
  • Copper Pipe Hangers; $2 @ hardware store
  • Gas Line Hose that snugly fits the threaded rod; $3/ft. @ auto parts store
  • handful of screws and nuts & bolts
  • 4 data staples: $1 @ hardware store
  • glue: Gorilla Glue, Super Glue
  • Craft Foam; $.50 @ Hobby Lobby
  • Saw to cut wood
  • Pipe Cutter
  • Screwdriver
  • Level
  • Tape Measure & Ruler
  • Pencil & Sharpie
  • Drill & Bits

Step 1: X Axis

Picture of X Axis

You will construct the X axis with plywood. It's just a box.
You will need to cut out these pieces
two 8 1/4 x 2 1/2"
one 10 x 2 1/2"
one 8 x 1 1/2 x 1 1/2"
Construct like the picture above, making sure it's perfectly square.

Step 2: Glue the Bearings

Picture of Glue the Bearings

Use Gorilla Glue on the corner. Gorilla Glue expands 3x it's size so apply sparingly. Clamp down the PVC pipe and let dry overnight.

Step 3: Z Axis

Picture of Z Axis

You need to cut out the following plywood pieces for the Z axis:
one 3 1/2 x 5"
one 4 1/4 x 3 1/2"
one 4 1/2 x 2 1/2"

Step 4: Base

Picture of Base

Cut two PVC pipes to 8 1/4".
On the elbow there will be a crease, draw a pencil mark.
Measure the 3/4" from the top and you will have your center-point.
Drill holes in PVC elbow. The holes should be the same size of your shaft.

Step 5: Putting the Xaxis and Base Together

Picture of Putting the Xaxis and Base Together

The table is 8 x 7 3/4". Screw the table to the PVC pipe. Make sure everything is square. Do not glue PVC pipes together just yet. Make sure everything slides freely. You may have to adjust it.

Step 6: Lead Screw

Picture of Lead Screw

When installing lead screw, you have to notch out the PVC pipe.
Use pipe hanger to hold the nut.

Step 7: Y Axis

Picture of Y Axis
Installing the shaft in this step. There's no right or wrong way to do this. It's just the way I did it. As long as everything is square.   
  1. Measure from the base up, mark and drill. The first screw is a guide.
  2. Place shaft and mark the second drill hole.

Step 8: Shock Absorber & Mounts

Picture of Shock Absorber & Mounts
  1. I cut and glued four pieces of craft foam to the bottom.


medic2690 (author)2012-07-12

are those just flang bearings inside the pipe?
was there a reason you used copper on one and PVC on the other (just what you had available)?

David97 (author)2012-06-03

Hi, any idea when cnc snap will be back online?

colincolin30 (author)2011-04-10

Hi ,
I built a CNC and used large stepper motors but found it did not have enough voltage to run the motors. What voltage are you using? Can you email me direct with the voltage used or possibly the circuit please.


CNCSnap (author)colincolin302011-04-10

Hello Colin
What kind of stepper motor is it:4,5,6 wires? What kind of stepper driver are you using? With mine I used EasyDriver and Arduino. EasyDriver requires a 7V to 30V supply to power the motor and can power any voltage of stepper motor. I run mine at 9volts. I was using 12volt but it didn't make a differerence in performance other than temperature.

colincolin30 (author)CNCSnap2011-04-15

Hi csshop,
the motors are 6 wire and the motor driver boards are from Oatley electronics in sydney. I tried running them on a 12 volt gel cell battery but the motors did not seem to have enough power. I buy the motors on ebay ($75) for the three and the label on them is is mirabella. I looked up the web site but they no longer list that model of motor.

I guess my next option is to make up a bigger power supply and give that a go.

thats for the help


CNCSnap (author)colincolin302011-04-15

The power supply listed under parts Is 3-12v 1300mA. You are lacking in mA. I had trouble running mine with a 300mA supply.

pfred2 (author)CNCSnap2011-11-28

You need King Kong power supply! :)

legless (author)colincolin302011-04-18

Are they 12V motors? Oatley sells 12V, 24V and 36V motors. Ask the guys at Oatley about power requirements. They are usually really helpful.

colincolin30 (author)legless2011-04-19

Hi Legless,
Not sure what the voltage is on the motors. I did not get them from Oatley, they were bought on eBay.

thanks for your interest


pfred2 (author)colincolin302011-11-28

The voltage rating of a stepper motor is meaningless with a PWM motor driver running it. Current is limited to a safe level by the driver. Well, the voltage rating isn't completely meaningless, lower voltage motors do run better at any voltage than higher rated voltage ones do. But that's another story. The higher the voltage you run into any stepper motor the better it will perform with a PWM driver operating it.

6 wire motors are unipolar.

switch62 (author)colincolin302011-04-18

Hi Colin,
I also bought steppers off ebay. I haven't done anything with them yet. I found some data sheets but I can't remember if I found the exact ones.  If you can find data for similar model of stepper (one that has the same dimensions and look) you can get an idea of currents needed to drive the stepper.

I would try some experimentation.  Small steppers will need 0.6 to 1.6 A depending on the model.  The voltage is not as important as the current.  It just needs to be enough to drive the right amount of current through the coil.

If you measure the coil resistance (R) and multiply by the coil current (I)  you'll get the voltage needed to drive the coils.  So if your coils are 4.5 ohm and you want 1.6A, you'll need 7.2V across the coils.  You need to account for voltage drops across your drivers, so you will need a bit more.  Your power supply will need to handle the current for all the steppers.  In this case with 3 steppers, 3 x 1.6A = 4.8A

What would be better is to have a higher voltage, 2-3 times higher, and a constant current source (Oatley sell the boards).  This allows for a very rapid rise in current without going over the limit.  This gives the motor a good kick on each step.  If you can pogram the current source then start with a low current say 0.5 A and raise it until you get a good response from the stepper.  Just don't go too high or you could burn out the coils.

You'll also have to check if the stepper gets too hot (to touch) under load when running for some time.  If it does you'll need to reduce the current or get a bigger stepper.

colincolin30 (author)switch622011-04-18

hi Switch 62,
many thanks for taking the time to help me.
I'll try what you suggested.
regards Colin

mossDboss (author)CNCSnap2011-04-14

are your running at 9v or 7v? If I understand the easydriver correctly the power to the motor comes from M+. I am very confused about this driver is the max output to the stepper 5v, from the EasyDriver website

"Depending upon what voltage you use into the M+ pin, the voltage regulator needs to drop that down to 5V (and throw the rest away as heat). So the higher the M+ voltage, the hotter that regulator will get."

So does this mean no matter what your steppers will only receive 5v?

also what does this mean "If you want to supply your own logic power to the EasyDriver, cut jumper SJ1, and supply 3.3V or 5V into pin 1 of JP4."

CNCSnap (author)mossDboss2011-04-14

Yes you are right the EasyDriver takes the voltage down to 5v and dissipates the rest. The variable max current is from about 150mA/phase to 750mA/phase. The mA is what matters, too little won't work and too much motor life will diminish. So my stepper motor is rated at a nominal voltage 7v and I'm guessing the low end is 3.5v. 4.5v is the midrange. Three stepper motors, so i should be running a 10.5v power supply. I do use 9v since I only have a 9v power supply. I still keep the pot in the middle since i haven't got around to testing with a multimeter. Hmm "If you want to supply your own logic power to the EasyDriver, Why would someone want that option." that's a tough one.

rlaganson1 (author)2011-10-06

About how much is the total cost?

CNCSnap (author)rlaganson12011-10-06

Ninety percent of my parts were acquired from junk or unused stuff.

Electronics Man (author)2011-08-16

I really want to build this but do you think I can use this shield---

I know it only has the option for 2 steppers but I could use a servo for the Z axis. What do you think?

CNCSnap (author)Electronics Man2011-08-17

It's worth a go for the price.

Electronics Man (author)CNCSnap2011-08-17

How would you suggest that I connect the servo to work with moving the Z axis? I dont think I can build it like you did. Any ideas??

CNCSnap (author)Electronics Man2011-08-18

yes but my idea might be a hassle to build. The best thing to do is for the z axis is to build l293d Stepper Motor Driver. to use with the Adafruit Product driver.

mattadamsnet (author)2011-07-11

Your link above to has the href to and come up with a 404

So, the link above to is broken

CNCSnap (author)mattadamsnet2011-07-11

Hey thanks

furrysalamander (author)2011-06-01

What would the total cost be if all of this was bought new?

arrrrgon (author)2011-05-02

Can I use something besides the easydriver for this project. Sparkfun is sold out of them and I don't know how long it will be before they get more. sells the a4988 bipolar driver, any chance this would work?

CNCSnap (author)arrrrgon2011-05-02

Yes that would work. They work the same. The only difference is EasyDriver uses a different IC.

HeilandStark (author)2011-04-21

Hi, I'm working on another projects (following another instructable) but as this seems to be fresher I would like to share and ask:
I bought for 20€ this driver on ebay: 、
CNC 5 Axis interface board -V5 features:
? CNC Stepper Motor Driver 5 Axis Interface Board adapter
? It can connection 5 drivers and control 5 motors in the same time;
? It is with 4-wire limit switch to insure our safty movement;
? It is with relay port to control the cnc spindle;
? Power voltage is 5VDC and support with MACH3 etc. software
the Parameters of Electrical
VCC 4.5 -5.5V
VI 0 - VCC
VO 0 - VCC

Is this enough? I also have three stepper motors (20€) (coming from an old copier and still from ebay).
The driver is provided with a USB port but I think i should power motors from another source right?

Thanks for help.

CNCSnap (author)HeilandStark2011-04-21

No, it seems like you are missing stepper drivers.
USB powers the interface board but the stepper drivers will have power inputs for your motors.
Thanks for your interest.

HeilandStark (author)CNCSnap2011-04-26

Hey thanks a lot. That seems it was too simple.
I though I bought this but actually this should be a "all in one" (Driver + Stepper drivers).
I'll check out your instructable to see how going forward.


Verga (author)2011-04-20

Very nice Ibble.
Combining your steps and price list with some of the otehr ibbles out there will probably pretty much guarantee a good machine.
The only suggestion I have is you might want to provide some links for the other ibbles.

Vick Jr (author)2011-04-19

I like you're construction materials. Most people might actually have access to PVC and scanners, unlike the materials used in other CNC projects.

Would a motor shield powered by an ATX PSU work to control the X and Y steppers if I use a regular DC motor for the z axis?

Also, out of curiosity, what if the scanner uses a DC motor and rotary or linear optical encoders to determine the position? Would that system be usable?

I saw that you had some 3D models. Did you use CAD or something similar to design this? Those files might be useful to post.

CNCSnap (author)Vick Jr2011-04-19

A good ATX DIY website.

CNCSnap (author)Vick Jr2011-04-19

Thanks for liking the CNC.

The motor shjeld is a good replacement considering the price. There are a lot of DIYers using the ATX. A good setup imo is two stepper motors and instead of a DC motor use a med/large servo.

Yes, it's usable as long as you know how to integrate it into Arduino. That would make a nice instructable if you get around to it..

The 3D pictures were created sometime after I built the CNC in Google SketchUp. I'm still working on the 3D model. I do plan to post the CAD file hopefully in near future.

seprice40 (author)2011-04-18

How could one increase the area of the entire machine? I want it to take large sheets of foam and this original is not big enough.

CNCSnap (author)seprice402011-04-18

what is the area you want to cut? then i can get you the part measurement for you.

seprice40 (author)CNCSnap2011-04-18

Could you get me part dimensions for two different dimensions?
the dimensions are: 24" wide by 60" long or 24" wide by 36" long
Total area:1440 inches or 864 inches
depth of my foam is 1/8" to 1/4" varying with project
Also is there any programming or software issues I would have with this differently sized CNC?
thank you so much!
Steve Price

CNCSnap (author)seprice402011-04-19

I'm still crunching the numbers for your size but I'll get back to you when I'm finished.

No issue with software that I know of. I ran a test 24ftx24ft and didn't have a problem.

seprice40 (author)CNCSnap2011-04-19

how would 24ftx24ft fit on your machine? Or did you just simulate it on the software? Keep in mind that the dimensions I sent you were the sheets of foam I would be placing on the machine to cut my designs out of.
Thank you so much for your time and help!
Steve Price

123ralph123 (author)2011-04-19

cool maar groot

dchall8 (author)2011-04-10

I can see from the pictures that this is an excellent idea for a project; however, in my opinion this Instructable is about 1/4 complete. The highlight is the parts list with prices and sources. If everyone did that this site would be a lot better. So I was excited when I saw that, but soon found that there was very little detail as to assembly. I don't think I could make this from the pictures.  Don't you need software?  It is computer controlled after all. 

Do you know why so many of your pictures are washed out? Is there a setting messed up on your camera?

What is the motivation to make a CNC? What can I do with it? That should be in the introduction.  I think I would use one to make stencils for screen printing t-shirts, but I"m not sure how that would work. 

stringstretcher (author)dchall82011-04-19

If you are interested in building a CNC machine, the internet has TONS of info at the touch of a button. I built mine by watching the videos at

This instructable has taken a very simple approach, showing that it does not have to be difficult or expensive to make one.

I had no plans whatsoever, no experience, built it with hand tools in less than a week and it is accurate to .1 mm or better. I use mine to cut signs, parts for machines, my telescope mount... goodness... what CAN one do with a CNC???

Once you have built one, you will realize that the limitation is you, not the machine!
I love mine.

CNCSnap (author)dchall82011-04-10

Thanks for the suggestions. It's a complex project . I figured I would break it up into different instructables-construction, hardware, and software. Since people may want to use different hardware and software than me. I'll update it so it will be more user friendly.

I am not a good photographer, never was and never will be.:))

seprice40 (author)2011-04-17

Has anyone tried and/or used this driver ( instead of the easydrivers?

louis.kli (author)2011-04-14

I will be making this project as soon as I get my hands on all the parts!

shivalwolf (author)2011-04-13

Very nice design looks easy to build to.

I have been wanting my own little CNC machine so i can quickly make up PCB's without the well printing part.
Would this CNC be accurate enough to make up PCB's?

CNCSnap (author)shivalwolf2011-04-13

Thanks for asking. I don't have PCB to test on so I used a blank CD. I noticed a small wobble on the Z axis. The steel tube I bought is not as good as the brass bearings from scanners. In my opinion, it's accurate enough for PCB. I pested a pic of the result.

ronanry (author)2011-04-10

Great instructable...however, do you have any software to run it ?

CNCSnap (author)ronanry2011-04-10

Thanks, here's a link to the software instructable.

Kaptain Kool (author)2011-04-10

Good Job!

About This Instructable




More by CNCSnap:OPENSOURCE NEMA 17 MOTOR MOUNTDIY CNC & Constructing an affordable CNC kitx
Add instructable to: