Introduction: 3 Axis CNC Milling Machine

Picture of 3 Axis CNC Milling Machine

For lots of projects a CNC milling machine is necessary for good and fast results. After some research about current available machines I came to the conclusion that all machines in a price frame of up to 2000€ can not fulfill my needs regarding working space and accuracy.

I want:

- 900 x 400 x 120 mm working space

- relatively silent spindle with high power on low rotation rates

- as much stiffness as possible (for milling aluminium parts)

- as much precision as possible

- USB interface

- to spend under 2000 €

With this requirements I started 3D construction as an iterative process, checking lots of available parts.

Main focus: The parts have to fit together.

Finally I decided to build the machine in 30-B type nut 8 aluminium frames with 16mm ball-circulation-spindles, 15mm ball-circulation rail bearings and 3Amp. NEMA23 stepper motors that fit easily to a ready to buy mounting system.

This parts fit perfectly together without the need of special manufactured parts.

Step 1: Building the Frame

Picture of Building the Frame

good planning is everything ..

one week after ordering the parts arrived. And after few minutes the X-axis was ready. - Easier than I thought!

The 15mm HRC linear bearings have a very good quality and after mounting them you already feel that they will do a very good job.

After 2 hours the first problem: spindles do not want to get into the roller bearings. My freezer is to small for 1060mm spindles, thats why I decided to get dry ice which meant to pause the project for a week.

Step 2: Setting Up the Spindles

Picture of Setting Up the Spindles

Friend with package of dry ice arrived and after few minutes of freezing the spindles fit perfectly into the roller bearings.

Some more screws and it already looks a little bit like a CNC machine

Step 3: Electrical Parts

Picture of Electrical Parts

The mechanical part is now finished and i come to electrical parts.

As I am very familiar with Arduino and want to have full control via USB, i selected an Arduino Uno with a GRBL shield and TB8825 stepper drivers at first. This setup runs really uncomplicated and after view settings the machine was controllable on the PC. Great!

But as the TB8825 runs on max 1,9 Amp and 36V (becoming really hot), it is enough to run the machine but i recognized step losses due to too less power. Feel also not very good when I think of long milling process on this temperature..

I bought cheap TB6560 from china (5$ each, 3 weeks delivery) and connected them to the GRBL shield. The voltage ratings are not very precise for this board, you find ratings from 12 - 32V for this board. As I already have the 36V power supply, I just tried to use it.

Result: two stepper drivers works fine, one cannot bare the higher voltage and one only turns in one direction (not possible to change direction)

So again searching for a good driver..

The TB6600 is my final solution. It is fully covered with aluminium cooling device and easy to setup. Now running my steppers on X and Y axis with 2.2amps and Z axis with 2.7 amps. I could go up to 3 amp, but as i have a closed box to protect circuits against aluminium dust, I decided to run on 2.2 what is enough for my needs and produces nearly no heat. Additional I do not want the steppers to destroy the machine in case of any mistake, when i give them too much power.

I was long time thinking of a solution to protect power supply for steppers and frequency converter against small aluminium parts. There are many solutions where the converter is mounted very high or in enough distance to the milling machine. Main problem is, that this devices produces much heat and need their active cooling. My final solution are fine tights of my girlfriend. Cutting them into 30cm pieces and using them as a protection hose is very uncomplicated and provide good air flow.

Step 4: Spindle

Picture of Spindle

The selection of a suitable spindle needs a lots of research. At first I thought to go with a standard Kress1050 spindle, but as it has only 1050W on 21000rpm, I cannot expect much power on lower rates.

For my requirements of dry milling aluminium and maybe some steel parts, I need power on 6000-12000rpm.

Thats why i finally chose a 3kw VFD from china incl. converter for 335€.

The quality of the spindle is very good. It is quite, powerful and easy to setup. I underestimated the weight of 9kg but luckily my frame is really strong and there are no problems with the heavy spindle. (The high weight is the reason to drive Z axis on 2.7 amps)

Step 5: Work Completed

Picture of Work Completed

It is done. The machine is working very well, I just had few problems with the stepper drivers but in total I am really satisfied with the result. I spent about 1500€ and have a machine matching exactly my needs.

First milling project was a negative form in POM.

- Machine did a good job!

Step 6: Upgrade for Aluminium Milling

Picture of Upgrade for Aluminium Milling

Already at POM i saw that the torque on the Y-bearing is a little bit to high and the machine bends on high forces around the Y axis. That's why I decided to buy a second y-rail and upgrade the gantry accordingly.

After this there is now nearly no movement due to forces on the spindle. Great upgrade and of course worth the 120€.

Now I am ready for Aluminium.

With AlMg4,5Mn I made very good results without any cooling.

Step 7: ​Conclusion

Building an own CNC machine is really no rocket-science. I have relatively bad working conditions and equipment, but with good planing there are only few bits, screwdriver, gripper and normal drilling machine needed. One month CAD construction and purchase planning and four month of building to complete the machine. Building a second one would be much faster now but without any pre-knowledge in this field I had to learn a lot about the mechanics and electronics in that time.

