Safety door switch
An important safety aspect is to avoid opening the housing while the laser is in operation (see safety page as well). GRBL firmware already provides the possibility to add a safety door switch which causes the laser to stop when the door is opened. The following excerpt is taken from the firmware configuration file. By default, this setting is disabled, you need to enable it and compile the firmware by yourself. The safety door is using the same pin as the feed hold functionality, that is why you need to enable it explicitly.
// This option causes the feed hold input to act as a safety door switch. A safety door, when triggered, // immediately forces a feed hold and then safely de-energizes the machine. Resuming is blocked until // the safety door is re-engaged. When it is, Grbl will re-energize the machine and then resume on the // previous tool path, as if nothing happened. #define ENABLE_SAFETY_DOOR_INPUT_PIN // Default disabled. Uncomment to enable.
As input pin, the Arduino analog pin 1 is used. The following figure shows where to connect the switch. It is the second pin pair from the bottom of the pin header.
I recommend using some fully wired (including debouncing circuit) limit switches / end stop switches for this function, but this might differ in your case. I attached some photos of the cables I created and the mount of the switch at my housing.
If you set up the switch, and activated the function in the firmware, it is automatically active. You can only start a job if the door is closed. If you open the door while the laser is running, the operation is stopped. You get a message in the console window as well. After closing the door again, you can click on “Pause” and then “Resume” in LightBurn, and the Job continues at the same spot where it left off.
LightBurn does not fully support this functionality. During a job, data is sent to the laser without listening for messages from the controller. In case of the emergency stop, LightBurn does notice the stopped progress of the action, but does not know why it happened. Therefore, it does not go into paused state automatically. You need to manually click on “Pause” and “Resume” (after having closed the door), to continue with the job.