The open item "Idle before the kernel drains" asked to decide between holding Idle until the kernel drains and stopping the continuation pads growing the lag. Measured first: on the machine, four chained 50 mm jogs against cnc/state give 171, 175, 177 and 176 ms after Idle. One queue depth, flat. The growth the item described is gone, so neither driver change was made and the item is closed. Host side agrees and says where the mechanism lives. Stream bytes are the time axis, so a dumped stream's length is how long the machine plays it: chained jogs produce 35755 bytes each with no growth, and the churn session holds at 64790 bytes at a producer lead of 2 or 10 ms. Only above the lead ceiling does it inflate. Rule 17 now holds that stream to a budget derived from the job rather than to a recorded number, so the inflation regime cannot return unnoticed; it fails at 5899 and 8005 ms with the ceiling lifted and passes at 2301 against 3800. BRINGUP carried a second error. It said every forgectrl path that stops the controller after motion waits for cnc/state idle. super.c says outright that POST /controller/stop is not idle-gated, because it is also the emergency lever, and safes the machine with cnc/stop and the latch before the signal instead. The mode switch, the cooling gate and the daemon shutdown do gate on machine_is_idle(). Both the tail figure and the gating claim are corrected, and CAMPAIGN-LOG carries the measurements and the decision not to hold Idle. Acceptance: rule 17 is a host harness rule in the grblHAL repo's CI, not a catalog case. The catalog is unchanged because no machine behavior is: the driver change is a bound on an out-of-range knob.
OpenGlow/ForgeFIRM Firmware for Glowforge
⚠️ BETA
ForgeFIRM is in beta. Every release below 0.1.0 is a beta release. Expect problems, and expect frequent updates. Upgrade whenever a newer release is available, and report what you find on the community forum.
Open-source firmware for Glowforge brand CNC lasers. ForgeFIRM replaces the cloud-dependent factory software on the stock control board - no hardware modification - and gives the machine a local controller, a local web control panel, and a standard Grbl interface.
- Latest Release
- Installation Instructions
- Build Instructions
- Connecting LightBurn
- How motion and the laser are driven
- How cooling and airflow work
- The cameras and the video stream
- How the laser safing works
- How a release is tested before being accepted
- Community Support
What it does
Two controller modes, selected in the web panel and switchable while the machine is idle:
- GRBL mode: grblHAL runs on the machine and speaks Grbl 1.1 over TCP port 23, so LightBurn, UGS, cncjs, etc... drive the laser directly. Motion runs on the board's own hardware step engine (SDMA + EPIT), fed live by a local planner. M3/M4 dynamic laser power, coolant-flow verification, over-temp holds, and an operator button press to arm the laser for each job.
- Cloud mode: The machine signs in to the Glowforge web service with its own identity, names its software as ForgeFIRM, and uses the service the way a stock machine does, so the phone and web apps work as they always did. Optional, and off by default. GRBL mode jogs and cuts without it; the one GRBL-mode function that still reaches the Glowforge service is camera-referenced homing (below), until limit-switch homing lands.
- A web control panel: Machine status and position, coolant and fan telemetry, safety-switch states, live camera stream, machine settings, hardware diagnostics, firmware updates, and boot-slot management.
- Camera-referenced homing:
$Hfrom any sender runs the factory-style camera homing cycle through the Glowforge service (a Glowforge account and a live service session are required for$H; everything else in GRBL mode runs without them).
Hardware
The control board is common to Glowforge Basic, Plus, and Pro. The 5 MP (OV5648) camera modules are fully supported and hardware-validated. The 8 MP (OV8856) modules found in "HD" units have a complete capture path - the kernel patches, device tree and sensor-aware capture profile they need are all in the build, but it has never run on an 8 MP machine, so treat it as untested.
What this costs
ForgeFIRM is free in both senses: free as in beer, free as in speech. All of it is public and released under MIT and GPL licenses. Read it, build it, change it, use it, pass it on.
The work happens in public, including the parts that don't work yet, which are written up with more candor than flatters anyone. No paid tier. No license key, no subscription, no activation, no Pro edition, no feature parked behind a paywall. Nothing is held back for a rainy day, mostly because there's no plan for a rainy day.
If someone offers to sell you this firmware, the licenses allow it and nobody's calling it theft. Just note that you'd be paying for something that's given away. Get it from the source. Same price everywhere, and here you get to read what you're running.
Safety
These machines contain a CO₂ laser: it burns, blinds, and starts fires. Never defeat the lid switches or interlock. Never leave a running job unattended. Keep a fire extinguisher within reach. Read this before you cut your first job, and read this regulatory and legal section before installing. This page describes the hardware safety chain and the software gates ForgeFIRM stacks on it.
THIS IS EXPERIMENTAL SOFTWARE
Use of this software
could seriously maim or kill you or others, and could void your warranty.
Use it at your own risk.
This project is not affiliated with or endorsed by Glowforge.