LOW COST DIY 500€ CNC MILL

53,527

509

43

About: I am a 20 years old student from Germany who love to make things. Later I want to become an Electrical Engineer :-)

Hi,

in this Instructable I want to show you, how you can build your own CNC-Mill for less then 500€. I designed this machine for CNC-beginners, who don't want to spend a lot of money for their first experiences with CNC machines but also expecting a rigid and professional looking CNC.

This machine is perfect for maker, tinkerer and everyone who wants to start CNC-Machining.

In the pricerange of sub 500€ you will not find any other CNC with these features:

  • 710 Watt spindle motor
  • MGN linear-rails on all axis
  • 1204 ballscrews on all axis
  • effective workarea of 250x220mm
  • max. travelspeed of 3000mm/min (at 12V)
  • high accuracy of 0.1mm in all axis
  • super rigidportal frame (out of one piece of wood and aluminium extrusions)

Below on this site, you will find a detailed instruction + a bill of materials (BOM) with links, where you can source the required parts.

The complete CNC is build out of CNC milled screen printing wood plates. So assembling will not be a problem. For the build you don't need any expensive tools like (3D-Printers, CNC or Lasers). The only special tool is a M5 and M6 thread cutter.

Video of CNC in action:

If you like my Instructable, please vote for me in the Build a Tool Contest

You can see the CNC live at Makerfaire Ruhr 2019

I really like to see, when someone has rebuilded the CNC, so please post a photo of the CNC in the comments with "I made it" :-)

Change Log:

  • [06.03.2019] Added step "Configure Estlcam for This Machine" + video of test run
  • [07.03.2019] Added video of CNC in action
  • [15.03.2019] Added photo of Linear Parts

Step 1: Mechanical Parts

The complete CNC is designed in Fusion 360, below you will see the complete CNC in an interactive 3D-model:

Required Parts:

CNC-Milled-Parts:

Here are all required CNC-milled parts. You can buy all the CNC-milled parts in my Online Shop. The total cost of all the CNC-milled parts will be 150€ + shipping.

QuantityDescriptionHow the part looks like
1x

Y_Axis_Front

1x

Y_Axis_Rear

1x

Y_Axis_Nut

2x

Portal_Side

1x

Portal

1x

X_Motor

1x

X_Bearing

1x

X_Carriage

1x

Z_Motor

1x

Z_Plate_Front

2x
(normal+mirror)

Z_Plate_Side

1x

Spindle_Mount

1x

Main_Plate

Aluminium Extrusion Parts:

I am trying to use as much standart aluminium extrusion parts, so it will be relativly easy to source the parts.

QuantityDescriptionLinkPrice
10x2040 extrusion angle bracket
Aliexpress9,10€ (for 20 pieces)
2x428mm 20x20mm aluminium extrusion 6mm slot
dold-mechatronik2,07€
2x400mm 20x40mm aluminium extrusion 6mm slot
dold-mechatronik3,70€
1x330mm 20x60mm aluminium extrusion 5mm slot
dold-mechatronik4,26€

Nuts, Screws and Washers:

I am trying to be as accurate as possible while counting all the screws and nuts. If you find any fault on the list, please tell me, so I can update the parts list. Also I recommend to buy some more screws.

QuantityDescriptionWhere to buy
Price
84xM3 T-slot Nut Slot 6mm

Aliexpress

5,60€
40xM4 T-slot Nut Slot 6mm

Aliexpress

5,60€
32xM4x20mm DIN912 cylinderhead screw

local hardware store

-
32x
M4x16mm DIN912 cylinderhead screw

local hardware store

-
8xM4x12mm DIN912 cylinderhead screw

local hardware store

-
8xM3x16mm DIN912 cylinderhead screw

local hardware store

-
52xM3x12mm DIN912 cylinderhead screw

local hardware store

-
8xM3x10mm DIN912 cylindergead screw

local hardware store

-
84xM3x8mm DIN912 cylinderhead screw

local hardware store

-
6x

M5x20mm DIN912 cylinderhead screw

local hardware store

-
12x

M5x10mm DIN912 cylinderhead screw

local hardware store

-
16x

M6x20mm DIN912 cylinderhead screw

local hardware store

-
8xM3 nylon nut

local hardware store

-
24xM4 nylon nut

local hardware store

-
8xM3 washer

local hardware store

-
6xM5 washer

local hardware store

-
80xM4 washer

local hardware store

-
16xM6 washer

