Shapeoko Upgrade - Quiet Cut Spindle with gShield and Relay

One of the best upgrades for the Shapeoko is to use a spindle instead of the rotary tool that many start with. The 300 Watt Quiet Cut Spindle from Inventables works great with the Shapeoko desktop CNC. It is a great upgrade for many other DIY CNC router designs as well.

To make your life a little easier, we've compiled all the parts necessary for this upgrade into a single project that can be purchased here.

The Quiet Cut Spindle has several features that make it perfect for this application.
  • very quiet, compared to the rotary tool, you barely hear it running
  • great tool holding, with a industry standard ER11-A collet included
  • additional collets available
  • air cooled
  • compact and light weight
  • affordable

Hooking it up to work with the gShield (previously known as grblShield) on the Shapeoko is a pretty simple procedure that only requires a few more items, and most people should be able to perform the upgrade in a few hours. When the gShield is hooked up correctly the spindle will turn on and off with G-code directly with software. To make this happen the Arduino sends a signal as 5VDC though pin D12 to a relay. Although the gShield and Arduino combination can signal the spindle stop and start commands, it would damage them to run the 48 volts for the spindle directly. By using the relay we separate the voltages from the controller and the power supply. Think of the relay like a remote controlled switch. With a more sophisticated controller like the tinyG the relay is not needed and also the speed can be controlled as well with software. A tinyG and Quiet Cut Spindle blog post is in the works.

Additional items:
Parts needed for this upgrade to the Shapeoko

Tools needed:
  • soldering iron & solder
  • wire stripper
  • wire cutter
  • screwdrivers
  • multimeter for testing, optional

Final wiring for all components in this upgrade.

Video Tutorial:

Illustrated Directions:

Step 1) Extend spindle motor wires
Temporarily mount the Quiet Cut Spindle in the Shapeoko. Measure the 2-conductor wire needed to extend motor wires to where the 48VDC power supply and relay will be located. Measure twice, cut once. Extend motor wires by soldering on new wires and covering with heatshrink tubing or by using crimp connectors. Soldering and heat shrink is the preferred method.

Step 2) Wire relay to gShield
Add three pins to gShield used to connect to the relay circuit. You will need to connect to +5VDC, ground and digital pin D12 on the gShield. For this example I soldered on header pins to the gShield and then used female to female jumper wires, included with the relay. Feel free to use whatever technique you want for your application. In the photos and video I used red for +5VDC, green for ground and Yellow for signal (D12). See photos for wire locations.
gShield removed from Arduio to show where pins are located.
Arduino UNO board with arrows to show where to connect to relay.
I used header pins in this example to hook up wires to relay. I soldered these on to line up with the Arduino pins.
I used a "helping hand" tool to hold the glShield and rested the pins on a roll of tape to hold pins in place while I soldered.
Closeup of gShield with wires attached to relay board.
Wires from gShield to relay. Red is +5VDC, yellow is signal wire from D12, green is ground. Blue wire is unused.

Step 3) Wire 48VDC power supply
NOTE: check the input voltage on Power Supply. The default setting is 220V. Use a small screwdriver to slide the switch if needed. I cut the end off of a grounded power cable from Inventables. I stripped the wires to expose the ends and connected them to the power supply. They are color coded. For 110V in the USA green is earth, white is neutral and black is load. You can use a power strip for both power supplies so you can power the gShield and the spindle all at once.

Note power supply switch for input voltage. Make sure to switch to 110v if used in the USA.
Power in from outlet via power cord (shown on right) green is earth (ground), white is neutral, black is load. Please follow local standards in your country if different then the USA. 48VDC wires on left go to speed controller.

Step 4) Wire 48VDC power supply to speed controller
Use some more of the 2-conductor wire hook up the 48VDC output from the power supply to the input side of the speed controller. Note the speed controller can accept both AC and DC power so polarity does not matter on the input side of the speed controller. Also connect the negative wire from the spindle motor on the negative terminal on the output of the speed controller.

Speed controller has input on right side as shown and output on left side.

Closeup of jumper position on speed controller for use with gShield.

Step 5) Wire relay to speed controller
The relay circuit board has three contacts via a terminal block. We are going to use the NC (normally closed) pair. This means that if the relay is not powered the circuit is closed and power is being sent from the 48VDC power supply to the spindle. Once gShield, via the Arduino, triggers the relay via the D12 pin, the relay will energize and open the circuit making the spindle stop. Please see the photos or video for wire locations.

Wires on left connect to gShield, wires on right are the +48VDC wire from power supply and +48VDC to spindle. It does not matter which wire is connected where as long as they use the two right terminals (Normally Closed).

Step 6) Power up and test
Secure the spindle securely in the Shapeoko. Also remove the bit if you have one installed and make sure the collet is secure. Put on your eye protection. Using the potentiometer connected with the 3-conductor white wire to the speed controller move the dial to the middle position. Having both the 24VDC power supply for the gShield and the 48VDC power supply hooked up to the same power strip is an easy way to power both at once. Power on the system. You might hear the spindle start up momentarily until the grablShield initializes. Plug the gShield to your computer via USB and launch Universal-G-Code-Sender. Once you have connected to the machine you can test your connection by jogging the machine via one of the axis. If that works then type M03 (with a zero not an O) in the command line. to turn on the spindle. M05 should stop the spindle.

Note: the CAM program you are using is probably putting M3 or M5 in already near the beginning and end of the gcode. If not, it is usually an option somewhere or in the post processor. Also M3 and M03 are usually interpreted the same by the machine controller, so either will work. Same for M5 and M05. Please open up your G-code in a text editor or Universal Gcode Sender and preview before running your job.

Type directly in the command line to turn the spindle on and off M03 (on) and M05 (off). You can then add this directly to your G-code. If your spindle does not turn on check the potentiometer on the speed controller.
NOTE: there are no software changes that need to be made to make this work. The M03 and M05 commands are standard G-Code commands and are already included in the libraries.

If you are not getting the spindle to power up check the following. Do you have a green light on the power supply? If not check the input voltage and wiring. You may need to power it down for 10 seconds or longer for it to reset. Check the lights on the relay circuit to see if they are being triggered by the Arduino and gShield. Also check the speed controller potentiometer. Set the dial to the middle position when testing. Once it is working well set it to full power unless you need to slow it down for the material you are cutting. If you need more help you can send an email to

Mounting of the Quiet cut spindle:
Due to the smaller size of the spindle you may have to change some mounts on your Shapeoko depending on the size of material you want to cut. We will cover some of these different mounting options in an upcoming blog post.


Joel Bernstein said…
Have you considered selling a simple enclosure for the power supply, relay, and speed controller?
RickParty said…
Any suggestions for mounting the spindle to the shapeoko? How powerful is the spindle compared to existing shapeoko upgrades like the DW660?
Josh said…
Placed an order for all of the components (plus some extras) to finally get my Shapeoko 2 running great (I've been using a rather low quality Dremel for my spindle, so this seems like a huge upgrade).

One thing I did not purchase from Inventables was the power supply - I don't trust a PSU rated for 6.25A at 48V (300W) with a 300W spindle (also, the PSU datasheet linked only shows a 48V/5A PSU, so I'm not sure what PSU they're selling). I chose to go with a MeanWell (great reputation, and we've sent out hundreds of their PSUs to our customers with no issue) - SE-450-48 . Depending on your source only a couple bucks more expensive, and the extra couple Amps of headroom is worth it, even if you don't use it for anything.

Great work as always, Inventables team - looking forward to getting it all together X) said…
I got the suggested upgrade kit. One thing to point out is that I got $25 of female headers and no male headers for the gShield. None of the documentation includes female headers. Can you update the recommended cart with just the necessary male header pins and remove the giant box of female headers? said…

This is the item you need for the gShield mod.
Anonymous said…
Hi Herbert,

I am sorry to hear about the problem you noticed with the BOM. I have emailed you directly with more information about how we are working to fix the problem. That you for the feedback, we appreciate it!

Sam said…
This upgrade is a must-have! So smooth and actually quiet. Also, it worked the first time! Good documentation, too. Thanks Inventables for putting this together for the Shapeoko community.
Unknown said…
I have the Quite Cut Spindle with gShield and Relay up and running. Working great! Quick question. Would like to wire spindle to relay as Normally Open (NO) versus Normally connected (NC) as shown. It is a safety thing. As wired, if the Arduino losses power the spindle starts. If I swap the connections on the relay to (NO) it works but the M03 (start) and M05 (stop) commands swap as well M03 becomes (stop) and M05 becomes (start). Is there a config option to change these?
Unknown said…
I wouldn't use this particular opto-isolated relay board at all because it needs a low signal on the opto input to energize the relay. That's just an accident waiting to happen! If the Arduino loses power, or is reset, it will turn on the spindle. It also turns on the spindle for a brief moment when connecting the GCodeSender. I ordered the spindle upgrade kit and immediately replaced the opto-isolated relay with a 5V reed relay. This small relay draws about 15 mA so the Arduino can drive it directly. To be able to switch the high current of the spindle motor I connected a solid state relay to the reed relay. The solid state relay is powered by the 24V stepper motor supply which adds another layer of safety: The spindle will only start if told to by Grbl and only if 5V, 24V and 48V are present.
Unknown said…
I have an original Shapeoko with the original gShield. Does anyone anticipate any issue adding the Quiet Cut Spindle kit to my machine? I don't think so after reviewing the installation article but just wanted to be relatively sure before I order the kit.
Unknown said…
does the speed controller affect the torque of the spindle?

Popular posts from this blog

3D carving 101: Understanding Bits

Learn about Milling: The "Inside Corner" Problem