LaserCanvas

Connecting a laser: USB, WiFi and what firmware you have

Most hobby lasers run GRBL or a fork of it — FluidNC on ESP32 boards, grblHAL on faster ones, with Marlin and Smoothieware also in use. Connect over USB serial or, on WiFi-capable boards, a WebSocket. The controller announces which it is the moment you connect; read that message rather than guessing.

Updated 2026-09-16

Finding out what you have

When a controller connects it sends a welcome line. That line names the firmware, and everything else follows from it.

Welcome messageFirmwareNotes
Grbl 1.1f ['$' for help]GRBLThe classic Arduino-based controller
GrblHAL 1.1f ...grblHALGRBL-compatible, more axes and features
[MSG:INFO: FluidNC v3.x]FluidNCESP32; WiFi and a web UI. YAML config rather than $ numbers
Grbl 3.7 [FluidNC v3.7.11 (wifi)]FluidNCAnnounces itself as Grbl for compatibility — it is not
Marlin 2.xMarlinFrom 3D printing; laser support varies by build
SmoothieSmoothiewareLPC1768 boards such as Smoothieboard and Cohesion3D

USB or WiFi

Browser-based software reaches USB through the Web Serial API, which is available in Chrome and Edge but not Firefox or Safari. It requires the page to be served over HTTPS and needs you to pick the port explicitly — the browser will not open a serial device without a click.

The states a machine reports

Once connected, the controller answers a status query several times a second. The state it reports is the fastest way to understand what it is doing.

StateMeans
IdleReady
RunExecuting a job
Hold:0 / Hold:1Paused — 1 while still decelerating, 0 once stopped
JogExecuting a jog move
HomeRunning a homing cycle
AlarmLocked out; movement refused until cleared
Door:0–Door:3A safety door or interlock is open
CheckRunning the file without firing the laser

A board with homing enabled starts in Alarm deliberately, because it does not know where the head is. Home it with $H, or clear the alarm with $X if you accept the position as it stands.

When a connection drops mid-job

  1. Stop before you investigate. A half-streamed job may leave the laser on. Power down the tube or module if you are unsure.
  2. USB: check the cable first, then USB power management. A port that sleeps mid-job disconnects the machine. Disable selective suspend for that port.
  3. WiFi: check signal at the machine, not at the desk — a metal enclosure is a good Faraday cage. Consider a fixed IP so the board does not change address mid-session.
  4. Ground loops are a real cause of USB drop-outs on machines with poor earthing. A USB isolator is cheap and often fixes it outright.
  5. Restart the job from the beginning unless the software can genuinely resume. Restarting mid-file without knowing the machine’s exact state cuts in the wrong place.

Common questions

Which browsers can talk to a laser cutter?

Chrome and Edge, via the Web Serial API, plus any browser for WiFi-connected controllers that speak WebSocket. Firefox and Safari do not implement Web Serial, so USB connections are not available in them. The page must be served over HTTPS, and you have to pick the port from a browser prompt.

Why does my machine start in Alarm?

Because homing is enabled and it does not yet know where the head is. That is deliberate — it refuses to move rather than move somewhere wrong. Run a homing cycle with $H, or clear the alarm with $X if the current position is acceptable and you would rather not home.

Is my FluidNC board just GRBL?

No, although it announces itself with a Grbl prefix so GRBL software will work with it. FluidNC runs on ESP32, is configured with a YAML file rather than numbered $ settings, and adds WiFi and a web interface. Software that checks for "Grbl" first will misidentify it and hide those features.

What causes USB disconnects during a job?

Most often USB power management putting the port to sleep, a marginal cable, or a ground loop between the machine and the computer. Disable selective suspend for the port, try a shorter shielded cable, and if the problem persists a USB isolator often resolves it outright.

Written by a human with AI assistance and reviewed before publication. Mistakes are still possible — treat settings as starting points and test on scrap.