I had the same issue with mine.
It was due to the rpm speed in easle being too high.
I find that if the spindle is cold I can run at 9500 - 10,000 rpm, if it’s warm then 9250 is about as far as it will go.
Basically with easle defaults mine will start, run for a moment then the spindle will stop. Simply lowering the rpm, fixes this issue.
Each time I start a new project I need to check the RPM in easle
Sounds to me like the PSU powering the spindle has overcurrent protection… The inrush current for the quietcut, and other similar DC spindles is quite significant, there’s an easy way to test this out. Simply turn the spindle on using M3 S100 if the spindle doesn’t spin, trie S1000 if it does spin, and doesn’t cut off, up that to 2000, and so on until you reach full speed. If you can maintain full speed by slowly ramping up the speed with this method, then the PWM controller is fine, and more than likely, it’s the PSU for the spindle is the culprit.
I ran into this issue, and as a result, rather than throwing more $$ at the machine, i simply created a macro to insert this ramping up of speed into my g-code editor, and place it before any M3 commands… The down side, is on drilling operations, where the spindle starts, and stops frequently, you may need to manually edit.
Another work around, is to set the MINIMUM_SPINDLE_PWM setting in grbl.
It’s also advisable to actually measure the spindle RPM’s at different settings, and adjust the SPINDLE_MAX_RPM and SPINDLE_MIN_RPM settings in grbl accordingly so that you’re actually getting the RPM’s requested.