Instructables

Building your own CNC router/milling machine

FeaturedContest Winner
Picture of Building your own CNC router/milling machine

Already at the age of 12 I was dreaming of making a machine which could make things! A machine which would give me the opportunity to create products for in and around the house. Two years later I stumbled ont the words 'Computer Numerical Control' or more specifically the CNC milling machine. After I found out people were able to build one themselves in their own shed, I knew it! I had to build one, I yearned to have it!!
For three months I tried to find the proper parts (A dremeltool, drawer slides, pieces of wood, etc.), but I didn't really know how to build a CNC. The idea fell into oblivion.

In August 2013 the idea to build a CNC milling machine captivated me again. I just finished the first year of my bachelor in Industrial Design, so I was confident enough to start a build. The real difference between now and 5 years ago was, I learned to work with metal on manual milling machines and lathes and above all I had the right tools to design a machine.

This Instructable will show you how I built my CNC milling machine. I know a lot of CNC dreamers do not have the knowledge or tools to build a full metal machine. I still think and hope this Instructable inspires you to make your own machine. I include all of the necessary steps I went through in designing and building this CNC milling machine. All of the drawings I used to build my machine will be available.

 
Remove these adsRemove these ads by Signing Up

Step 1: The Design and CAD model

Picture of The Design and CAD model
Render front.JPG
Render back copy.jpg

It all started with a proper design, in my case a few sketches to get a good feeling for the dimensions and shape. Quickly after the sketching phase came the CAD model. I created my model in SolidWorks. If you plan to design your own machine I recommend a parametric CAD-modeling tool. Your machine will most likely have a lot of parts which have to fit together neatly, sometimes with some strange dimensions (for example pre-ordered parts). After all the parts were modeled, technical drawings were made. I used these drawings to machine all of the custom parts on the manual lathe and milling machine.

Since I'm a lover of good designed tools, I tried to make maintenance and the possibility to adjust things on the machine as easy as possible. Bearings could have been integrated in the machine, but I chose to place them in separate bearing blocks (in case it needs to be replaced in the future). Keeping your machine clean is very important too, so guiderails are all accessible (in case of the x-axis by detaching some cover plates)

De drawing above gives an overview of the main mechanical parts I will cover in this Instructable. I will of course also cover the electrical part of the machine. A PDF with the main dimensions is also attached.

Step 2: The frame

Picture of The frame

The frame provides the machine a rigid basis, not only to place it in your workshop but also for working on. To the frame the gantry will be mounted on sliding rails and later on a work surface. It also houses the stepper motor and spindle for the x-axis. I constructed my frame from 2 Maytec 40x80mm profiles, 2 endplates (both 10 mm thick aluminium), 4 corner pieces and a square structural piece.
All of the profiles are sawed right-angled and afterward milled exactly square. With the corner pieces a heavy (well relatively lightweight; it's all aluminium) frame was bolted together. The square frame made from the smaller profiles were mounted with 4 milled blocks (aluminium) on the inside of the Maytec profiles.

Since the frame sits beneath the worksurface dust could fall down on the guiderails (you want to keep them clean, more about that in step 5). To prevent this, dust covers were made and mounted around the guiderails. A angular profile mounted with brass milled t-nuts onto the may tech frame and 2mm aluminium plates mounted in the milled pockets on the endplates.

On both endplates bearing blocks are mounted for the spindle. They were hand milled and lathed to the right tolerances. On the front endplate mounting slots for the stepper motor were milled

All of the dimensions are documented in the technical drawings below.

Step 3: The Gantry

The gantry is the bridge between the x-axis guiderails and supports your milling motor above the workpiece. The higher you make it, the thicker the workpiece can be. There is however a disadvantage of high gantries. They work as levers on the guiderails and on the other hand the side plates tend to bend more easily by making them longer.

Most of the work I planned to do with the CNC involved milling aluminium parts. An average vise for the machine would be 60 mm high. Since the thickest blocks of aluminium easily available for me would be 60 mm high as well, I chose to space between the work surface and the piece of metal, which could hit the workpiece first, to be 125 mm. This gave me a starting point for the side plates. Since I wanted the center of an end mill hovering over the center of the runnigblocks (from the machines side view), the side plates had to be placed at an angle. Solidworks helped me to convert all of the measurements into the final parts. Because of all the complex dimensions I decided to mill these parts on an industrial CNC mill, this also gave me the opportunity to round all of the corners (would have been very hard to mill on a manual mill).

The part which supports the y-axis guiderails is formed out of an 5mm thick U-profile. It is mounted between the side plate with the help of two simple mounting blocks. On the inside the U-profile houses the y-axis spindle. Which is again supported by the same bearing blocks used for the x-axis. They are mounted on the outside of the side plates.

Beneath the main frame a plate was mounted on the underside of the gantry's side plates, giving a mounting point for the x-axis spindle nut.

All of the dimensions are provided in the drawings below.

Step 4: Last movement

Picture of Last movement
CNC4.JPG
CNC8.JPG
CNC7.JPG

The last movement is what I call the Stepermotorhousing for the z-axis (plus the z-axis itself of course). It is constructed out of a frontplate mounted on the y-axis linear guiderails, 2 reinforcement plates, a motor mount and a backplate. On the front plate 2 linear guiderails were mounted for the z-axis onto which the Mountingplate for the milling motor was placed with the runner blocks.

The motor mount has the bearing for the z-axis spindle fitted into it. So I didn't use a bearing block for this spindle and is only supported on the top. he lower end is floating behind the mounting plate for the milling motor. The spindle nut for the Z-axis was directly bolted on the mounting plate for the milling motor.
The backplate provides a spot for the y-axis spindle nut to be mounted; it is mounted on the inside.

All of the custom mechanics are now ready. The CNC is assembled with the guiderails, spindles and a lot of bolts ;-)
De drawings are again provided below.

Step 5: Guide rails

Picture of Guide rails
rexroth2.jpg
images.jpeg

Since your endmills need to move in 3 directions, the machine guides them with its guide rails. The guide rails provides the machine its rigidity in all directions except the one it moves in. You want them to let the machine only move in the preferred direction. Any backlash in other directions results in inaccuracies in your workpieces.
On my machine I wanted to use guideways supported on the full length of the rail, reducing the risk for deflections on the longer axes.
In my opinion some kitchen drawer slides are preferred above the hardened steel rods which are supported on the end (yes! they will deflect). Since you are constantly fighting the forces from the endmills against the material of the workpiece, a lot of support is recommended.
I chose the most expensive option; profiled linear guide rails with runner blocks. The are designed to receive forces in all directions. In the third picture you can see the looping bearing balls, they are positioned on both sides of the profile. All with a tangent 45 degree relative to each other, giving it the ability to handle high loads.

To get all guiderails perpendicular and parallel to each other they were all aligned with a dial indicator (with a maximum difference of 0,01 mm). If you spent your time on this part, the machine will perform very well in accuracy!

Step 6: Spindles and pulleys

Picture of Spindles and pulleys
pulleys_z.jpg
pulleys.jpg
CNC6.JPG

The spindles translate the rotational movement from the stepper motors into a linear movement. When building your machine, you can choose between three different version; leadscrews or ball screws, either in metric or Imperial configuration. The main difference between leadscrews and ball screws is the accuracy and friction. Leadscrews tend to have a lot more friction and are less precise than ball screws. If your looking for a very accurate machine without any backlash, you should definitely consider ball screws. However, they are relatively expensive!

I chose to use leadscrews with a special plastic drivenut which reduce friction and are approach a backlash free system. You can order the drive nuts here: http://www.mixware.de/index.html\

Both the ends of the x- and y-axis have to be turned to size to fit the bearings, pulleys and clamping nuts. Since the z-axis spindle is only supported on one and with a bearing, it is turned on only one side.

The pulleys are drilled to the turned shaft size (in my case 8 mm) and provided with a M4 setscrew perpendicular to the shafthole.

The drawings below show the dimensions

Step 7: Worksurface

The work surface is the place you will clamp your pieces of material on. On a lot of professional machine a T-slotted bed is used, giving you the option the use T-nuts and bolts to clamp your materials or vices. I chose to use a square piece of 18 mm birch-plywood on which a screw the materials and replace it when needed. An affordable work surface! You could also use Mdf with anchor nuts and bolts. Try to avoid screws and nails in Mdf, it doesn't grip them as good as a plywood board.

The work surface could be milled flat by the machine itself after you've completed it. Your first project :-)

Step 8: Electrical system

Picture of Electrical system
CNC18.JPG

The main components in the electrical system are:

-Stepper motors

-Stepper drivers

-Powersupply (or 2)

-Breakoutboard

-Computer

-And last but not least: Safety first; a emergency stop ;-)

I chose to buy a complete set on Ebay with 3 Nema 23 stepper motors, 3 suitable drivers, a breakout board and a 36 V power supply. I use a step down converter to convert the 36 volt DC into 5 Volt DC. You can of course also put together your own set. Since I could not wait to sartup the machine I temporarily mounted all the drivers and power supply on a open board. The enclosure is in the making.

Since a few years it is also possible to connect a CNC very easily via USB. The UBS-breakout boards on the market generally come with their own software. I chose to use the parallel printer port found on most older PC's. I do not intend to use a new computer in a room full of dust, oil and aluminium chips

Since I had a lot of difficulties in finding a proper scheme with the needed components, I tried to make everything clear in the infographic above (you can also download the PDF and zoom in on the different parts)

Step 9: The milling motor

Picture of The milling motor

Since we want to remove material from the piece we clamp to the work surface, we need something that drives the cutting bits; i.e. the endmills. The milling motor will spin the cutters at low or high speeds. From a simple Dremeltool to a High frequency Spindle of several kWatts. For our machine size a Kress spindle is very convenient to start with. If you want to improve your machine, a reliable Hf spindle will please you. It all depents on the amount of money you can afford to spent on it.

Try to find something with the ability to use different sized collets.

Step 10: CNC software

Picture of CNC software

In the topic CNC software I'll discuss not only the program me that controls the machine, but also the software which produces code the machine will understand.

When we make a workpiece on our computer, either flat or a 3D CAD (Computer Aided Design) model, we need to convert it into something the machine will understand. With CAM (Computer Aided Machining) we can read vectors and 3D models and create an output suitable (Gcode) for the software which controls the machine. I'm allowed to use the professional software offered by my University

The software that controls the machine is a Gcode interpreter. When you use a USB-hub, as discussed in Electrical system), it will have it's own software. If you use the parallel printer port on a older computer, you can choose your own. I chose to use Mach3 since it it used by most hobbyists. You can find a lot about it on forums and google. Since Mach3 has many options and functions, I won't explain them. Just play with it and you'll discover its secrets :-)

Step 11: It's Alive!!!

Picture of It's Alive!!!
2014-04-26 22.43.25-1.jpg
2014-05-29 19.49.57.jpg
IMG_1266.JPG

Ones connected properly, hookup the power supply, it just works!! Start with some pieces of wood or foam and you'll get used to the speeds and properties of your machine. The work above shows some of the pieces I'm working on in aluminium. As you can see the machine is able to work very intricately.

Search for proper parts and take your time. I could have build the machine in a month, but because I had to search for parts on Ebay etc., it took me half a year. This keeps the costs down of course, I was able to build the machine for less then €1000,-

I hope the story encourages you to build your own CNC milling machine. Please feel free to contact me or give a comment if you think something is missing.

1-40 of 98Next »
kSaletta12 days ago

Such an amazing job!! Best one ive seen someone make EVER!

oscar_ib24 days ago

just awesome! congrats!

bfranco28 days ago

This is a well engineered and executed design.....you should consider offering it as a kit....you could easily get a 1000 pre-orders to get the price down, eliminate the risk, and make a nice profit. If you decide to do so, please let me know.

Thanks, blfranco@live.com

Trochilidesign (author)  bfranco28 days ago

Hi Bfranco,

Thanks for your positive respons! I'm already exploring the possibilities in producing kits. Since I'm a full time student as well, it'll take a bit more time. If kits will be offered, I will of course let you know!

billbillt29 days ago

Very good.....

Dear: Trochilidesign

I really like the way you figured out how to make CNC drill move to carving position because I am thinking about building a 3d printer based off the designs of this designs. I just wish it had better software.

You can get better software... Much better.... Just be ready to spend truck loads of money for it.... Check out SolidWorks and MasterCam software... The more powerful the software, the more it costs....

Trochilidesign (author)  nschreiber08131 month ago

Dear nschreiber0813,

You could indeed use this design for a 3D-printer. The only disadvantage would be the relatively low speed of the machine. 3D-printer normally work much faster than CNC-milling machines. Stepcraft cnc machines can be equipped with an extruder head, so it could be done:

https://www.stepcraft-systems.com/en/accessories/systemheld-tools/3d-printing-head

jakal_1 month ago
Hi, were is a file 3d of linar rails hiwin thanks

I have to say, this is really great stuff. I do plan on making this one (as it is well built and in comparison to some other cnc machines that ive seen, no offence to others)(will be the first cnc i make.) but i do have a few questions and requests.

1. on your pdfs, when on the topic of the holes. what does the "m" mean? as in m8 ,m5 and so on.

2. the inner square frame, what are the lengths?

3.i have visited the web site with the guide rails and the running blocks and there are plenty of variations of both. any chance you can tell me which of the many options are the ones featured in the instructable.

4.any chance you could make an assembly video (to have a better idea as to what the individual parts look like) and to see how the parts connect to one another from a few angles in motion. (im really visual XP)

5. the only parts im having trouble making in cad are the three lead screws. like, what are their tread . . . .(for lack of better words and knowledge )= ) tread variables? dimensions? measurements? (i really dont know what word to use good thing im still going to school for this)

but yeah. i really would appreciate the help and information. thank you.

Trochilidesign (author)  kikomonster791 month ago

Thanks for choosing this design! I'll try to help you with your questions.

1. The "M" in front of a number means a ISO metric screw threaded hole. So a M8 hole fits a M8 (8mm) bolt. So for example, for a M8 threaded hole, you first drill a 6.8 mm hole and then tap it with a M8 tap. The drill sizes printed on a lot of vernier calipers.

2. You can define your own sizes as long as they fit between the Maytec profiles.

3.All of the guiderails were bought on ebay second hand. I'll have to take a closer look on the serial numbers, I'm not close to the machine at the moment ;)

4.I might make a Solidworks exploded view animation. disassembling the machine and then rebuilding it would be a lot of hassle ;)

5.They are Trapezium threaded (as pictured below). However, it is not necessary to model the threads in CAD. You'll only need to cut the leadscrews to the desired length and adapt the ends to your bearings and pulleys.

TRAPEZOIDAL43.jpg
ILLIAN1 month ago

One of the better documented designs around, nicely executed too! But WHY do gantry CNC designers keep using profiled rail the wrong way??

hive8 ILLIAN1 month ago

What you mean the wrong way?

What an incredible build! I see that some of the parts you used for this build are CNC machined. I've looked into custom CNC parts in the past and I've gotten crazy rates, usually 700-$900 for a small 5" by 5" part. I know how to make parts with lathes and mills, but I don't own or have access to a CNC machine for complex parts (which is why I want to build one!). Would you happen to know if there's a relatively cheap place to get custom CNC parts done?

Trochilidesign (author)  lance.plater11 month ago

I was fortunate enough to CNC mill the gantry side plates on a professional Bridgeport CNC at my faculty. You could ask your nearest Technical university. they may mill something for free. Or ask some people on CNC-zone! If I had the time, I'd like to mills some parts for you.

vpandya21 month ago

Sir I have purchased this motors and now i have completed the penal board but i am new to mach 3 software, i Dont know how to settle down the settings in mach 3 is there any one to help me out ?

Trochilidesign (author)  vpandya21 month ago

If you're completely new to Mach 3, you should begin with reading the manual. It explains the settings really well!

hive81 month ago

One more question the linear block rails are these 20mm?

Trochilidesign (author)  hive81 month ago

No the guiderails on the x axis are from the 25 series from Bosch rexroth, but you could also take them from other brands of course

Thank you for the reply how about the Z and Y axis are the 25mm as well, I have good connection to HiWin so i can get whatever i need quick. Sorry to ask I just didn't see it in any of your drawings (maybe i missed it).

hive81 month ago

Very nice build where did you buy the pulley and belt, also what size did you use?

Trochilidesign (author)  hive81 month ago

http://cncshop.at

Z-axis:

2x (61062) Zahnriemenrad Profil T5; 15 Zähne; Riemenbreite 10
1x (61524) Zahnriemen Profil T5; Wirklänge 200 mm, Riemenbreite 10

Y-axis:
2x (61066) Zahnriemenrad Profil T5; 20 Zähne; Riemenbreite 10
1x (61525) Zahnriemen Profil T5; Wirklänge 215 mm, Riemenbreite 10

X-axis:
2x (61064) Zahnriemenrad Profil T5; 18 Zähne; Riemenbreite 10

1x (61525) Zahnriemen Profil T5; Wirklänge 215 mm, Riemenbreite 10

TimKorssen1 month ago

Wow, great project! I want to build my own CNC table. Could you please send me the BOM and where to buy them? tikorssen@hotmail.com

AvelinoMoro1 month ago

Increible descripcion!, estoy muy animado a montar una, a ver si soy capaz? muchisimas gracias por la fabulosa descripcion de todos los detalles de la maquina.

Un saludo

Trochilidesign (author)  AvelinoMoro1 month ago

Gracias, te recomiendo intentar realizar una!

