Build Your Own CNC Milling Machine


Now that I'm retired, I have time to create things that I've always wanted to, like this CNC milling machine. I did a lot of research here on Instructables, which provided me a lot of ideas of how I wanted mine to look and work. I have no experience in this area, so the project itself was fun and enjoyable to see if I could actually do it! My goal was to make one that was accurate, reliable, with a reasonable work area and cheap as possible. Accurate, yes, it can retrace the same path over and over, consistently. Reliable, not sure yet as I have only been using it for a month or so. Work area 32.5" by 18.5". Cheap, perhaps, all in at $400 excluding laptop which I already had.

By the way I already have an ANET A6 3D printer which I love. So I figured how hard can this be, LOL!

My main goal for submitting this instructable is not to provide every single step (that's too complicated for me), but to help inspire those out there with the interest and passion to do so, as so many have done for me.

Again, I'm no expert, just a hobbyist as many of you are and have a lot to learn yet. The choices I made here may not be right for everyone, but worked for me.


1/2" MDF

Supported Rails and Ball Screws

Arduino UNO, GRBL Shield

NEMA 17 Steppers

Dewalt 660 cutout tool

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Tools

I decided to make mine out of 1/2" MDF since its cheaper than extruded aluminum. Thus, I only needed conventional wood working tools. I used a table saw, miter saw, drill and bits and a drill block for perpendicular holes, since I don't have a drill press.

3D Printer is optional; I designed and printed many little pieces like brackets, etc. Many of those could be made out of wood or metal brackets from the hardware store.

A soldering iron to solder all the wire.

Step 2: The Mechanical Build

Because this is my own design I had no plans to follow nor did I create any. The rails dictated what the size of the unit would be. The Y rails are 1000mm, X rails are 600mm and the Z rails are 300mm.

I started with the base and built a torsion style box which makes it very rigid and strong. I would cut a piece of 1/2" MDF and keep adding to the puzzle. There are ribs or reinforcements anywhere its needed to keep the MDF from flexing. There is no flex in the entire machine

The base was to all the other tidbits...

To get 25 holes drilled with some sort of accuracy I would draw the board layout in Fusion 360 and print the 2D drawing on a standard computer printer in actual size. I would then use a center punch to mark the center of each hole and then use a hand drill to drill them out as seen in the 3rd and fourth picture above.

After it was all together, I took it all apart and put a couple coats of polyurethane on it, those are the pieces in the seventh picture.

An important note: I took a considerable amount of time making sure everything was perfectly aligned and square to each other, especially the rails. This way there was absolutely no binding and everything moved very smoothly.

Step 3: Electrical

Since the gantry, etc. slid with such ease I decided to try NEMA 17 motors (only 92 oz. holding torque). With those motors I can move any axis at 3200mm/min or 125 inches per minute and cut at 1600mm/min without the motors missing a step. I haven't tried to cut any faster as that seems fast enough for me.

I used an Arduino UNO, running GRBL and a CNC GRBL Shield with 8825 drivers. I had no experience with an Arduino (again, I'm old, LOL), but there are may instructables here that will teach you!

I did however design a board with 4 opticouplers to prevent false triggers on the limit switches and Z-probe as seen in the second picture. So all that, plus an emergency switch and fan was packed into that little box.

I ran all the wires in cable drag chains, motor and limit switches together thus the need for the opticoupler isolation.

I used a 20V - 7A laptop type power supply for all the motors, etc. The actual draw is only about 2 Amps.

I used a Dewalt 660 cutout tool since its half the price of a trim router, has the same capabilities and comes with both 1/8" and 1/4" collets. I removed the nose cone and designed and 3D printed the mount for the tool.

I made a slide out drawer and mounted a docking station for the laptop. I use a wireless keyboard with built track pad as a remote pendant.

Step 4: Software

I use Fusion 360 to design my models and use their built-in CAM to set up the tool paths. I run CNCjs on the laptop which sends the g-code to the Arduino. CNCjs can use a USB connected camera to display the picture right in its user interface. Again, I'm no expert as these are the only programs I have ever used. They seem to meet my needs.

Of course the CNC is out in the garage, so instead of waiting out there, I use remote desktop software to see the desktop of the laptop from inside my house on my desktop PC. I can then see how much time is left and see it actually milling too.

Step 5: Finishing Touches

I then realized I had no place to put the CNC machine and it weighs in at 120 pounds, so I had to build a rolling base. Then after working with it briefly, I realized it made way too much dust and noise. I figured I could address both of those with a cover. I bought art foam board at the dollar store and created a hinged cover that tilts back. Its much quieter and there is no more dust outside of the box! Inside its a mess, LOL. I also milled the removable fence, cam clamps and hold-down clamps on this machine.

Step 6: Conclusion

I thought I would have to redesign and rebuild this several times to get it right, but luckily I haven't. It works just fine for me. I still have a lot to learn about modeling, bits and tool paths. But in the mean time I have designed and created these projects. The first two pictures are a laptop stand and the rest are some plaques. The video is this machine milling some HDPE. I milled these flags and have it published in another Instructables - Click Here

Again, its almost impossible to provide every detail and plans since so many of the items depend on each other as you build it. But please let it be known that it can be done as so many others have made similar ones.

Thanks for viewing and if I can answer any questions please ask.

Be the First to Share


    • Made with Math Contest

      Made with Math Contest
    • Cardboard Speed Challenge

      Cardboard Speed Challenge
    • Multi-Discipline Contest

      Multi-Discipline Contest

    23 Discussions

    RCs Stuff

    Question 7 days ago on Step 4

    Although I don't believe you stated your age, you referred to yourself as old. I am old as well, but I would love to try to build this exceptional piece of work or at least one very similar. I'm an ''old'' analog guy so the programming of an Arduino may be an issue. I've been an electronic tech. for around 40 years & worked on/repaired almost everything that was either electrically or electronically controlled, but again, nearly all of it dealt with analog rather than digital circuitry. I've also built several electro-mechanical devices where I used relays, microswitches, etc. to control things. I was wondering how much of an issue it was for you to program the Arduino & where you got the info. or software to program it. If I can figure a way to use my relays & microswitches to operate this, I will, but since you used stepper motors, I'm afraid I'll have to go with the Arduino or something similar to control the steppers. I like to design & build speaker systems & I believe a machine like this could be handy when making the cutouts in the panels the speakers are mounted in so I could get a cleaner than freehand cutout. Thank you for sharing this machine you made with us. Take care, Sir.

    1 answer
    BonJibaRCs Stuff

    Answer 6 days ago

    Thank You,
    Too funny our backgrounds are very similar, was also an electronic tech and I also made my own speakers and amps too. This whole journey was educational for me, as I was all analog too. You clearly must be good at problem solving and researching, etc., with your background and that's all you need. I had absolutely no experience with an Arduino. You download the GRBL software from GitHub. I found all that type of info on this site, Instructables! One young lad who inspired me was Nikus, he created the 3D printed Dremel CNC and published it here, please check it out. Your biggest challenge will be drawing up the model of what you want to mill in a CAD program and setting up tool paths, which is very feasible, as you can see from my work. I spent 6 months of research and construction, just taking my time and learning as I go. Good Luck!


    7 days ago

    Sorry I posted my question on the wrong section. It’s a very neat project. Very inspirational 👍🏻. Keep up the good work /G\


    Question 7 days ago on Step 5

    Have you thought about having the machine head being able to rotate forward and back in a 180 degree path and also right and left in a 180 degree path to give a true 3D machining experience?


    9 days ago

    One suggestion: print a vacuum shoe for the router, and connect your shop vac while milling, that will greatly improve the dust collection Here's a bunch:

    1 reply

    Question 9 days ago

    Very nice project. Can I inquire where you sourced the Arduino UNO, GRBL Shield
    and NEMA 17 Steppers?


    1 answer

    Question 9 days ago

    Where did you source the rails and ball screws? Whoops, never mind, I found the answer in an earlier question.


    Answer 9 days ago

    Down load of the project or YouTube video? If its the project I think you need a pro account to do so.


    10 days ago

    Tanks for a really nice tutorial. I can't wait to get retired some day (most likely not until 30+ years:). Can I ask what the total budget for the project was? Regards

    1 reply

    Reply 9 days ago

    My budget and what I spent were not quite the same, LOL. I was hoping to do it for about $300, but I spent $400 dollars to make the CNC, including the router, electrical and all hardware, everything, except the rolling cart and enclosure which was probably only another $40. Thanks


    Reply 9 days ago

    I have a replaceable spoil board on top of the platform. The spoil board has T-nuts inserted from the bottom side that I can use with either the cam clamps or hold downs. The only time it can cut down into the bed (spoil board), is If I'm cutting down through the stock. To get my spoil board to last longer I usually use something very thin under the stock and I only cut down below the stock about 0.2mm. I hope that answered you question


    9 days ago

    I absolutely LOVE this! Great job! I've been wanting to build one.

    1 reply

    Question 10 days ago on Introduction

    I've been wanting to build a small CNC like this and now that I'm retired I'll have time to do it. What size rods did you use? I am assuming that the Y axis (from the photos) threaded rod is a Acme thead? What size? How are the rods attached to the table?

    If you could post some of the hardware specs it would be much appreciated.