Hi there I've been here after a long time, and this time I've made a huge project as compared to my earlier ones. This is a full-sized 250 mm X 300 mm work area CNC machine and more interesting things is that it was made in 60$ only. I got some time in my summer vacations and this time I thought to make something apart from my daily work,I can say that it is a fully functional prototype. It is a full version of a CNC. I failed many times during this build but at the end I got precise CNC machine. In the following steps you may notice two different versions of it actually the larger one doesn't work properly so I made smaller one with work area of 25 cm X 30 cm. This is my longest instructable ever I am going to mention each and every thing I faced and did during the building time. I can easily see many mini CNC's on this website made from old floppy drives and CD ROMs. First of all I thought to make a mini version of this CNC but due to a little difference between the cost of mini and full versions I decided to go with this one. I really need a 3D printer to keep making projects in future, if you like this tutorial please don't forget to vote!

Update :- I just recorded a video of it drawing a circle.

See this video of my CNC working with all axes moving :-

Step 1: Failure and Success

As I mentioned in the introduction that I failed many times. To give you a clear picture of making your own CNC mill I will write every success and fail during my build. The larger one worked fine but it wobbled around which annoyed me and the nema 17 motors sometimes weren't enough to move heavy load. The first picture is of the fail version and the second one is of the final successful version. The smaller one drew straight lines with full accuracy I ran rectangle g-code in the video,possibilities are unlimited.

NOTE :- You can make your own g codes using makercam or inkscape. Please consider this.

The whole making process :-

Step 2: Things Required

The list is a bit long :-

  • Nema 17 stepper motors (1.8 degrees.4.4 kg cm torque) X 2
  • 28BYJ-48 5V stepper motor
  • A4988 stepper motor drivers X 3
  • Rainbow wire,connecting wire
  • DC Port
  • 12V 5A DC power supply
  • Arduino UNO R3
  • Copper clad board
  • Printer with gloss sheets
  • 0.8 mm drill bit
  • Drill machine
  • 100 uf capacitors X 3
  • 2 component adhesive
  • Male headers
  • Female headers
  • Plywood
  • Thin nails
  • Multi-meter
  • Soldering iron and solder
  • Scissors
  • Screwdrivers
  • 3 mm drill bit
  • Ferric Chloride
  • Containers
  • M3 screws
  • 500 mm screw rods X 2 (300 mm would be OK if you want a successful version)
  • Smooth rods X 4 (Required for fail version)
  • Flange nuts 8 mm X 2
  • Flexible shaft couplers X 2
  • Nipper
  • Electric iron
  • Hot glue gun with glue sticks
  • Sand paper

Step 3: PCB and Circuit

In the schematic A3967 stepper motor drivers are used but I used A4988 drivers because they are compact and can provide more current than easy driver (A3967). No need to worry you can use any coding and pins are same only you need to adjust current limits shown in further steps. I made my own PCB and the eagle file is provided below. But I am sorry because it is not a shield,the USB port didn't allow the shield to rig onto arduino. I could take USB port apart and solder the connections using wire but this complicated the project and your arduino would be a bit difficult to work with. So I took that apart and instead used rainbow wire to connect it to driver board. Shield works with both arduino UNO and Mega. The pin configuration is totally same.

I can explain how it works! I chose A4988 because it has a built in translator and can make motors move using just two pin. One controlling :-

  1. Dir for direction
  2. Step for giving command of the no. of steps to be moved.

Step 4: Flashing GRBL to Arduino

I used Xloader to flash GRBL to arduino. I have uploaded zipped folder of setup of Xloader below. Install if required and open software. Select the COM port of your arduino and select its model I mean UNO,Mega,Nano etc. Under file choose the .hex file I attached below and then click on upload. Your arduino's tx and rx pins would start blinking and it would be uploaded. Download GRBL controller from random websites , see on zapmaker and install it on your computer keep in mind the operating system of yours,I mean 32 bit or 64 bit either mac os or linux.It will run on a vanilla Arduino (Duemillanove/Uno) as long as it sports an Atmega 328.

Note :- If you are using mega then you can flash 0.9 version,I have attached 0.8 version.

IMPORTANT INFO WHEN UPGRADING TO GRBL v0.9 :Baudrate is now 115200 (Up from 9600).Homing cycle updated. Located based on switch trigger, rather than release point.Variable spindle is now enabled by default. Z-limit(D12) and spindle enable(D11) have switched to access the hardware PWM on D11. Homing will not work if you do not re-wire your Z-limit switch to D12.

