A sweep of the whole catalog for the overlap the drill work found. The test
applied was "do these share a SETUP", not "do these share a subsystem":
combining only pays where a human waits - an arm press, scrap, a takeover,
a mode entry, a lid choreography - and it costs failure isolation, because
the campaign inherits per test and a merged test invalidates as a unit. The
17 auto tests were left alone for exactly that reason: they cost no operator
time and separate ids give the coverage map and the domain invalidation
finer teeth.
kernel.k3-unlock + kernel.fire-abu -> kernel.fire-line
Four phases behind ONE takeover of the pulse device instead of two:
A/B/U on the FIRE line, then the mid-ramp unlock. Same HV-not-good
gate, same zero duty, same safe state on the way out.
laser.expected-stop + laser.kill-mid-fire -> laser.armed-kill
Both ways an armed job is killed, on one scrap setup: the supervisor's
expected stop (with its separate operator-judged restart) and then a
SIGKILL of the restarted controller. The second phase re-reads the pid
after the restart, so it kills the process the supervisor just spawned.
laser.lid-cancel-mid-fire + laser.pause-resume-live -> laser.pause-resume-lid-cancel
One armed burn in the order the factory uses the machine's controls:
press (pause - emission stops, latch stays UNLOCKED, armed window
stays open), press (resume), lid (cancel, reset without alarm, return
to the job start, button latch SET). One arm press instead of two.
cloud.lid-abort + cloud.interlock-abort-park -> cloud.lid-interlock-abort
Two prints in one test: the lid, then the interlock with the lid opened
during the park. The tail both share - park complete, kernel counters
back at the job start, ':cancelled', latch locked, armed window closed -
is one helper now, so both triggers are judged the same way.
Not merged, though they share code: cloud.gfhome-homing and cloud.hunt-lid-open.
Both drive Machine._hunt (gfhome.py and gfcloud.py build the same gfhardware
machine, so the lid ungating is the same lines), but each is about the opposite
value of the same variable - gfhome's homing is camera-corrected and needs the
lid CLOSED in GRBL mode, the hunt test needs it OPEN through a cloud-mode
connect. Merging would put a mid-test mode switch back into the cloud tests.
Shared live-test prologue (the arm cue, the mark job, the wait for the emission
witness) and the post-kill trail/judging are helpers now.
Host proof: 104 unit tests - the merged cloud test replays the machine's own
lid-abort excerpt twice, once with the interlock substituted for the trigger,
and three negative cases hold it honest (loop already open, a park the lid can
interrupt, a stop that is not edge-driven) - and the coverage lint at 0
uncovered across 35 tests. Catalog time 137 -> 125 minutes, 96 of it attended.
OpenGlow/ForgeFIRM Firmware for Glowforge
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 the laser safing works
- How a release is 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, and cncjs drive the laser directly. Motion runs on the board's own hardware step engine (SDMA + EPIT), fed live by the 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 presents itself as a stock Glowforge to the Glowforge web service, 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.
Around both modes:
- A web control panel on port 8080: machine status and position, coolant and fan telemetry, safety-switch states, camera view, machine settings, hardware diagnostics, firmware updates, and boot-slot management.
- Unified logging: every ForgeFIRM component logs through syslog into its
own directory under
/data/log/forgefirm, with per-logger levels for the device and for an optional remote syslog server, a live viewer in the panel, and a one-click log bundle — sanitized of identifying details — for attaching to an issue report. - Both cameras as MJPEG streams and full-resolution snapshots — the lid camera feeds LightBurn's camera overlay directly.
- 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), and the machine records where it is. - Installs alongside the factory firmware in the unused A/B rootfs slot, archiving every factory version first, so the machine can be switched back to stock at any time without the Glowforge cloud.
Hardware
The control board is common to Glowforge Basic, Plus, and Pro. The 5 MP (OV5648) camera modules are fully supported; the 8 MP (OV8856) modules found in "HD" units bind but do not capture yet — see the camera note in kas/README.md.
Roadmap
- Limit-switch homing as an alternative to camera-referenced homing.
- Camera lens calibration and bed alignment for the LightBurn overlay.
- Capture support for the 8 MP (OV8856) camera modules.
- Cloud mode: stream jobs into the motion ring during the run, lifting the job-length cap that buffering the whole job imposes.
Safety
This machine contains a Class 4 CO₂ laser: it burns, blinds, and starts fires. Never defeat the lid switches or interlock, always vent the exhaust outdoors, and never cut PVC or other chlorinated plastics. Never leave a running job unattended — keep a fire extinguisher within reach. Read Before you cut — safety before your first job, and the Regulatory and legal section before installing. How the laser safing works describes the hardware safety chain and the software gates ForgeFIRM stacks on it.
A very important warning: this is experimental software. Use of this software could seriously maim or kill you or others, and voids your warranty. It is not affiliated with or endorsed by Glowforge. Use it at your own risk.