This is my 2nd Instructable and my 2nd Arduino powered CNC, this time around I up the difficulty level by deciding to make a self contained CNC unit by design my own electronics enclosures and placements.

The steps of this Instructable are more descriptive than instructive, the videos are the best way to actually see how I did it. Nevertheless, I'll do my best to fill out the holes I missed in the videos.

This project is best described in video so here are two videos I made, totalling about 30 mins. So, grab a cup of joe and following along as I made revisions on the fly, make mistakes and best of all, come out on top with something I feel is pretty darn cool.

Part 1: Describing the machine, setting up the enclosure, sourcing parts and doing some test movements with the stepper motors.

Part 2: Mounting the enclosure, final wiring and test cuts.

Step 1: Sable 2015 CNC Intro and Planning

This project is hinged on the Sable 2015 CNC machine. This high quality, low cost machine differs from those other inexpensive machines coming direct from China (see my 3020 CNC Conversion).

How does it differ?

1. It doesn't come from mainland China where it is a hit or miss when it comes to QC, there are machines that LOOK like the Sable 2015, typically called the 2016 CNC.

2. It is manufactured Taiwan but one factory, so tolerances are higher and the machine is pre-assembled. THis machine is only sold by one seller on eBay as well and his shipping is very quick. I ordered mine on a Monday and received it Friday (DHL) http://www.ebay.ca/itm/Sable-2015-CNC-ROUTER-ENGRA... (complete kit)

3. The Sable 2015 has anti backlash nuts which produce very sharp, crisp movements resulting in accurate, quality cuts.

4. This style of machine differs from most Chinese CNC machines because the gantry is fixed, the table moves in the Y-axis. This increased rigidity, especially for such a small scale machine.

5. The BIGGEST plus of the Sable 2015 is the available of a REAL spindle, not just a ER collet grafted onto a DC motor. While the DC/Collet combo is fine, the real spindle (which has a separated motor drive) can take lateral forces and won't flex during plunge cuts. The 2016 CNC machine will only have the DC/Collet combo, not the spindle.


I purposely ordered the frame, motors and the spindle assembly only, since I planned to convert this to an Arduino/GRBL driven machine anyways. I saved a couple hundred dollars by doing this. The GRBL/Arduino combo is perfect since the A9855 driver chips put out a max of 2A which is perfect since these little Nema 17 motors are rated at 1.5A or so.


The plan is this, to make a self contained, mobile CNC machine that is capable of very accurate work. I want to be able to just set it down, plug in the USB cord and the power cable and cut. To achieve this, I sourced parts that would fit together and could be mounted on the back side of the machine.

Basically the project divided itself into a few sections.

1. Mounting the 24V DC power supply to the machine

2. Mounting a project box on the side, with the Arduino and the CNC Shield V3 inside, attaching a 24v fan on the outside for cooling.

3. Making power I/0 switches for the main system and the spindle

4. Extending and routing the stepper motor wires so they could lead the project box.

5. Mount a controller pendant on the side for an E-stop, Resume, Hold and Ctrl-X Reset


With all the planning complete, things still evolved and changed as the physical build took shape, more on that later.

Step 2: Gathering Parts

This project is going to use some pretty powerful but inexpensive hardware.