Step 8: Parts

Here you can find all main parts. I would recommend AlMg4,5Mn alloys for all Aluminium plates.


I bought all electrical parts on ebay.

Arduino+GRBL-Shield: ~20€

Stepper Driver: 12€/ pc.

Power Supply: 40€

Stepper Motors: ~20€ /pc

Milling Spindle+Inverter: 335€


Linear Bearings:

Linear Rails:





Fix-Spindle-Bearings+Stepper holder:


Spindle-Stepper Couplings:

Got china couplings for 2,5€ /pc.


Bottom profiles:

X-profiles for rails:

Y-profiles for X-axis Stepper/Spindle mounting


Profile on Linear X-Bearing:


Backplate / Mounting Plate:

5mm Aluminium Plate 600x200.




Z-Mounting Plate:

5mm 250x160 Aluminium Plate

Z-Sliding Plate for Spindle mounting:

5mm 200x160 Aluminium Plate

Step 9: Software

Using CAD, then CAM and finally G-Code Sender is very disappointed. After long search of a good software solution I found Estlcam, what is a very user-friendly, powerful software and very affordable (50€).

It completely overwrites the Arduino and controls the stepper motors on its own. There are many, good documented features. The trial version provides a complete software functionality with only some waiting times.

For example edge finding. It is just needed to connect a wire to Arduino A5 pin and connect the wire to the workpiece (if not metal, then use aluminium foil to cover it temporary). Via machine controls you can now drive the grounded milling tool against the working piece. As soon as the circuit is closed, the machine stops and sets the axis to zero. -Very useful!

(normally there is no separated grounding needed, because the spindle should be grounded)

Step 10: Upgrade 2

Picture of Upgrade 2

Until now the Y and Z axis had temporary plastic brackets to transmit forces of the spindle nuts and move the milling spindle accordingly.

The plastic brackets were out of strong plastic, but i do not trust them.. imagine the Z axis bracket would brake, the milling spindle would just fall down (obviously during milling process).

Thats why I milled this brackets now out of aluminium alloy (AlMgSi).

The result is attached picture. This is now much stronger as the plastic version I made before without a milling machine.

Step 11: Machine at Work

Picture of Machine at Work

Now with a little bit of practice the machine already produces very good results (for hobby purpose)

This pictures show a nozzle of AlMg4,5Mn. I had to mill it from two sides. The final piece is without any further polishing or sandpaper.

I used a 6mm 3 flutes VHM tool. I figured out that 4-6mm tools are making very good results on this machine.


knutix (author)2017-09-01


Awesome Work!
I'd love to have all the details for this machine as well.
Already working on my shopping list. :)


zumpapa (author)2017-08-24

Hello Soren,

Could you please share your
drawings? Great work!

pat1333 (author)2017-08-16

Hi Soren,

Great job indeed. Would you mind sending me your CAD file? I have a similar project with different dimensions. it would greatly simplify my design as I have to work on table automatic moving jigs too as a complement ( ie moving the part while machining). Thank you in advance ☺

microchaos (author)2017-07-03

Hello Sören,

Very nice build, congratulations!

Is there any chance you to get a CAD files of this project?

And a few questions:
1. How do you ensure that both Y axis motors work synchronously?
2. What is the torque of the motors?

SörenS7 (author)microchaos2017-07-04

Hello Microchaos,

see PM for CAD file.

1. At first I was also worried about synchronized motors. Thats why I have small marks (cable ties) on each spindle. After approx. 20 hours of milling I cannot see a loss of steps on the rails. Both cable ties still parallel.

For professional use or daily use, I would also think of a motor feedback or a connection of both spindles. But for my purpose I am very fine without that.

2. I am using exactly this stepper motors:

This are cheap Chinese motors, but they are really making a good job. (1,9Nm)

pat1333 (author)SörenS72017-08-15

Hi Soren,

Great job indeed !

Would you mind sending me your CAD file too ? It would be of great help for me since I've a similar project, with different dimensions.

Many thanks ☺

microchaos (author)SörenS72017-07-04

Hello Sören,

Thank you for the answers and for a CAD file!

Do I understand correctly how Y axis motors are wired: you use two separate controllers, but the same control signal from GRBL shield, right?

microchaos (author)microchaos2017-07-12

Hi Sören,

Could you please share what power supply do you use. Would be nice to know an approved component :)

SörenS7 (author)microchaos2017-07-05

Yes I am using 2 controllers. The GRBL Shield has got 4 outputs. 3 for X,Y,Z and an A Axis, which is a clone of one of the first axis.

You just have to set a jumper to select which axis to clone.

microchaos (author)SörenS72017-07-05

Ah, I see. Thanks for explanation!

Niclas_AB (author)2017-07-24

Hello Sören,

Very Nice Build indeed!

Could you also send me the CAD files please? I'm using Inventor.

