External interfaces

So, the dust-collection system discussion got me thinking about how to automatically trigger a vacuum, which then lead to a more general question: what, if any, interfaces or program “hooks” exist in the Nomad GRBL or in CM? If one wanted to set up a vacuum relay to run whenever the spindle was running, or a buzzer/light whenever CM hit a tool-change request, or things like that?


Fancy CNC machines (e.g. CAMaster) can be ordered with additional relay/switch plugs that can be triggered via G code. The prolog and epilog of the G code in the job does the turning on and off.

It’s very common in CNC machine - not mills - to use the coolant on/off (M07/M08/M09) to trigger the dust collector/separator on and off.

If the community deems it worthwhile, we can ask Carbide3D to provide such an option/ability. This could as simple as an optically isolated relay that one can use to a full blown 10-15A 120VAC switched socket.

I can think of a neat way to adapt an existing Nomad (original or Pro) to have an external interface. The spindle on/off, which is under G code control, can have one of its wires “tapped” via a current sensing switch. An opto isolated relay and we can switch lots of current and voltage.

If there is interest, I can put this on my to-do list - I can use it too - and make it available. It’ll have to wait until my Nomad arrives and I finish a few projects first… :mask:


1 Like

I would definitely be interested in an external interface, to trigger a vacuum or coolant system. I haven’t opened my Nomad yet to check out the board. Is there documentation available for it?

@mbellon, if you’ve made progress on the tapping the spindle lines + current sensing + relay, let me know. I would be keen to try it or help advance this idea/feature.


There’s been some discussion of spindle and other controls for the Carbide Motion Machine Control Board over on the Shapeoko forums — links should be in the SO3 page on the wiki.

I just haven’t had the time. It id definitely doable to use a current sense to switch something on and off parasitically. I hope to get to it sometime early next year.


Anyone knows the details of the spindle brushless motor interface (top red rectangle), the 8 connections/lines? The spindle board says REV 3.3. Or better the 6 pins connector to the main board (lower red rectangle)?

I’m hoping to be able to monitor current on one of the line/cable (using TI’s ACS712), and with basic electronics or a micro controller turn on/off a 110V coolant solution (via a PowerSwitch Tail https://www.sparkfun.com/products/10747).

From my own research, I can share the information on the spindle motor interface (your upper outline). Note: I have added the black stripe on the yellow Hall sensor wire with a black marker for my own identification.


Great, thanks Randy!

I’m hoping to be able to monitor current on one of the line/cable (using TI’s ACS712),

When I mentioned a parasitic connection the ACS712 was, very much, what I had in mind. Tap one of the lines and whenever the spindle is one, an external circuit can be turned on. I was planning on opto-isolating it and using a soid state relay.


I finally completed my upgrade for a micro lubrification system. I’ll try to document it properly and share my Arduino code for it. Here is a quick photo of the setup, using the ACS712 and an Adafruit Metro Mini board. I’m using a few digital lines for a toggle switch, bicolour LED and a relay line (going to a PowerSwitchTail) for controlling the lubrication system.

The main objective was to turn on the lubrification system when the spindle turns. Overall, I was really impressed with the build quality of the Nomad. Very nicely and cleverly done, even on the inside :slight_smile:

1 Like