local hardware store

-

Linear parts and custom machined ballscrews:

For the CNC mill you will need three custom machined 1204 ballscrews. I have attached a drawing with the dimesions at the bottom of this step. Additionally you will need MGN12 linear rails, ballscrew, bearings and housings. Because it was a littlebit hard to source all the parts, I contacted a manufacture, who can supply all these parts for a resonable price. This manufacture will also make the custom machined ballscrews. You can buy all the parts here: Aliexpress

QuantityDescription
1x

1204 Ballscrew 425mm

1x

1204 Ballscrew 395mm

1x

1204 Ballscrew 200mm

4x

400mm MGN12 Linear Rail

2x

250mm MGN12 Linear Rail

12x

MGN12H Linear Rail Wagon

2x

FF10 Ballscrew Bearing

3x

24mm 1204 Ballscrew Housing

3x

5 to 8mm shaft coupler (rigid ; not the red or flexible)

Step 2: Electrical Parts

Electrical Parts for the CNC:

Here you will find all the required electronic parts for the CNC mill. For the router you can use the Katsu from Amazon or a Makita RT0700C. Both will fit to the CNC-milled parts.

QuantityDescriptionLinkPrice
1x710W 230V spindle motor
Amazon59,99€
3xinductive limit switches NPN
Aliexpress4,44€
3x
Nema 17 Motors
Stepper-Online33,00 €
1xArduino Uno + CNC-Shield + DRV8825
Aliexpress9,76€
1x12V Powersupply 5A
Aliexpress7,05€
some
wires
-
-


Step 3: The Main Frame

What you need for this step:

QuantityDescription
32x

M3x8mm DIN912 cylinderhead screw

32x

M3-T-Slot-Nut 6mm-Slot

2x

400mm MGN12 Linear-Rail

4x

MGN12H-Linear-Rail-Wagon

1x

Y_Axis_Front

1x

Y_Axis_Rear

8x

M6x20mm DIN912 cylinderhead screw

8x

M6 washer

2x

20x40mm aluminium extrusion 6mm slot


What you have to do:

At frist you have to cut eight M6 threads inside the aluminium extrusions. After that you need to attach the MGN12 linear rails to the alumnium extrusions by using the M3x8mm screws. Then you have to take the two wood parts and attach them to the aluminium extrusion with eight M6x20mm screws.


Step 4: Y-Ball-Screw

What you need for this step:

QuantityDescription
8x

M3x16mm DIN912 cylinderhead screw

4x

M3-nylon nut

8x

M3-washer

1x

FK10 Bearing

1x

1204-ballscrew housing

1x

395mm 1204-ballscrew with custom end-machining

1x

Nema 17 Stepper Motor

1x

5x8mm shaft-coupler


What you have to do:

Now it is time to install the Y-ballscrew to the main frame. At first install the Nema 17-motor to the rear plate and fix it with four M3x16mm screws. Then you can slide the 395mm ballscrew in. Once the ballscrew is in place, attach the FK10 bearing at the front plate. The FK10 bearing is fixed by four M3x16mm screws and M3-nylon nuts.


Step 5: Y-Ballscrew Plate

What you need for this step:

QuantityDescription
4x

M5x10mm DIN912 cylinderhead screw

1x

Y_Axis_Nut


What you have to do:

For that step, you have to install the Y_Axis_Nut plate to the ballscrew housing. You do that with four M5x10mm screws.


Step 6: The Portal Side

What you need for this step:

QuantityDescription
4x

M4x16mm DIN912 cylinderhead screw

4x

M4-T-slot nut 5mm Slot

1x

330mm 60x20mm aluminium extrusion 5mm slot

6x

M5x20mm DIN912 cylinderhead screw

6x

M5 washer

16x

M3x12mm DIN912 cylinderhead screw

16x

M3 washer

2x

Portal_Side


What you have to do:

At first you have to connect the two Portal_Side plates to the linear wagons. After that you have to attach the 60x20mm extrusion to the Portal_Side plates by using the six M5 screws. Finally connect the ballscrew housing from the previous step to the extrusion.


Step 7: The Main Plate

What you need for this step:

QuantityDescription
1x

Main_Plate

16x

M6 hammer nut


What you have to do:

You have to hammer the 16 hammer nuts to the predrilled holes.


Step 8: Attach the Main Plate to the Main Frame.

What you need for this step:

QuantityDescription
8x

M4x12mm DIN912 cylinderhead screw

