My attempt to make a desktop CNC machine

My attempt to make a desktop CNC machine

I always wanted to design and make my own frames for my quad-copter projects; especially for the mini quad-copter. I want to make a frame with propeller guards to make sure I do not damage any more of my furniture or end up with broken propellers while flying indoors and randomly crashing into things.   I read about people designing and fabricating their own quad copter designs in many RC forums. The tool that is used to fabricate/cut custom frame designs from wood, aluminum, plastic or even carbon fiber sheets are CNC machines. I thought it is an expensive toy that I can never afford. Later on I found on internet that a lot of people designed and made their own CNC machines for various purposes like cutting woods, plastic, metals, pcb engraving etc. Most of the people used conventional parts usually used in professional CNC machines like stainless steel slide rails, acme lead screws, sliding bearing, anti-backlash nuts, metal frame structure etc. However, there are many innovative people who came up with their own alternatives to replace the conventional tools with regular parts available from home improvement stores. I decided to give the cheaper and non-conventional route a try. Sadly my first design did not work well for two reasons, first I did not start at the drawing board with detail plans on design, drawing etc. (I am not very patient); second, I could not prepare the parts precisely enough due to lack of proper machining tools. For CNC design one of the most important things is to have smooth sliding mechanism for X, Y and Z axis. The sliding mechanism needs to be smooth and with as less play as possible to make sure your machine can move in any direction smoothly and accurately. In my first design I used 1/4″ aluminum/iron rods as rails and 1/4″ ID steel spacers as sliding bearings. This worked but not very smoothly and there was quite a bit of play which resulted into not-so-accurate movement of the CNC and also occasional jamming up on certain axis. So I thought about using drawer slides as sliding rails and found that some people also tried that approach with success. I started building the second version with heavy duty steel drawer slides that I bought from the local home improvement store for $15 per pair. I got two pairs for the X any Y axis. I had to come up with my own sliding rail mechanism for the Z-axis. I will post details on that on that later. I found this web site as a greate resources on how to build parts from regular materials from hardware store for your CNC, I would highly recommend this website if you are a DIY type person like me. I got 3 NEMA23 stepper motor from an electronic surplus store for $10 each and bought a 3-axis stepper motor control board from eBay for $45. I did not finalize the total cost of this build, but it should be in the $150-$200 range. The CNC machine’s work area is about 14″(L)x12″(W). I would have gained more work area if I could come up with a slimmer Y, Z axis design. I am using an old ATX power supply used for desktop computers to power up the stepper control board (12v 15A rated) which has just enough power to drive the stepper motors that are rated at 1.5A per step. I am using Mach3 CNC control software which works great in windows. There is also a great open source CNC control software for linux. Today I tested the machine by taping up a pen on the tip of the drill machine and running the road runner example G-Code that comes with Mach3 software. Here is the result of the drawing on a piece of paper done by the CNC machine (the pen was not completely tightly attached though):

road runner cut out on a piece of paper

Video (Drawing road runner):

Video (Testing PCB milling):

Next plan is to make a small CNC with more precision to mill SMD pcbs for my hobby projects. I am going to use this CNC to make the frames of the new CNC and this time I am going with CAD for the design. :)

One thought on “My attempt to make a desktop CNC machine

Leave a Reply

Your email address will not be published. Required fields are marked *

8 × six =

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>