How much current does 0-10V pin handle?


It looks like the 0-10V pin is high when the machine is working by default, so I’m thinking that I’ll use it to control the Router & Shop Vac by using a relay. But I don’t know if it can source enough current, or if I need to find something else on the PSU and use a transistor as well.

Any ideas?

40 mA Max

However, 0-10 volts is derived from the PWM pin so changes to the PWM pin affects the value on 0-10 volts as well.

1 Like

Thanks a lot for the quick response. Now I know what to expect. :slight_smile:

Turns out that the relay I have is a 5v one, and seems to be close to 40mA as it is. Stepping down to 5v will be inefficient and end up probably end up around 80mA.

I guess 40mA applies to the 0-5 PWM as well?
If so, I guess I need to modify the post-processor for it to do what I want (start / stop and leave it be in between), and it should work without having to draw additional current from the PSU.


You can use an IoT relay that people here use to get on/off control of their spindle using the PWM or 0-10 volt output directly. That relay is specifically designed for what you want to do.

be careful with your IoT AC current draw, you may need to use two of them

No G-code changes needed. You can use the standard post processor.

Take a look at the first part of this thread.

Oops forgot the link

Thank you @LarryM this was a helpful answer to me as well. Is the current limit the same on the PWM pin? This would explain why my relay module doesn’t seem to work when hooked up with the x-controller but does when I try and flip it with my bench power supply. It seems to use about 110ma.

Side question/confirmation: when using PWM (5vdc) to turn on a relay, what is the trick to make sure the duty cycle stays at 100% for the relay? I’ve heard it’s recommended to select “other” for your spindle, and set max rpm to 12,000. Do I then also need to ensure my spindle speed is always set to 12,000 in the gcode?

Yes. The I/O pins of the Atmega328P have a maximum current sink/source of 40 mA. There is also a device current limit that does not allow all the I/O pins to sink/source the full 40mA at the same time.

It depends on the version of grbl you want to use. If you use grbl 1.0c and above then there are parameters which allow you to select the RPM range. If you chose a range with a minimum rpm of 0 and a maximum rpm of 1, then any S word value of 1 or greater selects the 100 percent duty cycle. If you use a version of grbl that is less than 1.0c the maximum rpm is hard coded during the build process and many of the earlier versions were set at 12000.

newer versions using the range selected above:

M3 S1 equals spindle on
S0 or M5 equals spindle off


Sorry, I forgot to report back. It turned out that the 5v worked just fine for me without any hassle!

1 Like