IndyMill – DIY Open Source Metal CNC Machine

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. 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:
Excel sheet – IndyMill Parts

IndyMill build based on this parts list has a working area of about 520x400x115mm. The outside dimensions are 760x660x360mm. Of course by using longer profiles, linear rails and ballscrews you can build it bigger.

Some of the parts required to build IndyMill can be purchased in my store. It turned out to be a great way to simplify building the machine for everyone and support the development of future projects. Thanks to ordering in bigger batches I am able to offer parts at a lower price than it would cost for you to order a laser-cutting service.


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
6201RS Bearing6
608RS Bearing1
8 to 10 mm Coupler3
200mm Closed GT2 Belt1
GT2 8mm Pulleys2
Trapezoidal Lead Screw Lock Collar3
Corner Connectors2
M3x16 mm screws 14
M3x10 mm screws 60
M3x8 mm screws 26
M3 nut4
M3 T nut 22
M5x20 mm screws 24
M5x16 mm screws 6
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

Build instruction

The 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 detailed instructions 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 want to simplify the assembly process and support my work at the same time, you can get the instruction here:

Buy on


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 mm steel or aluminum (and just two small parts cut out of 8mm steel or aluminum, see the table below).
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. All DXF files are in mm.

I am also selling a kit of steel plates for IndyMill 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. Also unpainted and untapped bare steel kit is available. If you have any questions regarding the kits 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 all STL files in the ZIP archive below. Settings I use to print them: 40% infill, 3 perimeters, 0.3 mm layer height (with 0.6 mm nozzle).

Part NameQuantity
6000 holder.stl3
Ball screw block X axis flap.stl1
Ball screw block X axis.stl1
Ball screw block Y axis flap.stl2
Ball screw block Y axis.stl2
X axis nut holder.stl1
Y axis nut holder left.stl1
Y axis nut holder right.stl1
Z axis bearing holder.stl1
Z axis nut holder.stl1

If you don’t have a 3D printer and there is no way for you to print the parts you can order those from my store:


Here are all the videos that I made about IndyMill (plus updates below). I highly advise watching all of them before starting building one. There is a lot of useful information in each one of them and step by step assembly process showed. Also, you can take a closer look at fails, design process, and some problem-solving 🙂


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 download the PCB design below and if you want to buy it check out my store:

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!


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

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!

500W Spindle Dust Shoe

I designed and made my own universal version of a dust shoe for 500W spindle (really popular Chinese spindle). It is very simple to make and work really well. You can find more info about my dust shoe in the video below. You cna also download for free files that you can use to make it on your own (those files are also on my GitHub).

1.5kW Spindle, new dust shoe, computer table, spindle light and more

I added plenty of upgrades to IndyMill including a new huge and powerful spindle (upgrade that so many asked for) a 1.5kW beast that makes it just soooo easy to machine aluminum. Because I changed the spindle I also had to redesign the dust shoe, the concept is basically the same but I made it a bit bigger. I also added some upgrades to 500W spindle, spindle light – simple PCB with LEDs that you can directly attach to the spindle and have even more light while machining and the other upgrade was a simple circuit to control the 500W spindle with GRBL. This one has to go through some more tests but should already work properly.

Maybe not so visible but an incredibly important upgrade was replacing the 12V power supply with 36V and right after that replacing TB6600 drivers with DM556.

I also added some smaller (but still cool!) upgrades like a computer table, coolant system and finally redesigned 3D printed files (new files are updated in the files section). You can see all of the upgrades and some other info in the video:

Here you can find some more pictures of my machine and current setup

Built by the community

Below you can find pictures of IndyMill’s built by an awesome community of DIY enthusiasts, machinists, and makers! If you would like your machine to be featured right here send me some pictures of you CNC:

“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