1. Arduino Uno (I've used a clone and it was fine)

2. Protoneer CNC Shield V3 (He's up to 3.10 with a PWM signal update and a limit switch NC/NO option)

3. 3 x A4988 stepper driver chips (the stepper motors are rated at 1.7A which is perfect, for the 2A output of the A4988, no need for the more powerfuly DRV8825 2.5A chips)

4. Correctly sized project box

5. I/O, E-stop switch box

6. A couple of toggle switches (rated for 10A and 110v)

7. A small momentary push switch (used for the reset button)

8. 24V fan

9. 24V DC 10A power supply

10. Various gauges of wire and Dupont style connectors (4x1 female)

Step 3: Wiring, Power and Splicing.

This was probably the hardest part of the project, cable routing and management.

There are basically a few things I wanted to have and there are still things I want to do.

1. Optimize the length of the stepper wires so they will be as long as they need to be, but no more. This was pretty easy since the only real challenge was the Y-axis cable, the rest only move about 8".

2. Have a double switch system, one to interrupt the 110v AC current going into the power supply and one switch to interrupt the 24V DC signal going to the spindle. I chose to have leads coming from the 24V DC straight into the CNC Shield and have the switch turn on the power supply, this way when I power the supply, the board gets power but I can also leave the machine plugged in and turn it all off.

3. Have a short lead of 8 wires to have the Abort, Resume, Hold and Reset switches be external and not software based. Having this is great as you can stop the machine mid job if you need to get a sandwich (you always need a sandwich).

I ran into some problems as the switch box I got came with a variety of Normally Closed (NC) and Normally Open (NO) switches. The signals required for the CNC Shield should come from a NO switch so my dream of having a super cool E-stop button was squashed when the E-stop button that came with the box was a NC switch, so I have to keep it depressed to maintain the circuit (and not send a false signal).

In the end, I used a small momentary switch for the E-stop and used the twist lock E-stop button as the Abort. I use the Abort far less than the E-stop/Reset.


I made a goof and didn't watch were my wires where when I powered the system on once to test it and fried the 24v fan...it wasn't my proudest moment, but thankfully, the $4 fan is easy to replace.

Step 4: Mounting the Hardware

After all the wiring, routing and management of the cables was done, it was time to mount the stuff on the back and side of the machine. I chose to mount the control pendant and control box to the left of the machine. The main reason being the X-axis stepper motor protrudes from the frame. By placing the control pendant under it, I am not taking up any more foot print than it already has.

The X-axis motor's location also determined where the control box lives since it gave the shortest distance for the stepper motors to be routed.

The end result is a super compact system that is not any bigger than when I started with. Typically, CNC machines of this type, or any type will have a separate box for the electronics and drivers.

I used double sided foam tape to apply this on it, 3M VHB.


The Sable 2015 is a fixed gantry machine, so the gantry doesn't move when the y-axis moves. This was the main reason why I was chose to take advantage of the back side of the machine. Since it doesn't move, the added weight of the electronics and power supply will not effect the cutting. Most Chinese machines will have a stationary base and a Y-axis gantry with the X-axis on it (again, see my 3020 CNC conversion for an example of this). If I had added weight to the gantry on the 3020/3040/6040 style machines, the stepper motor would have to move IT along with the weight of everything else.

Step 5: GRBL, Step Settings and Some Math.

GRBL is an open source, very powerful firmware that is run on the Arduino and translates G-code into directions and speeds for the CNC board to throw at the stepper motors.

You can flash GRBL into an Arduino with their IDE interface, you can find zipped source files here: https://github.com/grbl/grbl

You'll need to know how to do that, no better time than now (I had to learn how to do it for these CNC projects)

Think of GRBL has the head coach, the CNC Shield is the trainer and the Stepper Motors are the players on the field. They all have to work in sync and have the right set of plays to score a touch down....or make a part. If there is something wrong, a break down in communication, the play fails and the ball gets fumbled or your machine moves in a very strange way (either too fast, too little or worse, crash into the side lines).

We need the right settings to make plays, and here's how to find them out.

Heres what you need to know about the Sable 2015. This kind of math can be applied to most CNC machines coming from overseas because they are all metric. GRBL's settings are in metric, this is good, this means they at least speak the same language. There will be some translation needed if you are using a machine with say...ACME screws with imperial measurements.


The Sable 2015 uses standard trapezoidal lead screws, these alone are pretty accurate, but combined with anti-backlash nuts, can give a resolution of .1mm tolerance. The size of these lead screws is 10mm with a pitch of 1.5mm

We don't really care about the 10mm but we DO care about the 1.5mm pitch. The pitch is the distance between threads. A simple way of explaining it is if you have a nut on this screw, can you turn the screw one rotation while holding onto the nut, the nut will move 1.5mm.

That means ONE full rotation give us 1.5mm of travel, keep this number in the back of your brain.


The stepper motors used on the Sable 2015 are pretty standard 1.8 degree motors.

360 degrees of rotation divided by 1.8 degrees per step

= 200 full steps PER rotation


Now to get even trickier, the CNC Shield allows for micro stepping, steps BETWEEN steps, smoothing out the motion and introducing more accuracy while sacrificing some torque.

I have my CNC Shield set up with 1/16 micro steps, which means there are 16 micro steps PER full step. Micro steps come in 1/2, 1/4, 1/8, 1/16 (max of the A4988) and even 1/32 (with the DRV8825 chips). Smaller increments are possible, but these chips only support a max of 1/16 or 1/32. The math remains the same, just adjust accordingly.

200 full steps multiplied by 16 micro steps = 3200 total steps


Now GRBL's settings call for the amount of steps it takes to make the lead screw travel 1mm so let's combine some numbers for that setting:

3200 steps = 1 rotation = 1.5mm

We need to know 1 mm so lets go backwards on the math

3200/1.5 = 2133.333 steps to move it 1mm

So, my settings for GRBL is 2133.33 steps/mm


If you go into any GRBL interface (GRBL controller, Chilipepr, CarbideMotion, Universal GRBL Sender) you'll be able to edit your GRBL settings. It's a simple matter of typing:

$100=2133.330 (x, step/mm)

$101=2133.330 (y, step/mm)

$102=2133.330 (z, step/mm)

The (xyz, step/mm) isn't necessary, it's more to show you that the $100, $101 and $102 values differ and correspond to the different axes.


The more you play with the settings the more important it is to write down your previous settings so if sometime goes wrong...you can revert back to it. You can even change the max speed, min speed, acceleration of each axes etc. Once you tune your settings to your machine, you never have to change it again UNLESS you reflash your Arduino with a new version of GRBL...copy and paste your entire settings list prior to that.

Step 6: Test Cut!

Another benefit to the Sable 2015 machine is that the table surface has a ton of M5 threaded holes in it, making it perfect for holding down work with some simple clamps.

I used some plywood clamps I made with another machine to hold down a piece of really old and hard white oak. The machine ploughed it with easy. The thumb/lever screws were found on eBay, they have a black aluminum handle which matches the look of the machine.

3mm Single Flute Downcut carbide end mill

10ipm and max speed on the two speed 250W spindle (unknown speed)

The anti-backlash nuts performed very well, making very tight turns and crisp movements. The small .22" recesses for screw heads on the parts were extremely round and accurate.

Step 7: Finished!

So all in all, if I hadn't taken the time to explain my doings and mistakes while making this little CNC machine, I probably would have been done in about 3 hours. This will make for an awesome machine not only for production but for collaborations at group meet ups and other on site jobs.

The whole project including the cost of the bare machine and spindle cost about $800 USD, which for the accuracy, portability and pure awesomeness is well worth it.

In case you missed the videos at the start, here they are again. They will go into MUCH more detail than this overall Instructable.

Part 1

Part 2

Thanks for hanging out!


I have been doing some aluminum facing this weekend using feeds of 22 in/min with DOC .008" using 1 flute Onsrud bit. Probably could push it further.
I finished my build and ran some aluminum. Runs slow, but does a great job! Here are some links for my setup:<br>https://youtu.be/cRcb9yR76Jg<br><br> https://youtu.be/oDyFuzOAQ8A
<p>Way to go!!! </p><p>What feeds and speeds and bits are you using for 6061?</p>
I performed several tests with different bits, feeds and speed. Both 1/4&quot; and 1/8&quot; end mills run pretty good, but 1/4&quot; run the best. I run 1 flute Onsrud and the cheaper Niagara Cutter 2 flutes (they work about as well). The most I can get out of a bit without chatter is about .008&quot; stepdown and 20 in/min feed rate. All of my parts machined in the videos were either .002&quot; stepdown or .004&quot;. I use Autodesk Fusion 360 (free!) Cad/Cam and it helps keep chatter down by setting ramp rates and such. Another thing is the runout is a little much on the spindle (.0025&quot;), but I was able to make some improvements to get it down to .001&quot;. It is still a lot and will impact chatter.
I am building a similar setup. Any luck cutting aluminum with the Sable 2015 spindle using 24VDC? Thanks for the great post!
I haven't tried but I did find that this machine, even though it's rated for 1000mm/min max travel, it missed steps at full speed. I dropped the max speed down to 800 mm/min and it hasn't missed a beat. <br><br>The spindle, while rigid, may not handle aluminum well, it's only 160 watts I believe. I accidentally set one of my plunges to .65&quot; instead of .065&quot; and I hit the table, left a mark. <br><br>I bet if you can REALLY lights cuts and have the G-code do ramping instead of straight in plunges, it would do aluminum. <br><br>I had to shim my spindle assemble to make it square to the table.
Thanks for the feedback. I found a video online of someone cutting aluminum with the sable spindle, but they were running the motor at 36 volts.
<p>Link? I am curious. </p>
<p>hi,, is there a turn the key arduino that all I do is connected to my stepper motor and to the computer,, what software do I need to run the cnc ?? </p>
<p>I have a very similar cnc, yet I also use the Arduino Uno + GShield + steppers and I purchased Cambam for my software. Cambam does everything from engraving to full machine operations. Study a few official cambam example tutorials and you'll be milling the same day. </p>
<p>just looked a cambam and yes it looks good ,, G shield can you tell me a bit of if please . lets say ,, cambam + arduino board + steppers ,, </p>
<p>my GShield is the Synthetos G5. It plugs directly onto the Arduino Uno and provides the terminals for 4 motors to connect to, that receive the instructions through the arduino. I run 4 Nema 17's ( 1X 1Z and 2 Ymotors) directly from the Synthetos, with no need to adjust the pots for increased voltage.</p>
<p>thanks ,, I been chatting to a ebay seller, he has a arduino that I can connect straight tp my stepper motors so maybe it has that synthetos G5 part ,, but I ask him before I buy. I also looked at the cambam software it talks abut Mach 3 and cambam ,, do you why you would need the two ??. I have only a small cnc but I am going to build 2600 x 1300 table ,, when I complete my band saw mill which I have on hear,, it taking my spare money at the moment .. I know building a big cnc will need bigger stepper motors and things so I working on the small one first , so any info I am thankful for </p>
<p>If you need to run a big cnc, you may want to look at external drivers for the steppers. Even with the purple DRV8825 chips, they max out at 2.5A. </p>
<p>I need all the help I can get so I not buying the wrong parts a long time ago I got a little cnc of ebay ,,much like the one you have. I have not had it running as yet ,,full time job get in the way of my builds lolo and time and money ,, I got on to the grbl sit ,, you have to donate to down load there software but then again its not much to spend when your looking at mach 3 or artcam software,, I have turbo cad 19 so I should be able to draw all I need from that . thanks for your info </p>
<p>When it comes to arduino projects, there is no such thing as 'turn key', this is as close as it can get with the CNC shield and GRBL. There will still be a time investment on setting up GRBL the right way. </p><p>GRBL is only a communciation/g-code translator, you will need to use something like GRBL Controller, Universal G-code sender, or Chilipepr to send the g-code to the Arduino vis USB. </p>
<p>thanks for replying ,, I had a bit of a think and really its just a better way to run on a usb port then parallel port ,, yes or know ?? as well as the software in for free </p>
<p>yes, USB In my opinion is stable under Win7 or IOS and easier to deal with when trying to find a computer to run modern software.</p>

About This Instructable




Bio: I make stuff for a living, an Industrial Designer by lifestyle, education and interest. Always up to learn something new and keep my skills on ... More »
More by EricAusome:UHMW Polymer Carver Deadblow Mallet Carbon Fiber Slingshot (Advanced) Sable 2015 CNC + Arduino + GRBL = LunchBox CNC 
Add instructable to: