Checker · GRBL

GRBL $$ settings checker for laser engravers

Paste the reply to $$ and every line is explained in plain words. The settings that ruin laser jobs are flagged: laser mode ($32), the power scale ($30 against LightBurn), work area, steps/mm and speed limits. Below, your own speed and acceleration drive an animation of how M3 and M4 burn a corner.

1Paste your $$

Type $$ in the console of LightBurn, LaserGRBL or another sender and paste the whole reply here. Nothing is sent anywhere; the check runs in your browser.
Loaded: a made-up example with common mistakes. Paste your own to replace it.

2Compare with

Edit → Device Settings in LightBurn. Its default is 1000.
Check steps/mm (optional)
Belt: belt pitch × pulley teeth (a 2 mm GT2 belt on a 20-tooth pulley = 40 mm). Lead screw: its lead.
Laser mode ($32)
off
$32=0
LightBurn 100 % gives
100%
full power already at 25.5 %
Problems
3to fix
0 to check
90° corner speed
4.9mm/s
from $11 and $120/$121
$32=0: laser mode is off. GRBL stops at every power change, which LightBurn says leaves burn spots in images, and M4 does not scale power with speed. Send $32=1 (GRBL 1.1f or later).
$30=255 but LightBurn’s S-value max is 1000. GRBL clips any S above $30 to full power, so everything from about 25.5 % up in LightBurn burns at 100 %, and lower settings are 3.92× stronger than they look. Make the two numbers the same.
Soft limits ($20=1) without homing ($22=0). The Grbl wiki says soft limits need homing to know where the head is. Turn on homing or set $20=0.
SettingValueWhat it doesCheck
$010Step pulseLength of each step pulse sent to the stepper drivers.—
$1255Step idle delayHow long the motors stay powered after a move. 255 keeps them on.—
$20Step port invertInverts the step signal for the chosen axes.—
$30Direction port invertReverses the direction of the chosen axes, for an axis that moves the wrong way.—
$40Step enable invertInverts the motor-enable signal.—
$50Limit pins invertInverts the limit switch inputs.—
$60Probe pin invertInverts the probe input.—
$101Status reportWhat the position reports show (machine or work position, buffer data).— LightBurn’s GRBL guide says $10=0 is needed if you use a work offset or G92 instead of homing.
$110.010Junction deviationHow fast the planner lets the head go through corners. Smaller = slower corners.— A 90° corner is taken at about 4.9 mm/s with $120/$121 = 1,000 mm/s² (our estimate, on the low side: GRBL’s planner can allow a little more).
$120.002Arc toleranceHow finely arcs are split into short lines.—
$130Report inchesReports positions in inches instead of mm.—
$201Soft limitsStops a move that would go past the travel in $130–$132. Needs homing.✕ FixSoft limits ($20=1) without homing ($22=0). The Grbl wiki says soft limits need homing to know where the head is. Turn on homing or set $20=0.
$210Hard limitsStops everything when a limit switch is hit.—
$220Homing cycleTurns on homing ($H) to find a known position with the switches.—
$230Homing direction invertWhich way each axis looks for its switch.—
$2425.000Homing feedSlow speed for the final touch on the switches.—
$25500.000Homing seekFast speed while looking for the switches.—
$26250Homing debounceWait for a switch signal to settle.—
$271.000Homing pull-offDistance to back off the switches after homing.—
$30255Max spindle speed (laser full power)The S value that gives full output (5 V PWM). Higher S values are clipped to full power.✕ Fix$30=255 but LightBurn’s S-value max is 1000. GRBL clips any S above $30 to full power, so everything from about 25.5 % up in LightBurn burns at 100 %, and lower settings are 3.92× stronger than they look. Make the two numbers the same.
$310Min spindle speedThe S value mapped to the lowest output; S0 is still off.✓ OK
$320Laser modeKeeps moving through G1/G2/G3 moves when S changes, instead of stopping, and makes M4 scale power with speed. The laser is always off on G0 moves.✕ Fix$32=0: laser mode is off. GRBL stops at every power change, which LightBurn says leaves burn spots in images, and M4 does not scale power with speed. Send $32=1 (GRBL 1.1f or later).
$10080.000X steps/mmMotor steps per mm of X travel.— Enter the drive (steps, microsteps, mm per motor turn) to compare.
$10180.000Y steps/mmMotor steps per mm of Y travel.— Enter the drive (steps, microsteps, mm per motor turn) to compare.
$10280.000Z steps/mmMotor steps per mm of Z travel.—
$1106000.000X max rateFastest X speed, also used for G0 moves.✓ OK6,000 mm/min = 100 mm/s.
$1116000.000Y max rateFastest Y speed, also used for G0 moves.✓ OK6,000 mm/min = 100 mm/s.
$1121000.000Z max rateFastest Z speed.—
$1201000.000X accelerationHow quickly X speeds up and slows down.— At 6,000 mm/min the head needs 5 mm to get up to speed (and the same to stop).
$1211000.000Y accelerationHow quickly Y speeds up and slows down.— At 6,000 mm/min the head needs 5 mm to get up to speed (and the same to stop).
$122100.000Z accelerationHow quickly Z speeds up and slows down.—
$130420.000X max travelLength of X travel; used by soft limits.— Choose a machine or enter its work area to compare.
$131400.000Y max travelLength of Y travel; used by soft limits.— Choose a machine or enter its work area to compare.
$13250.000Z max travelLength of Z travel; used by soft limits.—

The formulas

Max power from LightBurn (when $30 > S-value max) = S-value max ÷ $30 × 100 %
Full power from LightBurn (when $30 < S-value max) is already reached at $30 ÷ S-value max × 100 %
steps/mm = motor steps per turn × microsteps ÷ mm per motor turn
Distance to reach speed v = v² ÷ (2 × acceleration)  ·  90° corner speed ≈ √(a × $11 × 0.707 ÷ 0.293)

The first two follow from how GRBL scales power: S between 0 and $30 maps to 0–100 % output, and the Grbl wiki says that a higher S simply gives the maximum. The steps/mm formula is the Grbl wiki’s. The ramp distance is plain physics with GRBL’s acceleration, and the corner speed is our estimate from Grbl’s junction-deviation idea ($11) for a 90° turn. It uses the lower of $120 and $121 as it is, so it is on the low side: GRBL’s planner can take a corner a little faster. The animation uses them too; it is sped up, and real lasers add their own lag.

The settings that matter for a laser

SettingWhat to check
$32 laser mode1 for a laser. 0 makes GRBL stop at each power change and turns off M4’s speed scaling. grblHAL uses 0, 1 and 2 (lathe).
$30 max SMust equal LightBurn’s S-value max. A mismatch either caps your power or makes full power arrive early.
$31 min SGrbl’s example has 0. Above 0, the low end of the power range moves and LightBurn’s percentages stop matching the output.
$110/$111 max rateThe fastest the axis will go, in mm/min. A LightBurn speed above it is never reached. LightBurn’s “GRBL low or no power output” page says to stay within these: with variable power (M4) the power follows the speed, so an unreachable speed also means less power.
$120/$121 accelerationSets how long the head takes to reach speed, and how much overscan an engraving needs (see the line interval calculator, which takes $120 too).
$130/$131 max travelUsed only by soft limits ($20=1), which also need homing ($22=1).
$100/$101 steps/mmA wrong value scales every size on that axis. Measure a long test cut before changing it.
$13 report inchesLightBurn’s GRBL guide uses 0 (mm).
$10 status reportLightBurn’s GRBL guide says $10=0 is needed if you use a work offset or G92 instead of homing.

M3, M4 and the dark corners

GRBL drives a laser through its spindle output. M3 holds the power you set whether the head is moving, slowing or stopped; the Grbl wiki suggests lead-in and lead-out moves to avoid scorching. M4 sets power “based on the current speed relative to the programmed rate”, so the energy per millimetre stays the same through a corner, and it turns the laser off when the head stops. Both only fire on G1, G2 and G3: in laser mode a G0 move turns the laser off. LightBurn’s GRBL device uses M4; its GRBL-M3 device is for GRBL 1.1e and older. To check the result on wood, run a small grid with our material test generator, which writes M4 G-code.

3018 and other CNC machines with a laser

Small GRBL CNC routers, such as 3018-type machines, can also carry a laser module. The checks above still apply, with one more: laser mode is for the laser only. The Grbl wiki warns to turn it off ($32=0) before going back to a milling spindle, because a spindle needs the pauses laser mode removes. Your steps/mm and max rates come from the machine’s lead screws or belts, so compare them with your own drive, not with a laser engraver’s.

Other firmware

  • grblHAL keeps the Grbl 1.1 numbers but adds many settings, which this page lists without checking. Its $32 is a mode number: 0 normal, 1 laser, 2 lathe.
  • FluidNC is configured mainly through its own configuration file. A LaserGRBL issue reports that its reply to $$ carries few or none of the numbered settings, so check laser mode and the power range in its configuration instead.

FAQ

What does $32 laser mode do in GRBL?
With $32=1, GRBL keeps moving through G1, G2 and G3 moves when the S value (power) changes, instead of stopping at every change, and M4 scales the power with the actual speed. With $32=0, it pauses at each power change, which LightBurn says leaves burn spots when engraving images. Turn it off again before running a milling spindle, as the Grbl wiki advises.
What should $30 be for LightBurn?
The same number as LightBurn’s S-value max (Edit → Device Settings). LightBurn’s default is 1000 and current GRBL also defaults to 1000; some machines ship with 255. Which one you use does not matter as long as the two match. If $30=1000 and LightBurn sends a maximum of 255, LightBurn notes you get roughly a quarter of the power.
Why does my laser burn darker in the corners?
The head has to slow down to turn a corner. With M3 (constant power) the power stays the same while the speed drops, so each millimetre at the corner gets more energy. M4 (dynamic power) lowers the power with the speed and keeps the energy per millimetre even; in LightBurn that is the default for the GRBL device, while the GRBL-M3 device uses M3. M4 needs $32=1 and GRBL 1.1f or later.
How do I change a GRBL setting?
Type the setting and its new value in the console of your sender, for example $32=1, and press Enter; GRBL replies ok. Send $$ again to confirm. Write down the old $$ first, so you can go back, and change one setting at a time.

Sources

Last checked 2026-11-01 · The checks follow the sources above; no machine was used to make this page. Work-area figures come from our machine table.