Step 5: Etching PCB

Take print outs of .brd file I attached before and go to file>print>selct monochrome and then print it on glossy sheets. We'll be using toner transfer method to etch our PCB. After the print is over check accuracy by placing components over print and finally cut the specific portion out.

Step 6: Transferring Toner

Set the heat level of your electric iron to maximum. Place the cutout over Copper clad board after rubbing it well with sandpaper to remove oxides and stains. Press iron over paper for 10-15 minutes moving it over PCB with great pressure and finally dip it in warm water and slowly rub paper away from copper clad board.

Step 7: Correction of Mistakes

Sometimes some tracks either rub away or are not transferred onto copper clad board. Use a permanent maker to cover those traces. I made two because I knew one may be destroyed while drilling or soldering being on safe side I made two PCBs.

Step 8: Etching

Take about 20 grams of ferric chloride powder and mix it with 100 ml of water (use warm water for faster process). Dip our PCB in solution and you'll see after 20-30 minutes the copper besides traces wear away and you get a nice looking PCB. Wash PCB under cold water. Now you can hold your PCB with bare hands.

NOTE :- Safety is must, use mask,gloves and safety glasses while performing this , otherwise you may be injured. Ferric chloride can stain anything in its way.

Step 9: Sanding and Drilling

Using sand paper sand the black traces away and get a clean PCB. Use either 0.8 mm - 1 mm drill bit to drill all the holes.Drill carefully a small mistake can break lines of your hand-crafted PCB.

Step 10: Soldering

Switch on your soldering iron and solder all the components as directed in schematics and PCB layouts.First of all solder resistors and then other components.Don't apply too much solder all little quantity enough to make the pin and line in contact would be enough!!

Step 11: Tips

For the male headers push the small pins inside to increase their length. If you are making a shield by removing USB port. Use rainbow wire otherwise to make connections to driver board. You might be thinking that there are no connections for the supply line of 12 volts as well as for the step and direction pins of driver to digital pin holes.

Step 12: DIY Ports

Use male header strip ad jack and female headers as ports. Use it for motors and for connections from arduino to driver board.

Step 13: Current Limiting of A4988

Arrange the whole setup and connections as given before and then apply 12 volts dc from wall adapter to gnd and vmot pin through decoupling capacitor near to 100 uf. To achieve high step rates, the motor supply is typically much higher than would be permissible without active current limiting. For instance, a typical stepper motor might have a maximum current rating of 1 A with a 5Ω coil resistance, which would indicate a maximum motor supply of 5 V. Using such a motor with 12 V would allow higher step rates, but the current must actively be limited to under 1 A to prevent damage to the motor.The A4988 supports such active current limiting, and the trimmer potentiometer on the board can be used to set the current limit. One way to set the current limit is to put the driver into full-step mode and to measure the current running through a single motor coil without clocking the STEP input. The measured current will be 0.7 times the current limit (since both coils are always on and limited to 70% of the current limit setting in full-step mode). Please note that changing the logic voltage, Vdd, to a different value will change the current limit setting since the voltage on the “ref” pin is a function of Vdd. Another way to set the current limit is to measure the voltage on the “ref” pin and to calculate the resulting current limit (the current sense resistors are 0.05Ω). The ref pin voltage is accessible on a via that is circled on the bottom silkscreen of the circuit board. The current limit relates to the reference voltage as follows: Current Limit = VREF × 2.5 So, for example, if the reference voltage is 0.3 V, the current limit is 0.75 A. As mentioned above, in full step mode, the current through the coils is limited to 70% of the current limit, so to get a full-step coil current of 1 A, the current limit should be 1 A/0.7=1.4 A, which corresponds to a VREF of 1.4 A/2.5=0.56 V. See the A4988 datasheet for more information. Place your multi-meter's red pin to potentiometer and black to gnd and measure the reference voltage.(source www.polulu.com)

Vref for Nema 17 was 480 mV

And for Z-axis motor 28BYJ-48 It was set to 35 mV

Step 14: Fail Version (You Can Skip the Steps, Where Fail Version Is Mentioned)

Wooden Frame:-

Mistake 1:-

I chose very thick wooden ply. This made the work difficult of hammering nails and joining everything also drilling holes for rods and motors.

This is simply a tray and bridge see pictures for better clarity.

Step 15: Some Things Were Right

I checked datasheet of my Nema 17 motors and was successful in drilling holes perfect for motors. Even the slider plates were perfect and provided very less resistance while moving across.