8x

M4 T-Slot mut 6mm slot

8x

M4 washer



What you have to do:

You have to connect the preassembled Main_Plate to the main frame. The connection is made with eight M4x12mm screws.


Step 9: Portal

What you need for this step:

QuantityDescription
32x

M3x8mm DIN912 cylinderhead screw

32x

M3-T-slot nut 6mm slot

8x

M4x12mm DIN912 cylinderhead screw

8x

M4x20mm DIN912 cylinderhead screw

32x

M4 washer

2x

400mm MGN12 Linear Rail

4x

MGN12H Linear Wagon

2x

428mm 20x20mm 6mm slot aluminium extrusions

4x

4020 angle bracket

1x

portal plate



What you have to do:

At first you have to connect the linear rail to the aluminium extrusion.Then place the extrusions on the portal plate. Now screw the extrusions to the extrusions. Don't forget to place the angle brackets.


Step 10: X-Ballscrew

What you need for this step:

QuantityDescription
4x

M3x10mm DIN912 cylinderhead screw

4x

M3x16mm DIN912 cylinderhead screw

8x

M3 washer

4x

M3 nylon nut

1x

425mm 1204 Ballscrew

1x

1204 24mm Ballscrew housing

1x

5x8mm coupler

4x

M6x20mm DIN912 cylinderhead screw

4x

M6 washer

1x

Nema 17 Motor

1x

X_Bearing

1x

X_Motor

1x

FF10 Bearing




What you have to do:

You have to place the ballscrew between the two linear rails. The connection of the motor and the FF10 bearing is made by four M6 screws. Don't forget to cut the four M6 threads to the aluminium extrusions.


Step 11: X-Carriage

What you need for this step:

QuantityDescription
4x

MGN12H Linear Rail Wagon

32x

M3x12mm DIN912 cylinderhead screw

32x

M3 washer

1x

X-Carriage plate


What you have to do:

Connect the X-Carriage plate to the linear wagons by using the M3x12mm screws and the predrilled holes.


Step 12: Z-Axis Part 1:

What you need for this step:

QuantityDescription
1x

Z-Plate_Front

2x

250mm MGN12 Linear Rail

2x

250mm 20x20 aluminium extrusions

8x

M4x16 DIN912 cylinderhead screw

16x

M4 washer

8x

M4 t slot nut

20x

M3x8mm DIN912 cylinderhead screw

20x

M3 t slot nut


What you have to do:

Connect the linear rails to the extrusions by using the M3x8mm screws. After that attach the extrusions to the Z_Plate_Front .


Step 13: Z-Axis Part 2:

What you need for this step:

QuantityDescription
1x

Spindle_Mount plate

1x

Z_Motor plate

4x

M6x20mm DIN912 screws

4x

M6 washer



What you have to do:

Connect the Spindle_Mount at the bottom of the Z-Axis and the and the Z_Motor plate at the top of the Z-axis. Don't forget to cut a M6 thread inside the extrusions.


Step 14: Z-Axis Part 3:

What you need for this step:

QuantityDescription
2x

Z_Plate_Side

8x

M4x16mm DIN912 cylinderhead screw

16x

M4 washer

8x

M4 T-slot-nut



What you have to do:

Place the Z_Plate_Side plates at the side of the Z-axis. Then connect them with the M4x16mm screws


Step 15: Z-Axis Part 4:

What you need for this step:

QuantityDescription
1x

Nema17 Motor

4xM3x10mm DIN912 cylinderhead screw
1x

200mm 1204 Ballscrew

1x

1204 Ballscrew Housing

1x

5x8mm shaft coupler




What you have to do:

Attach the Nema 17 motor to the predrilled holes and connect it with four M3x10mm screws. After that connect the ballscrew to the Nema 17 motor with the 5x8mm shaft coupler.


Step 16: Connect the Z-Axis and the Portal

What you need for this step:

QuantityDescription
4x

M5x16mm DIN912 cylinderhead screw

4xM5 washer

What you have to do:

Slide the Z-Axis into the linear wagons on the X-Carriage. Then connect the Z-ballscrew to the X-Carriage with four M5x16mm screws.


Step 17: Connect the Portal to the Main Frame

What you need for this step:

QuantityDescription
6x

2040 angle bracket

32x

M4x20mm DIN912 screws

64x

M4 washer

32xM4 nylon nut

What you have to do:

Finally connect the portal to the main frame. You do this by using six additional angle brackets. All the requiered holes are predrilled. Please take a look at the pictures, where the angle brackets are located.


Step 18: Prepare the Spindle

For the connection between the spindle and the machine, I am using the allready existing spindle mount. You simply need to remove the plastic part at the bottom of the mount.

Step 19: Attach the Spindle Mount to the Machine

What you need for this step:

QuantityDescription
4x

M4x16mm DIN912 cylinder head screw

4x

M4 washer

1x

Spindle mount


What you have to do:

Place the spindle mount on the Z-axis. Then connect it to the Z-axis with four M4x16mm screws. Once completed, you can slide the spindle inside the spindle mount.


Step 20: Electronics

For the electronics I am using an Arduino Uno with a CNC-shield. This is the cheapest methode to controll the CNC.

For the connection you have to connect the X-Motor to the X-Motor-Port, the Y-Motor to the Y-Motor-Port and the Z-Motor to the Z-Motor Port. Then you have to connect 12V to the board at the blue terminal pins. After that connect it to your PC and flash the software (GRBL or ESTLCAM) to the Arduino.

Now you should be able to move your machine.


(coming soon):

On the machine there are also holders for inductive 12mm end switches in the CNC milled frame. I am still waiting for delivery, so when they arrieved, I will update the instruction.

Step 21: Software

To controll the machine you need 3 types of software:

1. CAD software:

Inside the CAD software you create your 3D-File, which you want to manufature. I personally use Fusion360 for this kind of application.

2.CAM software:

In the CAM software you define the tool path of your CNC machine, here you can also use Fusion360, because it has a build in CAM-module.

3. G-code Sender:

The G-code sender took the G-code file, from the CAM-Software and sends it to the controller of the machine. Because I am using an Arduino as the controller you can use GRBL as a software on the Arduino and a G-code sender like "Univerversal-Gcode-Sender" or "bcnc"


As an alternative I also want to mention Estlcam. In Estlcam, the CAM and controller part are combined in one software (If you use an Arduino as your controller). Also it is more simple to use compared to other CAM Software.

Step 22: Configure Estlcam for This Machine

I personally recommend to use Estlcam over GRBL for this CNC because of these aspects:

  • It is a lot easier to configurate than GRBL
  • It has a build in CAM, so you don't need any additional Software
  • Controller and CAM are combined in one Software

Now I want to show you which configuration you have to do, that the machine will work propably:

1. Open Estlcam and go to "Einstellungen" then click on "CNC Steuerung"


2. After that a window will open with some configurations. There you will see all the basic values for this machine. Once you have all the settings like in the picture, connect your Arduino to your computer, select the right COM-Port, click on "Steuerung-Programmieren":


3. If the programming of the Arduino was a success, close "Estlcam" and open "CNC-Controller". Now you should be able to move your machine.


4.Here is a video of the test-file. The test file can be downloaded at the bottom of this step. The feedrate in the testfile is 2400mm/min.

Step 23: CNC-Milled Results

Here I will show you some CNC-milled parts, which where milled on this machine. ( list will be extended in the future )

Build a Tool Contest

Second Prize in the
Build a Tool Contest