Simplemente excelente he ido buscando por ahí un buen tutorial y creo que ya voy a dejar de buscar por que las medidas y el diseño son brutales pero tengo unas dudas. Es posible comprar el set entero en alguna web ?. Usted lo distribuye o algo así ? muchas gracias y felicidades ya te he votado jejejeje

You don't have any overtravel microswitches in case of an axis "run away"!

Trochilidesign (author) 1 month ago

Just updated the drawings and added the drawings in step 4 "The Last Movement" .

starguywisc1 month ago

I have looked on the MayTec site at their 40mm x 80mm extrusions and there are several. Which one did you use? Great job. I want to make one of these. :)

Trochilidesign (author)  starguywisc1 month ago

Profile 40x80 6E, LP

http://www.damencnc.com/nl/componenten/aluminium-profielen/maytec

Wylie6271 month ago

great project!Can you provide detail BOM on that? wylink@hotmail.com

hitecyes1 month ago

excellent project, congratulations. My question is where I buy all these components. It posible send me the instruction a my mail francisco.arauz@hotmail.com?

Enique1 month ago

I´m no spek english, your Project is very.....good, tank!!!

Enrique Monesiglio

Enique1 month ago

I´m no spek english, your Project is very.....good, tank!!!

Enrique Monesiglio

rmarkham11 month ago

Great looking design!

Can you explain how you got the side guide rails aligned to within 0.001mm?

Does that mean the deviation along their whole length is less than 0.001mm in all three directions?

Surely the aluminium frame would be too flexible to get to that level of accuracy?

Trochilidesign (author)  rmarkham11 month ago

Think you've misread that part. The rails where aligned to within 0.01mm (big difference ;-)

You did an excellent job! But I have a few recommendations for you, as I used to work for a very big CNC machine tool manufacturer, and have quite a bit of experience. One thing is your drawings, but if you intentionally left some stuff out then I'm not sure what I can add.

As far as your linear guides, from what I see you aligned them to the extrusions, but I could be wrong, I read through the instructable but didn't look at all the PDF's.

Ideally you want to square up the linear guides as far into the build as possible. Little tricky because of the gantry instead of a saddle. For your X axis you want to bolt on (or as you did, use a mag base) an indicator holder to the truck on the linear guide that is bolted into place. You need a pretty stiff holder to get the indicator over to the other linear guide that is snugged up. Then indicate off the top and side of the truck as you move them through their travel. Top will give you in and out separation, side will give you twist. Indicating the "master rail" off the frame is good to get the table as flat as possible.

With the light duty of the machine you'll probably be fine with one truck per side, but if you want to go heavier 2 trucks per side is ideal.

Use the same method on the Y and Z axis.

Squaring up X and Y usually requires a granite triangle. Square the triangle along X with an indicator based of the side plate or cross beam. Then put the indicator on the Y axis and run it across the surface of the granite that's 90 degrees from the surface you just squared in.

Z is pretty much the same, just run it up and down granite surfaces that are 90 degrees out from each other.

The machine should be as square as you can get it now, but the spindle can still be way off. For that you need the indicator based on the table and a piece of precision bar stock (biggest that will fit your spindle to lessen the chance of getting a bent or bending your test shaft) in the spindle, and run Z up and down, again with the indicator in positions 90 degrees apart.

To test your machine and controllers you would usually use a ball bar, which is basically a very very precise length transducer. One end is fixed to a ball on the table, the other to a ball in the spindle. Command a circular move in X-Y, and check the output of the ball bar to see how it deviates from a perfect circle. It shows correct settings, geometry, how well the X and Y motion is coordinated, etc. Probably not feasible for an application such as this, but you can use the same principle with some other methods.

Let me know if you would like some advice on your drawings as well as your machine.

Steve

carabac1 month ago

Very nice job!! I made one based on the Instructible from Tom McGuire but now I am tempted to build this one. What stepper motor controller did you use?

Trochilidesign (author) 1 month ago

Dear All,

Many thanks for the positive feedback. I've noticed there's some fuss about me not releasing the Solidworks CAD models (not only on Instructables.com but also on hackaday.com). The main goal of the Instructable was to encourage builders to design and build a machine. Designing your own machine gives you a better understanding of what you're making. Since the Instructable became hugely popular in the last few days I got a lot of requests from both people who are interested in the CAD models and people interested in kits. Of course, I respect the ones who want a detailled look at the 3D model. But I also need some time to explore the possibilities in producing kits. There might be a possibility that I upload STEP files in the near future, but for this instant I have to disappoint you.

TrochiliDesign

Very neat design.

Do you have the Solidwork files available?

Thanks

1-40 of 98Next »