Before you get started, there are a few things you should know about your engraver and how to set it up to get the most out of your jobs.
The heart of a laser marker is hidden in its control board, on which there is a small chip on which runs a software capable of transforming the commands it receives from LaserGRBL (which in jargon are called g-code commands) into the right impulses to move the motors and to control the laser.
This software is called GRBL, and needs to be configured through special commands or through a convenient configuration window available on LaserGRBL.
Given its simplicity, LaserGRBL avoids as much as possible confusing you with so many configurations. However is still useful to properly set up some information that LaserGRBL can not know about your hardware.
LaserGRBL is designed to talk with control board based on Arduino Uno/Nano and GRBL firmware. This includes a lot of commercial and DIY laser engraver/cutter and CNC.
Marlin firmware support is in a very early stage. It is assumed that LaserGRBL is able to communicate with Marlin, but the gcode generated by LaserGRBL could be not 100% compatible.
Other firmware: engraver based on Ruida, Mach3, Benbox etc are not supported by LaserGRBL.
If your Laser does not support power modulation via ttl-pwm with S code, but only ON-OFF operation by M3-M5, please uncheck this flag.
All LaserGRBL feature that require power modulation will be hidden, and laser control will be done only via M3-M5 instead of S command.
Starting from GRBL v1.1 there is a new feature of GRBL called “Laser Mode”. If you have “Laser Mode” enabled in your arduino, all the G0 rapid movement will be executed with laser turned off.
If “Laser Mode” is enabled in your hardware please check this flag, so LaserGRBL will render G0 movement correctly, also with external generated gcode files.
LaserGRBL can connect via standard USB/Serial protocol but also via WebSocket or Telnet using a small WiFi module that act as bridge.
Read WiFi with ESP8266 for more information and instruction.
- Buffered [recommended]: implement the “character-counting” streaming mode, as documented in grbl reference. Buffered is more optimized since it send more than one command to grbl/arduino queue preventing dead times.
- Synchronous: implement the “simple-send-response” mode. Synchronous send one command, wait for the complete execution and response (either ok or error) then send the next command.
- RepeatOnError: is the same of Synchronous but add the feature to repeat command if grbl report error (max 3 times). Sometime could be useful with electrical noise on USB/serial line.
LaserGRBL claim to be faster than any others gcode streamer. Unfortunately not all hardware support all this speed. If you experience issues with your controller you can set slower modes.
- [Slow] StatusQuery = 2000, LongSleep = 15, ShortSleep = 4
- [Quiet] StatusQuery = 1000, LongSleep = 10, ShortSleep = 2
- [Fast] StatusQuery = 500, LongSleep = 5, ShortSleep = 1
- [UltraFast] StatusQuery = 200, LongSleep = 1, ShortSleep = 0
- [Insane] StatusQuery = 100, LongSleep = 0, ShortSleep = 0