Shapeoko Upgrade - Quiet Cut Spindle with TinyG

We have already seen in a previous post how to upgrade your Shapeoko with the Quiet Cut Spindle when using a gShield. Some people may be looking for the next step up from the gShield and Arduino combination. That my friends is the TinyG.

Wiring of TinyG CNC controller to speed controller and quiet cut spindle.

TinyG and the Shapeoko make a great couple. The TinyG is created by Synthetos that brought you the grblShield and the gShield.  Not only do you get all the great aspects of the gShield & Arduino combo such as free software to send the G-code, small and economical form factor and USB connectivity, but you get much more. Without getting into all the details, the main reason why you would want to control your Shapeoko with a TinyG are the following...
  • smoother motion control for better looking cuts
  • 4 stepper motor drivers (instead of 3 with gShield)
  • spindle control built in (on/off and RPM)
  • supports limit & homing switches
The TinyG + Shapeoko + Quiet Cut Spindle make it even that much better of a match. Being able to control the spindle on and off with software as well as the RPM gives you that much better control. The spindle is controlled from the TinyG but you still need the speed controller as well to interpret the PWM (Pulse Width Modulation) signals from the TinyG to send the correct RPM to the spindle.

Enough talk about why, lets get doing!

Hooking it up to work with the TinyG on the Shapeoko is a straight forward procedure that only requires a few more items, and most people should be able to perform the upgrade in a few hours.

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
Additional items:
  • 48VDC Power Supply (part# 30353-03)
  • power cord
  • Speed Controller - for machine control (start/stop only) and adjusting spindle RPM
  • 2 conductor 18-14 Ga wire to extend spindle motor wire
  • heat shrink tubing or crimp connectors for extending spindle motor wire
  • tgFX software, free
  • power strip, optional
Tools needed:
  • soldering iron & solder
  • wire stripper
  • wire cutter
  • screwdrivers
  • multimeter for testing, optional

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 speed controller 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 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. Wire a grounded power cord from Inventables. I stripped the wires to expose the ends and connected them to the power supply. They come with one end stripped as well to skip that step. 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 3) 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.

Step 5) Wire spindle to speed controller
Wire the spindle directly to the speed controller. Make sure to match the polarity. Red is positive, black is negative.

Step 6) Change jumper on speed controller and remove potentiometer
Because we are using the speed controller with software via PWM we need to change the jumper position to disable the potentiometer and enable PWM. Move the jumper closest to the PWM terminal to do this. Also remove the potentiometer as it will not be needed, but save it if you want to use it later on a different build.

Put jumper on side closest to PWM terminal. Remove potentiometer from speed controller.
Step 6) Wire TinyG to speed controller
Use two wires to connect the PWM controls to the speed controller. The terminal labeled PDM on the TinyG is the positive wire (shown in yellow below). The ground terminal is on the same terminal block.

Use the terminal block on the TinyG as shown above to hook up the PWM wires to the speed controller.
Step 7) Hook up 24VDC power to TinyG
Power the TinyG with 24VDC. Make sure polarity is correct. There is a terminal on the TinyG just for power.

Wire 24VDC to TinyG.

Step 6) Configure TinyG for Shapeoko with PWM spindle control
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. Plug the TinyG to your computer via USB and launch tgFX.

Connect to TinyG
  1. Click the Re-Scan button (upper right) to find what USB port is available
  2. Click Connect Button 
Confirm TinyG default settings
  1. Click on the Axis tab (upper left)
  2. Confirm default settings on Velocity Maximum (circled below in photo), it should read 600

Confirm settings of default TinyG settings. Velocity Maximum(circled above right), it should read 600.
Load ShapeOko settings in TinyG
  1. Click on Machine Settings tab (upper left)
  2. Highlight Shapeoko config (right column)
  3. Click Load button (bottom right)
  4. Wait for the settings to load and then power cycle the board (re-boot)
Follow steps above to load Shapeoko setting on TinyG controller. REBOOT after settings are applied.
Confirm TinyG Shapeoko settings
  1. Reconnect to TinyG
  2. Click on the Axis tab (upper left)
  3. Confirm default settings on Velocity Maximum (circled below in photo), it should read 1600
Confirm settings TinyG Shapeoko settings. Velocity Maximum (circled above right), it should read 1600.

Add PWM settings to TinyG
  1. Click the Gcode tab (upper left)
  2. Enter PWM settings line by line in command line prompt on bottom of screen
  3. Confirm settings after each line, they will be echoed above
Here are the PWM settings to apply listed below. Enter them one line at a time and hit return.
Select Gcode tab (upper left) then enter PWM settings line, by line and look for confirmation on screen.
Step 7) Confirm your settings
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. Type M03 (with a zero not an O) in the command line to turn on the spindle. M05 should stop the spindle. Type S2000 for a slow speed or S8000 for the maximum speed of the spindle.

Type directly in the command line to turn the spindle on and off M03 (on) and M05 (off). Type S2000 for a slow speed or S8000 for the maximum speed of 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 tgFX and preview before running your job.

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 TinyG for power and also another LED for Spindle. If you need more help you can send an email to


Unknown said…
I bought a 350W psu for the spindle after i was told that using it with the psu you dont need the spindle controller,so i was askin how do i connect without the spindle controller.My setup is 350W psu,tinyg and quite cut spindle
M4E said…
Very good tutorial that convinced me to buy a tinyG and the quiet spindle. However, I have a few questions:
1. How do you get Cut2d or Fusion 360 to interact with the tgFX software? Do you need a post processor file or something else? I have seen a post processor file for grbl gcode sender software but not for tinyG.
2. How do you install the limit switches with the tinyG?
3. Using the tgFX software how do you perform the hello world?
I am new to Shapeoko2, microcontrollers and the CAD/CAM software required. Keep this in mind when addressing my questions.
David Ditzler said…
To TerenceEB

If your 350W psu has a DC output of 48Volts then you can hook it directly to the spindle. It will only run at full speed and you will have to make sure the polarity is correct for the proper direction.
M4E said…
Several additional questions:
1. Is there an explanation as to how to hook up the stepper motors to the tinyG?
2. I see that you use a MacBook Pro for the tgFX software? Where do you get the Mac version of the software and/or are you using Parallels or Fusion to run the Windows version? Net, how do you do install it on the Mac?

Popular posts from this blog

3D carving 101: Understanding Bits

Learn about Milling: The "Inside Corner" Problem

Shapeoko Upgrade - Quiet Cut Spindle with gShield and Relay