Introduction: Arduino CNC Machine From Salvaged PC Parts

I built this CNC Machine using parts I had from an old personal computer. Using the power supply and an assortment of DVD drives, along with an Arduino and a few motor controllers, I was able to easily put everything together. While this CNC Machine only allows for 2-axis control, building a 3-axis machine in a similar fashion is possible (check out this Machine built by Tinkernut).

This project cost me a total of just 15$, but it may cost you a little more based on whether or not you already have certain parts.

Without further ado, lets get started.

Step 1: Materials

You will need:

Arduino
Easy driver (x3)
CD Drives (x2) - (3 if you are planning on building a 3-axis machine)
Power supply
L brackets
Super glue
Breadboard
Jumper wire
PC that can run GRBL and Xloader

Step 2: Building the Body

We are using the CD Roms because they come with stepper motors and an axis to move them along. This makes them perfect for our uses. To begin, tear apart the CD Roms, and solder a group of 4 wires atop the motors. Once that's done, assemble the body using the CD ROM plates as bases. Use Duct Tape or Glue to attach both plates together and then attach the stepper motor assembly on top of each one. Ensure that everything is facing the same direction as the pictures provided up top.

In order to secure the pen and the cardboard base, I used superglue, a wine cork, and a rubber pen grip. The pin would simply slide into the rubber grip anytime I wanted to use the machine. The cardboard base was made using a cereal box. There aren't any specific dimensions, but just ensure it is smaller than the CNC Machine's base.

Once you've finished with that, you are ready to move on to the next step.

Step 3: The Electronics

I decided to use a breadboard instead of soldering the electronics in. This made it easier as I had to attach only one large assembly onto the side of the machine, rather than multiple smaller ones. Additionally, I could use the parts for another project if I wished to do so.

Begin by placing 2 Easy Stepper Motor Drivers on the breadboard, and connect both your stepper motors to the 4 pins on the driver. Connect the Y-Axis driver's pins to GND, 3 and 6 on the Arduino. Connect the X-Axis driver's pins to GND, 2 and 5. Finally, connect the GND and + pins to the + and - pins on the breadboard. We'll cover the power supply in the next step.

Step 4: Power Supply

Using a computer power supply allows for a neater package and lets us use our old PC's to the fullest extent, but you may use an alternative if you feel as though this is overkill. If you do choose to use the power supply, check out the diagram at the top for the connections. There are 24-pin connectors and 20-pin connectors, of which I'm using the 20-pin connector. Simply use jumper wires to make the appropriate connections and attach the GND and +5v to the breadboard's + and - rails.

Once you've connected everything, place your CNC Machine atop the power supply and tape everything together.

Be careful while completing this step as Power Supplies can be dangerous.

Step 5: Programming Your Arduino

CNC Machines use a language known as G-Code in order to operate. We'll need to download a G-Code interpreter known as GRBL first. Download the GRBL hex file at this link, making sure it is the appropriate version for your Arduino. Then, using a program known as XLoader, which you can download here, select the GRBL hex file and upload it to your Arduino, ensuring it is connected to the correct COM Port. Once that is done, your Arduino should be able to run G-Code easily.

All we need to do now is get it to draw pictures. A software known as GRBL controller can help with this. Download it at this link. Once you've done that, you'll notice that you can easily control your Arduino by either uploading existing G-Code files or by using the controls on the app. While playing with the controls can be fun, drawing existing shapes is difficult. We can do that by creating G-Code files using makercam. You can insert SVG images of your choice or draw shapes easily using the tools provided on the site.

Step 6: Done!

Congratulations, you've built your Arduino-controlled CNC Machine! Thanks a lot to Tinkernut for providing the inspiration for this project. I hadn't initially planned on making an Instructable for this project, but the interest I received at MakerFaire Bay Area (where I presented the project nearly 2 years ago) prompted me to do just that. Hopefully you had some fun with the project, and be sure to check out my video above to see if you got it working right.