Going too look more in to Estlcam now, looks very interesting!

Best Regards, Niclas

KaareK (author)2017-05-29

Hi Sören
Your cnc-mashine lookes amazing!
If you could share your CAD-files and some sort of BOM that would be a great help!
I would love to use it as inspiration for my own mashine.
Best regards

SörenS7 (author)KaareK2017-05-29

Hello KaareK,

I already replied few days ago to your PM .. I also resent my message.

best regards,


KnucklesTheDevil (author)2017-05-24

Hi, i am really interested on this project, my dream is to reproduce it.

Can I have cad files?

I have 16 years old, i am valutating to build a milling machine and the yours is the best for my interests.

Thanks for the youtube answere

you checked your inbox ? You can find CAD file there ..

best regards

thanks you really much

c_d (author)2017-05-19

Hi Sören,

Great thing. Do you think that it is possible to use
the Kress 1050 splindle and without the second y-rail support when
working with plastics and wood only?

Any plans to add 3d printing support?

Is it possible to get the plans to rebuild such a CNC machine.


SörenS7 (author)c_d2017-05-19

The Kress 1050 will be a very good choice for this frame. One y-rail will be enough. Was milling POM on my 9kg spindle on one y-rail. The best thing is, that you can add another rail if you want later. Find CAD file in PM

rmarkham1 (author)2017-05-16

Great build!

Would you share any drawings?

Would round supported rails work OK?

There are kits of rails, ballscrews and bearings on ebay, 3 axis for £210 from China. Not sure of the quality, but might make a cheaper build?

SörenS7 (author)rmarkham12017-05-16

Hello rmarkham1,

I can share CAD file later via PM.

I also saw the ballscrews from china and wanted to use them first. Finally i decided against it because the price difference was not big enough. Consider transportation costs, delivery time and taxes when you order from china..

Round support rails are working, I saw this on lots of DIY machines and this is of course a much cheaper solution. I decided to use this rails because of very high precision and ability to handle torque in all directions. (In the first step I only had one rail on Y and Z axis. Thats no problem with this linear bearings, even when i upgraded Y axis to two rails for more solidity. With round rails you have to plan 2 rails an all axis directly.

rmarkham1 (author)SörenS72017-05-17

Thanks for getting back to me!

Is there a complete Bill of Materials showing costs?

I assumed that the parts from Germany would be a lot more expensive!

One more question, how did you assemble the bed?

I see you used separate ali profiles. Do they lock together or are there cross members underneath? I would imagine that there is a possibility of flex and vibration or resonance along the bed.



SörenS7 (author)rmarkham12017-05-17

The bed profiles are connected with steel brackets to the other frame profiles. Interconnection would be possible, but i did not had the need yet.

Regarding BOM I just have the invoice of the online shop, but it is completely in German language.

maurofan (author)2017-05-17

Great design! I would replicate it, can you share the project details?

One of my needs is milling printed circuits, do you think it's possible?



larni1 (author)2017-05-17

I was a big fan of building with Meccano growing up (ages ago) so building a CNC router with profiles would be so much fun.

Could you share your files? Would be a great starting point.

Cornev8 (author)2017-05-15

I am looking to reproduce your build. Could you please share your drawings? This would greatly reduce the time required for me to reproduce your beautifull machine :)

SörenS7 (author)Cornev82017-05-15

Hello Cornev8,

I shared download link together with some comments via PM.

jmiller120 (author)2017-05-14

Could it mill stainless steel? Or are there any modifications that wpuld allow it to do so?

SörenS7 (author)jmiller1202017-05-14

the milling spindle can mill steel without any problem. As the Frame is out of Aluminium, I would not really recommend this, but it is possible with small milling depth.

If I would plan to mill steel, i would buy the 20 or 25mm rails instead of 15mm.

Additional I would replace Aluminium mounting plates with steel plates.

cl127 (author)2017-05-07

Where did you get your parts from?

Can you share the list?

SörenS7 (author)cl1272017-05-08

Hello cl127, I added step8 with parts

The drone guy (author)2017-05-07

Are you going to add a cover or shield?

SörenS7 (author)The drone guy2017-05-07

A cover could sometimes really be useful. I was also thinking about this, but then only together with a new and more stable table.

Milling POM is really a mess, because all small particles are static charged and sticking everywhere in the room.

gm280 (author)2017-05-05

Watching the two videos I see what appears to be a lot of end play with the milling head. Is that real or a video anomaly? When building most anything like this, always, always over build so when you push the limits, and you most certainly will, it can take it and survive. Nice project though.

SörenS7 (author)gm2802017-05-05

hello gm280,
i used the youtube shaking-reduction, what make the picture still, but the device shaking .. next video will be with camera holder.

Swansong (author)2017-05-05

That looks great, it works really well!

About This Instructable




Bio: Naval Architect and Ocean Engineer Highly interested in CNC
More by SörenS7:3 Axis CNC Milling Machine
Add instructable to: