SKR Pro + Marlin 2.0.7.2 + NEJE/3 Wire Laser (Summary)

Have you found any solutions to run automatic air assist (m8) from the skr pro 1.2? I have not been able to find out if there is a pin available to connect a solenoid to. Lightburn has the option available. I just can’t find anywhere that describes how to attach it to the board.

On a really low level, I was thinking about hooking up to a fan port, and converting the M8 command to whatever is required in the gcode file.

Interested in a better approach though, so following

I use an IOT relay like this one. They tend to go in and out of stock at many places including Amazon, and when they are available, sell for about $30. I control it using a fan pin and use M106/M107 in the start and end gcode sections. When I use a router, the IOT relay turns on/off the spindle. When I use my laser, it turns the laser and the air assist on and off. I’ve seen other forum posts that use a 12V relay module or an SSR with the fan pin.

As an alternate to a fan pin and M106/M107, M42 can be used. It can set the state of any pin. Since most pins on the SKR Pro board are 3.3V or 5.0V, you would could use a 5V relay module.

As for M8, it is disabled in the V1 maintainted Marlin firmware. You would need to enable it in the following section in configuration.h by uncommenting “COLANT_CONTROL” and defining a COOLANT_MIST_PIN and/or a COOLANT_FLOOD_PIN.

/**
 * Coolant Control
 *
 * Add the M7, M8, and M9 commands to turn mist or flood coolant on and off.
 *
 * Note: COOLANT_MIST_PIN and/or COOLANT_FLOOD_PIN must also be defined.
 */
//#define COOLANT_CONTROL
#if ENABLED(COOLANT_CONTROL)
  #define COOLANT_MIST                // Enable if mist coolant is present
  #define COOLANT_FLOOD               // Enable if flood coolant is present
  #define COOLANT_MIST_INVERT  false  // Set "true" if the on/off function is reversed
  #define COOLANT_FLOOD_INVERT false  // Set "true" if the on/off function is reversed
#endif

I don’t have a SKR Pro board, but since the laser PWM pin V1 assigns is PC9 on Extension-1, I assume the other 11 named pins on Extension-1 are available. M8 is flood.

I didn’t use it yet but as @robertbu says you must define/enable it in your marlin’s Configuration_adv.h file, rebuild Marlin then reflash your board.

According to Marlin’s Gcode documentation, M8(air assist on) is carried by COOLANT_FLOOD_PIN(not the MIST one)

So when i’ll have time to upgrade to automatic air assist, i’ll use PF9(right next to PC9 i use for my laser) and GND to control :

  • a 3V-12VDC to 250VAC Solid State Relay with a soket for using it with my compressed air diaphragm pump(80L/sec with low psi) in a classical power ON/OFF mode.
    or/and
  • a 3V-12VDC to 12V-24VDC Solid State Relay with a 24V Air solenoid valve for using it with my air compressor(high psi) in a Air ON/OFF mode with compressor still ON.

See below the PF9 pin in red and GND in black.

I use Marlin 2.0.7.2 and in my configuration_adv.h i would have make that changes:

#define COOLANT_CONTROL
#define COOLANT_FLOOD_PIN PF9 // coolant flood / air assist
/**

  • Coolant Control
  • Add the M7, M8, and M9 commands to turn mist or flood coolant on and off.
  • Note: COOLANT_MIST_PIN and/or COOLANT_FLOOD_PIN must also be defined.
    */
1 Like

I’d love to see this work (and beg for your compiled firmware). Having automatic air assist would mean I can do etching and cutting in one gcode file and not have to essentially do a ‘tool change’ protocol to switch between the two (home to zero, hook up air assist, load cutting gcode)

Thanks for the thorough information. I am currently controlling it manually and just let the air run for the whole job (and often forget to stop it at the end). This looks very manageable and like a great solution. I’ll get some parts ordered and report back on how it is working.