IndyMill – DIY Open Source Metal CNC Machine

Just wanted to let you know that IndyShield is back in stock and you can order on Tindie! Order quickly before it’s sold out 🙂 Thanks a lot!

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
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

PS. I heard that there are some problems if you want to buy the instruction through PayPal without a connected card. If you want to get the instruction another way let me know through this email:


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. Soon I will start selling a kit of those metal plates, I already have the prototype and I will let you know once those are available.
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.

I am preparing a kit with those metal plates that you need to build IndyMill, I already have the prototype and hopefully, soon those will be ready to buy. If you want to be notified about that make sure to signup to the newsletter above!

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!

“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