Spindle will not turn off (Resolved)

I have been reading through the other troubleshooting tips and have t seen a solution for this.

I have my x-carve fully assembled and yesterday everything was perfect except for the limit switches. In the process of checking for continuity of the limit switch wires at the gshield connection, the spindle suddenly came on. Now it won’t go off. I have rebooted the PC, Power Supply, cycled the switch between On, Off, Logic, and even pressed the reset button on the gshield. The only way to turn off the spindle is to turn off the power supply.

I cold almost live with that until I get it figured out but it makes it very difficult to set the Z to zero!

After initial completion of the build, I used the machine setup feature in easel and the spindle control worked as it should. I tried it again today and it will not turn off the spindle either. After waiting all this time to get this marvel it just became very anti climatic.

what are you using to send Gcode to your x-carve? if you are using Universal Gcode Sender Passing “M5” in the commandline should stop the spindle

M5 sent through UGS. Spindle still running. I have disconnected all of the limit switch wires from the gshield and left only the yellow and black connected. This thing was working perfectly yesterday both with easel and USG. I’m at a loss.

hmmm. have you tried running the set up again in easel?

Stupid question Time. I dont have my machine yet but isnt there a maual switch on the PS for spindle power?

No question too stupid. Yes there is a three position switch on the power supply On/Off/Logic. I tried them all and yet the spindle is very happy to continue running. I did run the setup again in Easel with not luck.

Just ran the Easel setup again. X/Y/Z are all fine. Spindle control not so much. The option comes up to turn the spindle on. It’s already on but I click it anyway hoping it will reset. The Button changes from turn spindle on when clicked to Turn spindle off and then it changes itself back to Turn spindle on without any input from me. I ran it multiple times and tried to click it Off before it changed on it’s own but that didn’t work either. Please Help!!

The failure mode of the FET in the speed controller appears to be a short. if you put the spindle switch in the middle position (off) and your spindle keeps running then I would very much suspect the FET has failed and is shorted. You can easily verify this with a multimeter.

Lets step through this.
From my understanding a signal goes to the GRBL shield from the USB cable which tells it to turn on the spindle. This then triggers a signal to the power supply which in turn powers up the spindle.
It seems as though either the relay in the power supply is stuck so it is always powering up the spindle or the GRBL shield is always sending the signal.
I would disconnect all wires going to the shield power it on and see if it still spins. If it does then you know the power supply relay is sticking. If it doesn’t come on you know the problem is coming from the shield and you can start diagnosing from there.
Hope that helps.


This is not an accurate description of how this works.

It works like this:

You send an M code to the arduino through the USB port
M3 to turn on
M5 to run off
S for speed, example S1000

The arduino then generates a PWM Signal out one of the GPIO pins.
This PWM signal goes to the gate of a FET through a switch
The FET then sends power to the motor based on the duty cycle of the FET

If the switch is in the on position, it places a logic high on the gate of the FET turning on the motor at full speed.
If you put the switch in the off position, this puts a logic low on the gate of the FET turning off the motor.

If you put the switch in the off position and the motor still is running, you have 1 of 2 problems.

  1. Your FET has gone bad and shorted
  2. The ground wire on your motor is touching ground through some other means.
1 Like

Make sure that your spindle enable (D11) and z-limit (D12) wiring is updated with the new pin layout for Grbl v0.9. These two pins switched for allow for PWM output for spindle speed. From what I can tell, this is probably the problem you have.

Well, I have disconnected all of the wires that go to the gshiel except the X Y Z connections. Still the spindle runs when I turn on the power supply.

is the spindle switch in the off position?


then, like i said, you have a broken FET; you can replace it if you can solder, or have inventables send you a new speed controller

I actually have some N channel mosfets. IRLB2036pbf I think. I remember seeing the FET when assembling the unit but the one I have is considerably larger in physical size.



I would double check the BOM for the speed controller, but I think this is the one.

Also, you might need a scope to verify that the gpio pin on the arduino is still functioning. When mine broke, it also blew out the arduino :frowning:

So @JerryWoods you are saying it is the power supply interface? https://www.inventables.com/technologies/power-supply-interface-pcb


That “interface” is actually a PWM low side driver motor controller. If you look at the schematics of this board, you will quickly understand why it has to be a bad FET based on his description of the problem.


I’ve said this before; That motor driver really needs to be optically coupled :smile:

Ok, I removed everything from the power supply except the interface. The spindle still runs. No Arduino, No gshield. Only thing plugged in is the cooling fan and the spindle. Spindle still runs and won’t shut off.