IndyMill – DIY Open Source Metal CNC Machine

Check out my store where you can buy steel plates kit to build IndyMill and Build Instruction! You can also buy IndyShield on Tindie! Order quickly before it’s sold out 🙂 Thanks a lot for your support!

IndyMill is a project started by Nikodem Bartnik as an upgrade of Dremel CNC machine. The basic idea behind this project is to create easy to build CNC machine that anyone around the world can reproduce. Using popular, easily available components is only one of many challenges on the road. Great documentation is just as important as good design, those two have to come together to create an outstanding project and that’s the goal. Below You can see up to date list of videos and some pictures of this project, together with files and parts list. Also, subscribe to the newsletter to stay up to date:

Parts list

Below you can find tables with all the parts that I used to build IndyMill. I even counted every single screw for you (but make sure to buy some more just in case). The table is divided into mechanics and electronics if you prefer an excel sheet that you can easily print, export and open on your computer you can find it here:


Profile 20×40 600 mm2
Profile 20×40 666 mm 2
Profile 20×80 600 mm 2
Trapezoidal Lead Screw 220 mm1
Ball Screw SFU1605 650mm1
Ball Screw SFU1605 600mm2
Linear Rail MGN12 600mm2
Linear Rail MGN12 650mm2
Linear Rail MGN12 200mm2
Linear Rail Block MGN12H12
6000RS Bearing3
51101 Thrust Bearing3
6201RS Bearing3
608zz Bearing1
8 to 10 mm Coupler3
200mm Closed GT2 Belt1
GT2 8mm Pulleys2
Trapezoidal Lead Screw Lock Collar3
Corner Connectors2
M3x16 mm screws 10
M3x10 mm screws 48
M3x8 mm screws 26
M3 T nut 22
M5x20 mm screws 8
M5x16 mm screws 22
M5x12 mm screws 28
M5x10 mm screws 4
M5 T nut 20
M5 nut 24
M6x12 mm screws 20
M12x1 fine thread nut 3


Nema23 Stepper Motor4
TB6600 Stepper Drivers4
Arduino UNO1
Power Supply 12V 30A1
AC Socket1
4 pin Connectors4
500W Spindle1
1.5kW Spindle1
Inverter for 1.5kW Spindle1

Optional build instruction

Above parts list and files down below is everything that you need to build the IndyMill. It’s open-source so you don’t have to pay anything for the files or design. But I thought that I will make a detailed instruction so that it will be easier for some of you to assemble this project and at the same time support my work. It’s 40 pages long, there are over 60 drawings and a lot of useful information on the assembly process. It’s a PDF file so you can put it on your computer, smartphone, tablet or even print. And it’s only $10. Let me say it again, you don’t need it to build this project, but if you feel like it and want to help me with new projects here you can get through a button below or if it doesn’t work via this link:

Buy IndyMill Build Instruction


For always up to date files and all new files go to my GitHub. I will try to upload the newest files also here, but firstly those will be published on my GitHub.

Below you can download DXF files, you can use those files to order laser cutting of the parts. Those should be cut out of 6 or 8mm steel or aluminum.
If you are going to order or manufacture that on your own just simply send those files to a company with a laser cutter that is able to cut steel. Make sure that they can cut all of the holes. You need every file cut only once. There shouldn’t be any problems with making all plates out of 6 mm steel or aluminum but my advice is to cut rail support 1 and rail support 2 out of 8 mm thick material (some extra space for lead screw nut is always helpful). All DXF files are in mm.

If you want to buy kit of steel plates and support my work that way, you can do so here:

The kit is powder coated with RAL5019 and I manually tap all the holes so the kit is ready for assembly out of the box. If you have any questions regarding the kit please let me know!

NameQuantityMaterial Thickness
500W Spindle Plate.dxf16 mm
Motor Support Left.dxf1 6 mm
Motor Support Right.dxf1 6 mm
Screw Support Left.dxf1 6 mm
Screw Support Right.dxf1 6 mm
X Axis.dxf1 6 mm
Y Axis Left.dxf1 6 mm
Y Axis Right.dxf1 6 mm
Z Axis Motor Support.dxf16 mm
Z Axis Rail Support1.dxf18 mm
Z Axis Rail Support2.dxf18 mm

You will also need some 3D Printed Parts, you can find them in the ZIP archive below. Make sure to print all of them with infill above 40%. I know it’s not ideal to use 3D printed parts, soon I will try to upgrade that with something made out of aluminum on IndyMill. Below you can also find the table with quantities of each component that you need.

Part NameQuantity
6000 holder.stl3
X axis ball screw holder.stl1
X axis nut holder.stl 1
Y axis ball screw holder.stl 2
Y axis nut holder left.stl 1
Y axis nut holder right.stl 1
Z axis nut holder.stl 1
Z axis bearing holder.stl 1


IndyShield is an Arduino UNO based shield with screw terminals to simplify electronics connection in your CNC router. It’s designed to work with GRBL so you can easily use it not only for IndyMill but actually for any other CNC machine that you want to build. You can buy IndyShield on Tindie, I just got A LOT of PCBs and this product is back in stock!

I sell on Tindie

Of course, because my project is open source below you can find ZIP archive with all the design files of IndyShield (designed in Eagle). Feel free to modify it and share with others just remember to put a link to my project 🙂

If you want to support my projects (It would be highly appreciated!) You can do it through Patreon (link below). You can also support me through paypal!

Become a Patron!

DIY ball screw covers

I made very simple DIY telescopic ball screw covers out of PVC to protect the screws and keep everything working fine for a long time. Below you can see my video where I explained how I made that and you can also find right there ZIP archive with all STL files needed to add this update to your IndyMill!


Here you will find more info on upgrades that I added to IndyMill in this video:

I decided to add limit switches, z probe, emergency button, LED light and threaded waste board as I thought those updates are the most useful for me. I am working on clamping system for that waste board and dust shoe (I want to create a very universal and easy to make dust shoe for 500W spindle). Limit switches holder stl file can be found in ZIP archive with all STL files in the files section above. Here you have links to some of the things I used for upgrades:

Limit switches3
Emergency Button1
LED Strip0.5 m
M8 Knock In nuts30-50

“Now this is not the end. It is not even the beginning of the end. But it is, perhaps, the end of the beginning.”

~Winston Churchill

IndyMill Created by Nikodem Bartnik in 2019/2020