Step 16: Motors to Rods Via Shaft Couplers

As shown in the pictures slide and screw to tighten screw rods to motor shafts.

Step 17: Motor Mounting Tips

Carefully observe that the motor should be parallel to tray base. Otherwise in further steps this may cause problem. Also drill a hole directly in front of shaft.

Step 18: Fail Version (Role of Smooth Rods)

Carefully see how smooth rods are mounted parallel to screw rods. Meanwhile also mount the flange nuts using screws making the movement stable.

Step 19: Fixing Shaft Couplers

Use two component adhesive to join screw rods to motors permanently. This was helpful in both versions. It is good to leave it for 6-10 hours for perfect bond.

Step 20: Fail Version (The Y-axis)

It was mounted same as the x-axis but due to a silly mistake I had to use a block for keeping rods in place.

Step 21: Z-Axis

The part I got from 1990's CD Player. You can use today's CD-ROMs but you may need to make some adjustments for that. It was mounted on y-axis moving plate using a screw.

Step 22: Fail Version (Control Box)

Everything was fixed in a box on side of tray with holes for USB port and DC port. Yeah! it looked pretty well.

Step 23: Fail Version ( Done..........:-( )

Finally the fail version was completed but while testing I came to know that it wasn't of my use. So it was time to pickup tools again and get ready for hardwork!

Step 24: Changes (Extra Parts Needed)

Here comes the starting of the steps of successful version. The changes made were :-

  • Usage of drawer slides for less friction and smooth movement
  • Usage of thin plywood that would make drilling,cutting easier and make it more portable
  • Reducing the size of work area because the long threaded rods led the axes to wobble
  • No extra control box,everything fixed inside the machine

Step 25: Fixing Rails

First of all remove slider from rail and using screws fix it to tray.

Step 26: Making Slider

Find the length between two rails and cut a block of that size from thick plywood and again using screws fix it to sliders,also rig flanged nut base to block.

Step 27: Cutting Off Extra Rods

Use rotary tool to cutoff the extra rods and make our CNC look like a real CNC.

Step 28: Y-Axis

Same as earlier try making the bridge structure. And fix all the parts except one change ,I used only one drawer slider instead of two used in making x-axis. Same as earlier mount y-axis motor to bridge and screw down everything to fix everything.

Step 29: Final Finishes

Our CNC is ready to work but a z-axis would make it more useful as it would avoid extra lines. Same as earlier mount the z-axis. And don't forget to rig a pen to it for testing.

Step 30: Findings and Final Thoughts (Done!)

So now it is finished , I was able to find too many things from this project and was able to learn some woodworking also. At last I ran rectangle g-code and the results were awesome. You are seeing over-drawn shapes because I tried different sizes and numbers on same sheet! I am damn sure that it is capable of drawing all g-codes. Thanks for watching my longest instructables yet!

Please vote if you like this tutorial!

Don't forget to subscribe!

Thank you!


<p>nice job,</p><p>dont let them talk you down, in what the name is.</p><p>they probebly cant even build this, or even think of this.</p><p>you did it BOTH</p><p>i was amazed</p>
<p>Thank you! You are absolutely correct!</p>
<p>Gursimran, Nice Instructable!! Good ideas all over for those who wish to build their own machine. I too have made a simple CNC Machine, pen plotter which can be used to mill PCBs or to laser etch onto varied materials by changing the tool on the Z-axis. </p><p>Do check out my build. Here is the Link :- </p><p>https://www.instructables.com/id/CNC-Arduino-GRBL-Easydriver-Shield/</p>
<p>Thanks! I just checked it out, really appreciable!! Keep it up! :-)</p>
<p>CNC is for cutting, drilling and the like. All I see is a pen drawing. Have you added a drill motor to the head where the pen is? A Dremel with drill and cutter bits would be ideal if you adjust the speed of movement while the cutter is being used. On a different note, someone suggested using a 3D printer head. Unfortunately, they didn't mention where to buy it at. Again, this would be perfect for that usage, especially if the Dremel and the 3D head can be exchanged per required job. Acccurate movement in three-axis is the key for both systems and I noticed the circle seemed alittle rough around the edges - not to be critical because this is a fantastic instructable just in the work you have done, but to highlight the point that more smoothness would be preferred by those of us not wanting to spend hours sanding pieces. Again, excellent work on this item. I'm voting for you. Please continue to finesse and tweak this until it performs flawlessly. </p>
<p>I would respectfully disagree with your statement that &quot;CNC is for cutting, drilling and the like&quot; </p><p>CNC is not just cutting, CNC stands for Computer Numerical Control, so this is in fact a CNC <em>Machine</em>, it just happens to be wielding a pen at this time. People typically think CNC is cutting, but those are CNC Mills, or CNC Laser Cutters/engravers.</p><p>you could make a CNC butter spreader if you so pleased :)</p><p>I just wanted to Clarify.</p><p>The other comments are spot on, with a little tweaking, the possibilities are endless!</p>
<p>absolutely corrcet....do any thing by cnc</p>
<p>LOL. I really like that idea of a CNC butter spreader. I think that I will make one of these with multiple interchangeable heads for butter, jelly, jam, peanut butter, and the like. It will save me many unproductive minutes by digitally controlled adornment of my morning toast, minutes that I can use to recover the time spent in constructing the CNC project</p><p>Thank you for the idea. It has given me the excuse to make one of these machines.</p>
RobertH25 your dripping sarcasm is wonderfully drizzling over a toast-saving tool. It should drip apple butter jelly instead. LOL i agree, a bit much for toast but a wonderful musing just the same. <br>
<p>I meant in addition to using it as a plotter. I am restoring a Victorian home and the woodwork is very detailed. This would be an awesome tool for drawing the patterns on the wood taken from a .dwx drawing or similar. That alone would save me so much time. The front porch balusters are intricate cuts </p>
yeh there is so much you can do with cnc... there is even now an open source gardening cnc that is quite cool and very similar to an idea I had. It is called a farmbot, pretty neat device and it's open source. :)
<p>Totally Agree!!</p><p>CNC driven driven drawing (aka a plotter) is just as valid as CNC cutting...</p>
<p>CNC can be anything. There are CNC knitting machines. If it is something motion controlled by a a digital computer it is CNC. So plotters can be considered CNC. A plotter is not much different than a laser cutter really.</p>
<p>I am going to make its second version,with metal chassis and more fine tuning. I don't want a large machine a mid sized CNC would work for me well, Thanks a lot for vote! Keeping your suggestions in mind I'll surely come up with a new CNC. Thanks for suggestions!! :-)</p>
<p>Thanks. Good luck. I'll check back.</p>
<p>Drawer slides instead of rods and bushings and hassles of parallelism - ingenious!</p>
<p>well made bro.check mine also..</p>
<p>Thank you! I saw your ible some days ago, Its really awesome! I like the neat design and detailed article! Keep it up! :-)</p>
Well fone
<p>This article was a lot more interesting after I looked up the acronym. People seem to forget not everyone is clued in to the alphabet soup. The first reference to the acronym should be written out. Then the reader can puzzle out what ever it is the words mean,</p>
<p>Curious... what would the layman call this?</p>
<p>Why not CEAST (Computarized etch-a-sketch thingy)? lol </p>
<p>what is a cnc? looks like computerized &quot;etch-a-sketch&quot;</p>
<p>Not only does it look like it, it actually is! You've definined CNC perfectly! ;)</p>
<p>Does increasing the feed rate increase the speed at which it draws? </p><p>I tried it with lasers but I ended up with unburned areas, I think a faster CNC with a Marker will be exciting to see...</p><p>Well done</p><p>Keep Making</p><p>Sahas </p>
<p>very good work. Thanks for sharing. You could put the design and measures please. Thank you very much.</p>
<p>Thank you! :-) The design is simple, just a tray below and a bridge hanging above. You can decide these measurements from motor torque, rod length etc.</p>
<p>My son and I are building a CNC plasma table. The working area is 4'x8' He is opting to buy the controls.</p>
<p>Best of luck for your project! I would suggest using RAMPS board!</p>
No. It is a complete tested $2800 kit with electronics, computer, controller, and 620 oz motors that he is using.
<p>Thats great! Best of luck! :-)</p>
<p>where on earth did you buy your electronics (stepper motors, A4988, and the hardware like the couplers and stuff). </p><p>Most stepper motors are around $15 a pop and you need at least two so that already uses $30 of the $50/$60 price statement. As for A4988 they are at least $10 and you again need 2 of them resulting in $20 added to the $30 totaling in $50. So you spent $10 dollars on the wood, hardware, arduino, making the pcb, etc?</p><p>Please share!!!!!!!!!!! </p><p>Those are some sick deals</p>
<p>Hey! I bought 2 nema 17 motors for 20$ I am sharing all links below! And stepper drivers for 2$ each.Summing up 25$ for rods,rails and plywood. And everything else for little electronics and some tiny components! My stepper motors :-</p><p><a href="http://www.ebay.in/itm/Nema-17-Stepper-Motor-for-Reprap-3D-printer-CNC-Robotics-/152130290286?hash=item236bac026e:g:zw0AAOSwu1VW4mAo">http://www.ebay.in/itm/Nema-17-Stepper-Motor-for-R...</a></p><p>And stepper motor drivers :-</p><p><a href="http://www.ebay.in/itm/StepStick-Stepper-Motor-Driver-Driver-A4988-Module-For-Reprap-Prus-3D-Printer-/331890039680?hash=item4d46301b80:g:8CoAAOSw4T5XHdz1">http://www.ebay.in/itm/StepStick-Stepper-Motor-Dri...</a></p><p>AndAnd this stepper motor only 9$ :-</p><p><a href="http://www.ebay.in/itm/Nema-17-2-Kg-cm-Dual-Shaft-Stepper-Motor-for-CNC-Robotics-DIY-Projects-/121994158132?hash=item1c676b2034:g:9DMAAOSwh-1W6cWf">http://www.ebay.in/itm/Nema-17-2-Kg-cm-Dual-Shaft-...</a></p><p>1$ = 67-70 rupees.</p><p>Actually I spent 2 weeks choosing the best deals online.</p>
<p>you have to be carefull with NEMA-17. Those you proposed are only 4 KG (or 2) tongue. That is very poor.</p><p>Try gearbest.com, I got mine on amazon.de, seams to be good ones.</p><p>Search for NEMA17 17HS5425 .... (48 N.cm) - 5 peaces for 62 euro</p>
<p>thank you so much for these links!!!!</p>
<p>Check out Surplus Sales, or Skycraft Parts and Surplus. They have steppers for pretty cheap. eBay is good as well, but just do a search for surplus motors. You will find what you need.</p>
<p>As some question on cheap parts arised before.</p><p>I found today a complete Arduino + GRBL + 4 drivers for 18 eu + 3 eu delivery</p><p><a href="http://www.amazon.de/dp/B01GL8G850" rel="nofollow">www.amazon.de/dp/B01GL8G850</a></p>
<p>Very nice, lots of good info..... but silly me, what in blue blazzes does CNC stand for?</p><p>Cut N Clean?</p><p>Cute N Cuddly?</p><p>Can Not Compute?</p>
<p>Thank you! :-) It stands for computer numerical control.</p>
<p>Very well done!</p>
<p>Glad you liked it! :-)</p>
<p>Nice job. I started making one also. I should have started small and worked my way up. Now I may stop and restart smaller to learn. Keep up the good work.</p>
<p>Glad you liked it! Best of luck! :-)</p>
<p>Ummm, what's a CNC? What's it for?</p>
<p style="margin-left: 20.0px;"><strong>CNC</strong> stands for computer numerical control. It is used to engrave,draw,plot,cut. It is kind of 3D printing mechanically but a CNC is destructive process instead of a constructive process in 3D printer. Means I make 3D objects by melting layers of plastic in 3D printing and cut make a 3D object from a piece of wooden block by cutting away extra material!! </p>
<p>Hi Gursimran</p><p>You wrote it yourself: *CNC stands for computer numerical control'.</p><p>It can be used for destructive processes as well as constructive processes.</p><p>Apart from that I like your instructable very much.</p>
<p>Glad you liked it! :-) I think you misunderstood, I mean 3D printing is like CNC but instead of cutting (destruction),a 3D printer makes layers (construction).</p>
<p>I took apart a Shimadzu &quot;autosampler&quot; it has three axis functions with 3 x 1.8 degree/step Vexta PK243 03AA 2-phase 38.5 ohm DC 0.31 A &quot;steppers&quot;.</p><p>I don't know how to &quot;interface&quot; some kind of pulsed output electronic driver/programmable function power supply module (three separate? or One device with three independently programmable outputs)? Is this an Arduino controller project? This thing would make a great 3-D printer if it had the right kind of heated printer heads tacked on to where the vial sampling needle assembly was. How did u solve your power supply interface to three independent steppers problem? My mind cannot &quot;follow&quot; your wave solder processing of your &quot;motherboard&quot;?</p><p>mrc109</p>

About This Instructable




Bio: Thank you instructables!!
More by Gursimran Singh 425:Plant Box DIY CNC For 60$ (Large Work Area) Advanced Mosquito Repeller and Swatter 
Add instructable to: