How to wire 48v quiet spindle w/48v power supply & 24v power supply?

I have a 500mm X-Carve setup using a 24vdc power supply.
it’s working fine - limit (homing) switches and all.
the Quiet spindle is rated @ 48vdc. I’m concerned that I’m not getting the most power and maybe incorrect spindle speeds by having it hooked up to the 24v power supply. I DO have a 48v power supply (from inventables - identical to the 24v supply in every way but output voltage.
Is there a way to hook that 2nd power supply so that the 48v would go to the spindle motor and i’d still be able to use the logic control for speed?
I do not have the front end adapter for the 48v power supply.

thanks in advance,
Russ from Coral Springs, FL USA

The short answer:

Yes, there is a way to hook it up.
Yes, you are not getting the best performance running your 48 volt motor with 24 volts.

Spindle control is accomplished in the 24 volt system by the front end adapter, much like the gShield is the controller for the stepper motors.

I’m assuming that the 48 volt supply would need the same type of device to use programmatic spindle control. Depends on the design.

Use this to control the quiet cut;

Larry, I had some time to mull this situation over during the night, and I came to that same conclusion, that the front end adapter must use some sort of very fast switching/gate circuitry to covert the PWM signal coming from the Arduino (Pin11) that will allow 0-24vdc to be sent over the spindle power wires.
For the 48vdc power supply, there will have to be a similar circuitry. THAT circuit is what I’d like to be able to take a look at in order for me to find the right component that will handle 48v as opposed to 24v. What would be REALLY great is if the circuitry on the current Front End Adapter can already handle up to 48 volts!!! then all I would have to do is purchase one of those and move the wires for the Spindle Voltage & PWM to the 48v power supply.

Scott, Yes, I could go with external control, but Id much rather have Easel control the Spindle speed through software.

BUTT <-- the big butt…

This brings up a question I have, has anyone done some checking on how accurate the spindle speed control (through Easel) is compared to actual speed? (it would seem mine is off by some factor since i’m using the 24v power supply on the 48v (capable) spindle. When I tell Easel to go to 20k rpm, it just puts 100% on the PWM logic pin. Easel has no idea that 100% PWM will NOT put my 48v spindle @ 20k rpm.


Here’s a conversation I had with Bart Dring on this subject a while back. I didn’t make the mod since I am not confident in my skills with futzing with the grbl programming and fear I would screw it up rendering my machine non-functional. As it is, it’s working satisfactorily, I just turn it on and off manually and adjust the speed with the speed controler.

JkWestphalJul 18
HI Bart,

I recently purchased the 300w QC spindle, 48v power supply , speed control, and optical relay.

If I read your schematic correctly, can I use the no D11 pin to trigger the relay powering up the spindle?

In anything I have found on the forum regarding triggering seems to be pre arduino/gshield and indicates pin d12 which is now in use by the limit/homing switches.

I would really like to be able to control the spindle via software yet having manual speed control is attractive too.

Reply as linked Topic

BartDringInventablesJul 19
@JkWestphal Pin D11 (Port B.3) is used for spindle control in the configuration of grbl we ship. The pin is setup for PWM speed control. You should not drive a relay with PWM. If you set the speed higher than 12000 RPM (the max) the PWM is steady state and can drive a relay, but that is not a very robust way of doing it because it is prone to errors. You can recompile grbl to not use variable speed, but that requires some Ardunio programming skills.

D11 is also only a low power signal and cannot drive a relay directly. Use a relay circuit like this one.7

Reply as linked Topic

JkWestphalJul 19
Thanks for the reply Bart, I’ve been scratching my head for a while on ths.

That is the relay circuit that I purchased, (yay ,no shipping delay!) apologies offered that I wasn’t clear on this.

Again my question is where would I acquire the signal to trigger it? Based on your reply, just making connections and seeing what happens probably would not be the best approach stuck_out_tongue_winking_eye I would not do that anyway (See the part about shipping delays…)

Reply as linked Topic

BartDringInventablesJul 19
@JkWestphal You need to modify config.h to comment out (add // in front) this line,

#define VARIABLE_SPINDLE // Default enabled. Comment to disable.
This will also swap the Z limit and spindle pins due to some legacy grbl issues and what pins can do PWM. Spindle will now be on D12 and the Z limit on D11.

The issue of having to recompile for speed control comes up a lot lately with all the AC spindles in use. @SungeunJeon is seeing if there is a simple solution that will fit in the the code. Having a $ setting for max speed, where you can set max speed to 1 for on/off would be cool.

grbl has very little code space left so it will take some tricky code work to pull it off.


I have the feeling I ran across this dialogue in my searches over the past day or two.
Bart sounds like he knows of what he speaks, but it did not delve into the solution I’d be willing to try, which is to either:

  1. Replicate the Spindle circuitry on the Front End Adapter where I would create a small circuit board that will take the PWM signal from the UNO and use it as a gate to send 0-48VDC over the spindle power wires.
  2. Find out whether the Front End Adapter’s SPINDLE circuitry can handle not only 24VDC but 48VDC, also.

I’m pretty well versed with the Arduino, and I know how to build circuits. I’d be willing to give it a shot (be a “sacraficial lamb”) in order to get the best efficiency out of my current spindle.

just as an addendum to this, I’ve sent in a “ticket” to support to see if they could get me the schematic for this.


The edge (development) branch for Grbl v1.0 already has a max and min rpm $ setting installed. Mainly to address your problem and allow better PWM output control by users to line up actual RPM with the PWM output.

The edge branch is technically beta, but it’s been pretty stable so far in all sorts of testing. You can give it a try. To make the D11 PWM pin act like a simple on/off pin, you’ll need to set the max rpm $ setting to 0 or less than the min rpm $ setting.

I think I understand what you’re saying, That if I use the Beta v1.0, I can set the min & max rpm of my Spindle,
But my problem comes before that. the PWM logic signal goes to the power supply’s front end interface which, in turn, controls the amount of VDC to the Spindle wires. The Power Supply I’m using (currently) is 24vdc. when the PWM goes to 100%, I’m still only supplying, at most, 24vdc to my Spindle which is rated @ 48vdc. since the Spindle RPM is voltage controlled, it (theoretically) would only be running @ half speed (24v) when the PWM is telling to run full speed.


Maybe it would help to back up a little and address what PWM is. PWM is Pulse Width Modulation. What that means is that the control signal will determine (by pulse width) how long the power is on and how long the power is off. It doesn’t change the voltage it just changes how long it is on and how long it is off. With a pulse width of zero the power is always off, with a pulse width at maximum the power is always on. If you have a 50 percent duty cycle the power is on for half the period and off for half the period.

You have to consider speed and torque, but you are correct in that at 24 volts your 48 volt motor is performing at 50% of its capability.

Russ -

You can use the PWM output of the Arduino to control the PWM output of your 48 volt supply with a device like this:

You plug your 48v power supply to the power in lines. You connect your spindle wires to the output connectors. You connect the PWM signal from the Arduino to the signal in connectors and tie together the grounds from the Arduino and your power supplies. [EDIT] Sometimes you have to move a jumper to set it to be controlled by PWM. The other position allows you to control your spindle with a pot (variable resistor, volume knob type thing).

The width of the pulse generated by the Arduino will control the width of the 48 volt pulses to the spindle. PWM power are pulses of your full power supply, not decreased voltages. That’s why even at low RPMs with your current 24 supply, you will probably see 24V at the ouput with your multimeter (depending on your multimeter). If you AVERAGE the amount of time between 24 volt pulse on and 0 volts pulse off, that is the effective voltage the motor is seeing.

However, your RPMs in Easel will not have any relation to your actual RPMs (and they don’t with your current supply either). You would have to map this to each individual set up in the code. This is pretty misleading to most folks.

Earwigger, Scott Willis & well, everyone, but especially Scott, my ears are red.
my apologies to you, Scott, for not reading further on the link you sent.
Earwigger, when I saw the pic of the controller, I (incorrectly thought that this was another external speed controller, I was mistaken.
Basically, it will exactly do the job I need it to do, with the added advantage that if later on down the road, I go to a different setup, it has the capability to use the external Pot to control the speed.
So, the part’s been ordered. Moving forward… next projects are:

  1. Sound dampening case made from Acrylic, wood and sound-dampening materials (MLV - Mass Loaded Vinyl).?
  2. Spindle Speed Tach readout.
  3. Wasteboard on the existing wasteboard.
  4. (in the works) dust boot. (I’m also looking for a quiet vacuum. Oxymoron?)

Yah these work pretty well. I have one in my kid’s power wheels so he has variable speed control like “…a real car.” (using a potentiometer). He also has a reverse gear and we upped the voltage so he can pop a wheelie.

They are pretty handy and pretty cheap.

AND - here is a link describing a spindle tachometer I built:


No problem on the not reading further, done the same.
Typically only read the instructions as a last resort. :wink:

1 Like

Scott, I hear you - I’m the king of not reading through things and I wish I weren’t!! still, I tend to gloss over things and then shift my attention to what grabs my interest and many times I miss important (if not just educational things) in the 1st thing I was skimming. <-- if that makes any sense!!
Earwigger, on a related subject - I was “skimming” through your email about the tach you made… have you completed the install?
if so, how well is it working?
2 things:

  1. I did see the list of components, but I did not see the code you used. I do a lot of Arduino programming, but I’ve yet to get into using Interrupts in code…
  2. Do you need to put anything on the Spindle to help reflect back pulses from its rotation with the IR Sensor? To put it another way, what is the sensor sensing?


I should be here. Scroll down - Anyone know how to make a spindle speed display

Had to do four versions of the code before I could find a way to read above 24k RPMS. This seems to work. If you program Arduino you can certainly make this your own.

Earwigger - Got the INO code from you, and as you can probably see, I HAD already seen and commented your topic on this. I’ve just now ordered the IR pair that you used (and a few more different ones to test out).
thanks for this.
I was wondering what that purple thing was on the bottom of the boot, because (as usual), I hadn’t read all your comments, and it turns out that it’s a coupla LED’s. great addition. i’ll be getting my boot soon (it’s being created from someone who uses a 3D printer) & hope to incorporate both the Tach & LED’s onto it, as you have.


Yah, I use a Hitachi router which is bigger and has a larger range of RPMs than the Dewalt (and I’ve had it for 8 years). So, with all the Dewalts out there, I had LED envy. So I cannibalized a book light I got for $3.00 at the check out line at my true value. Originally I had a 20 ohm resistor on that line but, it was brighter with no resistor. I know, I know… always use a resistor with LEDs… but who cares? If it breaks, I know where to get another one.

Feel free to ask if you have any questions. And, once you clean up this code and make it even cooler post it so I can download it.

Very cool. there are high power LED’s you can get out there that may cost a bit more,
you may want to insert a small fuse in line with the power wire to the LED’s, this way, if the LED should fail with a short rather than creating an open, you won’t burn out the power supply.
i think having the light there is a great idea.
I’ll be into the code sometime today, and I’ll give you some feedback either way.


How is your Tach coming? I realized I already had one of these and in hingsight, should have used it instead of that giant box on my spindle. I built a space invader game for my kids with this that they quickly lost interest in:

This is TINY but it has a display and an Arduino built in:

IR’s are in the mail. I bought a few of them 'cause there’s a very good chance they’ll be useful in some other projects. I’ll keep you posted.