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

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: 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

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

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

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

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

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

Step 7: 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

  1. I cut and glued four pieces of craft foam to the bottom.
MakerBot Challenge

Participated in the
MakerBot Challenge



    • Indoor Lighting Contest

      Indoor Lighting Contest
    • Metal Contest

      Metal Contest
    • Make It Fly Challenge

      Make It Fly Challenge

    50 Discussions


    Question 10 months ago on Introduction

    Hi what are the Thicknesses of the Plywood pieces you Used in your CNC Please?


    Question 1 year ago on Step 8

    I want to ask you ,what is the best type of stepper motor for a cnc machine,and can you send à total list of the elements you used to build your cnc.

    Thanks a lot


    7 years ago on Step 2

    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)?


    8 years ago on Introduction

    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.


    11 replies

    Reply 8 years ago on Introduction

    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.


    Reply 8 years ago on Introduction

    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



    Reply 8 years ago on Introduction

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


    Reply 8 years ago on Introduction

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


    Reply 8 years ago on Introduction

    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



    Reply 7 years ago on Introduction

    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.


    Reply 8 years ago on Introduction

    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.


    Reply 8 years ago on Introduction

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


    Reply 8 years ago on Introduction

    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."


    Reply 8 years ago on Introduction

    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.

    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?

    1 reply