GRBL for laser process

How to Configure GRBL for Laser Engraver

If you bought or going to develop a laser engraver with Arduino boards and GRBL firmware, here is a small but important configuration that significantly affects your laser process results.

How to Configure GRBL for Laser Engraver 1

GRBL is an open-source firmware that runs on an Arduino for converting g-code commands to the motion control of CNC machines. The controller was primarily developed for CNC milling, controlling the spindle rpm, which is known as spindle mode. The laser process has almost the same control loop, except for the tweak of laser power. Therefore, laser mode has been introduced in GRBL v0.9 or higher. You need to correctly configure the GRBL settings when installing the firmware to your machines.


What is the difference between laser and spindle mode in GRBL?

The planner moves the laser point to your defined coordination and tuning the PWM power of your laser diode in both laser and spindle modes. So, what is the principle behind that makes them result differently?

The main difference between them is how the spindle/laser output is controlled with motions. In the spindle mode, every time a spindle state (such as M3, M4, or M5) or spindle speed (Sxxx) is altered, the controller temporarily stops the feed motion. This gives time to allow the spindle to speed up/down. However, if it is used to control a laser, the staying leads to scorching, uneven cutting depth, or bumpy engraving marks! The laser mode prevents unnecessary stops whenever possible and adds a new dynamic laser power mode that automatically scales power based on the programmed speed along the path. So, everything is nice and smooth with the laser mode in GRBL. The detail of GRBL V1.1 laser mode can be found from GRBL v1.1 Laser Mode · gnea/grbl Wiki.

GRBL spindle mode vs laser mode
Schematic diagram showing the motion difference between spindle and laser mode in GRBL

Enable laser mode in GRBL

Assuming you know about how to send a command to your machine with a GRBL sender, enabling/disabling the GRBL Laser Mode is super easy. You just need to change the value of the profile $32 in the GRBL setting.

  • To Enable:  Send GRBL a $32=1 command
  • To Disable: Send GRBL a $32=0 command

Upgrade to GRBL v1.1

There are two major reasons for the firmware upgrade. The first interest is to enable speed and power overrides in real-time during the laser process. The override function is a new feature of GRBL v1.1 while GRBL v0.9 does not.

The second important consideration is to enable the safety door setting for the emergency cutoff of laser power. The laser source does not power off while the step motors for the XY movement are de-energized in the HOLD mode of GRBL v0.9. A stationary laser point can cause serious safety issues, including laser and fire hazards. Upgrading to the latest firmware enhances the safety of the system.


How to compile the GRBL firmware with Arduino IDE

  1. Download and unzip the latest release from the GRBL GitHub repository.
  2. To check if the library has been installed, Open Arduino IDE,
    click Sketch > Include Library > Manage Libraries…
How to Configure GRBL for Laser Engraver 3
  1. Open examples > grblUpload > grblUpload.ino in Arduino IDE.
How to Configure GRBL for Laser Engraver 4
  1. Configure the board model, processor, and port number, and then press Upload to compile and burn the new firmware to an Arduino board.
How to Configure GRBL for Laser Engraver 5

Useful links


DIY 500mW Laser Diode Engraver
DIY 500mW Laser Diode Engraver
Last Update: May 15, 2019 Specification ModelCraftweeks LX-500-1Case Size (W x D x H)45 x 42 x 31 cmMax. Part Size (W x D x H)25 x 29 x 12 cmWork Area210 (X) x 210 (Y) mmDriveStep MotorsMax. SpeedMax. 4000 mm/minLaser Source405 nm blue-violet laser diodeMax. Power500 mWResolutionPractical = 0.1 mmTheoretical = …
GCC LaserPro Venus Laser System
GCC LaserPro Venus Laser System
Last Update: Dec 17, 2020 Specification ModelVenus V-12Laser Source12W Sealed CO2 LaserWork Area11.8 in. x8.3 in. (300mm x 210 mm)Max. Part Size (Wx L x H)14.2 in. x 11.8 in. x2.8 in. (360 mm x 300 mm x 70 mm)Loading Weight5 kgDriveClosed-loop DC ServoControlMaximum Speed*20 IPSCutting Thickness1/8 in. (3.175 mm) plastic and woodSpeed …

If you like this post, please share it with your Facebook and Twitter. You might also support me by donating via Ko-fi.

scroll to top