Share

    Recommendations

    • Arduino Contest 2019

      Arduino Contest 2019
    • Trash to Treasure

      Trash to Treasure
    • Tape Contest

      Tape Contest

    43 Discussions

    0
    None
    Wafflerun01

    Question 9 hours ago

    How do you zero the Z-axis?

    0
    None
    doncore

    27 days ago

    Danke für das Gespräch auf der Maker Faire!
    Viel Glück beim Wettbewerb. Habt meine Stimme.

    1 reply
    0
    None
    Vulcamandoncore

    Reply 27 days ago

    Freut mich zu höhren, dass es ihnen gefallen hat. Vielleicht sieht man sich irgendwo ja nochmal :-)

    0
    None
    aleteck

    4 weeks ago

    Excellent guide, really well made and useful.
    I have only one question: how did you align axis? How do you guarantee the perfect coplanarity of the X-Y axis and the perpendicularity between the 3 axes? Are there any adjustments?
    Thank you

    0
    None
    scottie_dog

    Question 5 weeks ago

    Wow, an excellent Instructable. Voted up!
    The kit of parts you offer looks like very good value. I wondered if you have any plans to offer a more complete kit of parts - perhaps everything except the router? I love that you've given sources for all the parts - but if I could buy everything from you as a kit I would do so right now.

    I've been wanting to build a CNC machine from scratch or a kit for a long time, and in recent weeks have decided I finally will do so in the very near future. I think this will be the project I choose.

    Great work!

    1 answer
    0
    None
    Vulcamanscottie_dog

    Answer 5 weeks ago

    I don't have plans to offer a more complete set, because it will be not possible create a complete CNC kit for sub 500€. This machine is so cheap, because you need to source all the parts by yourself. Also I have to invest a lot of money to order all the parts in a decent amount, which I can not afford.

    0
    None
    scottie_dog

    5 weeks ago on Introduction

    Me again. Just voted for you in the Make a Tool competition. Good luck with that.
    You've probably already thought about crowdfunding: if you were thinking of offering a complete kit of parts you'd obviously have some upfront costs in obtaining everything and holding stock. A crowdfunder would be a great way to get the money to be able to start offering full kits. I am sure it would be popular.

    0
    None
    DewulfS

    5 weeks ago

    Very nice instructables, one of the very best i have ever seen! Every part explained very well, i can't wait to start building mine! :)

    1 reply
    0
    None
    VulcamanDewulfS

    Reply 5 weeks ago

    Thanks for your feedback! I can't wait to see your version of the CNC :-)

    0
    None
    MarshReyno

    Question 6 weeks ago on Introduction

    I have access at work to a CNC. Would it be possible for me to purchase the CAD files so I can cut the pieces here in the US? I just want one for my workshop at home. Close to retirement and want a CNC for my enjoyment. If I was to convert all of the parts to items that were available here in the US would you want to do another Instructable with parts easily available in the US? Just a thought.
    By the way your Instructables are very clear and very easy to follow.

    1 answer
    0
    None
    VulcamanMarshReyno

    Answer 5 weeks ago

    Thanks for your feedback :-) . I don't want to sell the CAD-Files, but if you need to take measurements for your own DIY-CNC, you can take a look at the interactive 3D-Model. At the bottom of the model is a measurement function.

    0
    None
    neilscott100

    Question 6 weeks ago on Introduction

    very impressive, the parts that you sell to make the mill do you create these on this mill? m based in spain and am very interested in this, I only use Mac though, would it be compatible with OSX.

    1 answer
    0
    None
    Vulcamanneilscott100

    Answer 5 weeks ago

    The parts I sell are not milled on this machine, because the machine is not big enough to mill their own parts. I have another DIY CNC-Mill (completly different design) out of aluminium, where I can mill all these parts very accurate and in a decent speed.

    I think this machine will also work with a Mac if you use this software combination: Fusion360 for CAM, bcnc or UGS for Gcode-Sender and GRBL on the Arduino. Sadly Estlcam will not work on a Mac, but for GRBL there a lot of tutorials in the internet, how you have to set it up.

    0
    None
    ValentinJ2

    Question 7 weeks ago

    Your instructable is great. I'm looking forward to see the videos. Can you upload the step files of the CNC-milled parts? Or do we have to buy them from you?
    Thanks

    2 answers
    0
    None
    VulcamanValentinJ2

    Answer 6 weeks ago

    I have added a video of the CNC in the introduction :-)

    0
    None
    VulcamanValentinJ2

    Answer 7 weeks ago

    I will upload a video in the next week. I don't want to upload the step files, but if you need to take measurements, you can use the interactive 3D-Modell. There you can take all the dimensions you need. (There is a measurement tool at the bottom of the viewer)

    0
    None
    PyrusBoy

    6 weeks ago on Step 20

    Are you going to publish your Arduino sketch file ? Please.
    Don't want to buy frame parts without the ".ino" file.
    Thanks

    3 replies
    0
    None
    VulcamanPyrusBoy

    Reply 6 weeks ago

    Thanks for your feedback. I will publish the config files for the Arduino tomorrow. However, please take a look at Estlcam, it is super easy to configure. In Estlcam you only need to set your dimensions, steps per mm and max. feedrates. Then Estlcam will flash the Arduino automaticly. And you are done with the configuration.

    0
    None
    PyrusBoyVulcaman

    Reply 6 weeks ago

    Thanks for your quick reply, look forward to seeing more, always wanted to make a cnc mill. I am at the other end to you .I'm 75 and still building.

    0
    None
    VulcamanPyrusBoy

    Reply 6 weeks ago

    I have added a step, where you can see, how the software needs to be configurated. I have also added a video of a test run. Please take a look at step 22.