A deep dive into every feature of the most complete GRBL laser controller for Mac
From a built-in shape and text editor with multi-selection, alignment, QR codes and a bed alignment grid to image engraving with 7 dithering algorithms, SVG vector cutting, multi-item layers, 18 material presets, and real-time overrides — Lùmen gives you full control over your laser engraver.
Before you fire the laser, Lùmen shows you exactly what will happen. The interactive 2D canvas displays your entire job with zoom and pan, the machine's real work area in millimeters, and the current laser position.
The Frame command traces the exact boundary of your job before engraving — so you can verify placement without burning anything. With the laser pointer active, the machine moves at low power (S10) to draw a visible outline on your material. With the pointer off, it traces the boundary with rapid moves.
Framing respects work area limits in Machine Home mode, preventing end-stop alarms.
Lùmen meets you where you are. A segmented control at the top of the sidebar switches the right pane between two layouts that drive the exact same engine — pick the depth you want. Your choice is remembered between sessions.
New to laser engraving, or just want to get a job out fast? Simple mode lays the workflow out as five numbered steps — Machine & material, Design & cut, Position, Frame, and Engrave. Each step shows whether it's done, current, or still to do, and the current one expands automatically — so you always know what to do next, without hunting through panels.
Flip to Advanced for the complete set of collapsible sections: machine status, real-time overrides, job controls, material presets, layers, machine settings, and jog. Everything is one click away, nothing is hidden.
Both modes share the same canvas, toolbar, connection bar, and status strip — switching is instant and your work never changes. Simple is the default, so first-timers get the guided path out of the box.
Lùmen is the first Mac laser controller you can drive with an AI assistant. It runs a local Model Context Protocol (MCP) server, so Claude — or any MCP-capable client — can read your project and build a design in plain language, right on the canvas.
Ask in natural language — “add a 60 mm circle with the text 2026 centered, then put a rectangular frame around everything” — and the shapes, text, and layout appear on the canvas as real, editable items. The assistant can add rectangles, ellipses, lines, polygons, and multi-line text, import an image to engrave or an SVG to cut, set a material preset, then duplicate, align, distribute, array into a grid, center, and fit the design to the work area.
A screenshot tool renders the work area — grid, origin, layers in engrave-blue and cut-red, and the laser head when connected — and hands it back to the assistant as an image. So the AI can look at the layout, check it against what you asked for, and adjust. A validate-design tool flags problems before you run the job: cut out of bounds, custom origin not set, or artwork outside the work area.
The AI's scope is strictly read and design. There is no tool that moves the head, homes the machine, sets the origin, frames, starts a job, or fires the laser. An assistant can compose artwork and inspect state; everything physical stays in your hands, behind the same buttons and the same 5-second countdown as always.
The server is off until you turn it on, listens only on your own Mac (127.0.0.1), and is a licensed feature. Setup is one click: open Settings → MCP, enable AI control, and install the bundled Claude Desktop extension — or point any MCP client at the bridge command shown there. Works with Claude Desktop and Claude Code today.
Lùmen isn't just a sender — it's also an editor. Draw rectangles, ellipses, lines, polylines, and multi-line text directly on the canvas, no Inkscape or Illustrator needed for simple jobs.
A floating toolbar on the canvas offers five tools:
After committing a shape, the tool auto-switches back to Select — you can immediately move it or tweak its parameters without an extra click.
Short of room on a small screen? The toolbar folds into a small knob that still shows the active tool, and you can drag it to whichever corner of the canvas is out of your way.
Selected shapes show 9 handles: 4 corners, 4 edge midpoints, and a green rotation handle above the top edge. Resize is anchor-locked: the opposite corner stays visually fixed even when the shape is rotated. The math projects the cursor through the shape's unrotated frame and recomputes the bounds so the visual anchor never drifts — exactly like in pro design tools.
Each object has its own aspect-ratio link beside its W / H fields: on by default for images and imported drawings, off for drawn shapes. Corner handles follow it; hold Shift to flip it for one drag.
Text resizes with its handles too: dragging a corner scales the font size, so the lettering never stretches and the size stays one number you can read and type.
On the Engrave layer every item has two intensity sliders: Fill and Stroke, from 0 to 100%. Intensity is also a multiplier on the layer's laser power: a rectangle with 50% fill burns at half the configured power for the Engrave layer.
Each layer has its own identifying color on the canvas: blue for Engrave (matching the rasterized toolpath), red for Cut (matching the imported SVG). The blue alpha tracks intensity: solid blue = full burn, transparent blue = reduced power. You can tell what does what at a glance.
On the Cut layer, shapes are always stroke-only (filling an area to cut it makes no sense) and per-item intensity is hidden: the layer's power / feed / passes govern every cut. Shapes added to Cut are automatically coerced to stroke-only, and you can still select them by clicking inside the outline — not just on the edge.
The X, Y, W, H, and ∠ fields in the layer panel accept exact numeric values in millimeters and degrees. Shapes can be rotated by an exact value (e.g. 45°), moved to precise coordinates, resized to exact millimeters — no dragging required. Every change reflects instantly on the canvas.
The engrave image can now be rotated too: a green rotation handle appears when the engrave layer is selected. The rotation is baked into the G-code the laser will execute — not just a visual effect.
The layer panel lists your objects in the order the machine runs them — engrave, then score, then cut — and every row carries its operation as a pill. For a drawn shape that pill is a menu: move a rectangle from Engrave to Cut or Score, and back. Sent to Cut, a filled shape is cut along its outline; brought back to Engrave, it is filled again with the same intensity — nothing you set is lost on the way. Right-click works too, for a whole selection at once.
Multi-line text works exactly as you'd expect: there's a multi-line editor in the panel, press Enter for a new line, the text is laid out with the font's natural leading via CoreText.
Drag a rectangle across empty canvas to select everything it touches, Shift- or ⌘-click to add or remove one object, ⌘A for all. A group moves together, resizes proportionally from its corners (so rotated objects and text never distort), and has its own X / Y / W / H fields. Every group action is a single ⌘Z.
Align left, centre, right, top, middle or bottom — to each other, or to the bed when you work in Machine Home. Distribute three or more objects with equal gaps, or line them up with an exact gap in millimetres: the way to lay out parts for cutting with a known clearance. Alignment is measured on what each object actually draws — its rotated outline, a font's real letter shapes — not on an invisible box, so things that look aligned are aligned.
⌘X ⌘C ⌘V ⌘D work on the canvas, and a copy pastes whole into another project: geometry, text, style, an image with its dithering settings. Each paste lands a step away from the last, so three pastes are three visible copies. Right-click an object for cut / copy / paste / duplicate / delete, select all, invert selection, operation, align and distribute.
Millimetre rulers along the top and left edge, with the selection marked on both, and Fit to Scene (⌘9) to bring the bed and everything on it into view — including an object you left off the bed.
Text items expose three pickers driven by every font installed on your Mac: Font (family), Width (Condensed / Compressed / Normal / Expanded …, shown only when the family has more than one), and Style (Regular / Bold / Italic / Bold Italic / …). Switch family and Lùmen preserves the current width + style if the new family supports them — e.g. going from Helvetica Condensed Bold Italic to Courier keeps Condensed Bold Italic when available, with graceful fallback otherwise.
Font size is a TextField + stepper combo: type an exact value in millimeters, or focus the stepper and use ↑ / ↓ to nudge by 1 mm.
Lùmen's v2 .gcode format includes a JSON block with every shape, geometry, style, and editable text. Reopen a project and find everything still editable — no flattening to curves or pixels. The file stays compatible with other senders that read only the plain G-code (it's saved as well, as a compatibility cache).
File › Bed Alignment Grid lays a millimetre grid over the whole bed, every line numbered with its coordinate, plus diagonals, a centre circle and a title with your machine's name. Score it once on a sheet you leave on the bed: from then on, a part placed on X 40, Y 60 of the sheet is exactly where a design at X 40, Y 60 on the canvas lands — no more framing back and forth. Spacing, numbers and centre marks are editable, and the grid is a normal object: move it, resize it, or engrave it instead of scoring it.
Lock an object (⇧⌘L) and the canvas lets clicks pass through it: it can't be moved, resized or deleted by accident until you unlock it. Mark it Reference only and it stays on screen, faded, but never burns — not in the job, the frame or the preview. Burn the bed grid once, then keep it as a locked reference under your layout.
Add a QR Code, Data Matrix, Aztec, PDF417, Code 128, Code 39, EAN-13 or UPC-A from the canvas toolbar and edit it in place. Codes are drawn as vector geometry, so they stay sharp at any size, engrave like any filled shape, and can be traced by a Score.
Lùmen converts your images to laser-ready G-code with three distinct processing modes, each suited to different materials and styles.
Converts your image to black-and-white dots using error-diffusion algorithms. This is the gold standard for engraving photographs on wood, producing fine detail with excellent contrast. Choose from 7 algorithms:
Maps continuous tones directly to laser power levels, producing smooth gradients. Best on materials that respond linearly to power changes, like anodized aluminum or slate.
Binary conversion: every pixel becomes either fully burned or untouched. Adjustable threshold (0–255) lets you control the cutoff point. Ideal for high-contrast logos, text, and line art.
The canvas draws the dithered image pixel for pixel, exactly as the laser will lay it down — so what you judge brightness and contrast on is what you'll get on the wood.
Both adjustable from −100 to +100 with instant preview. The interface shows your original image side by side with the processed result, so you can evaluate the output before generating G-code.
PNG, JPEG, BMP, and TIFF.
Load any SVG file for precise vector cutting. Lùmen's built-in SVG parser handles all standard elements and converts them to optimized G-code.
Curves are automatically converted to linear segments for G-code. The cut layer appears in red on the canvas, clearly separated from the blue engrave layer.
Combine engraving and cutting in a single job. Lùmen's two-layer system lets you engrave a design and cut its outline without repositioning your material — and each layer can hold any number of items: shapes, text, the imported image, the SVG.
No guesswork. Every parameter is adjustable via dedicated sliders, and the preview updates in real time as you make changes.
| Parameter | Range |
|---|---|
| Resolution | 1–20 lines/mm |
| Speed (Feed Rate) | 100 mm/min up to machine maximum |
| Power Max | 1–100% (auto-scaled to machine $30 value) |
| Power Min | 0–100% |
| Overscan | 0–20 mm |
| Brightness | −100 to +100 |
| Contrast | −100 to +100 |
| Threshold | 0–255 |
During a running job, you can adjust feed rate and laser power without pausing. Controls allow ±1% and ±10% adjustments, or a reset to 100%. Changes apply instantly through GRBL's real-time command protocol.
Ready-to-use presets for the most common laser engraving and cutting materials. Select a preset and all parameters — speed, power max, power min, resolution, and passes — are set automatically.
The presets were measured on a 3 W diode laser. Your machine preset tells Lùmen your laser's power, and every material is adapted to it before it is applied, so it puts down the same energy per millimetre: engraving and Score change the power first, then the speed; a cut keeps its power and changes the passes, then the speed. The picker shows the adapted numbers and says which laser they were measured on — an estimate, which the test grid below confirms on your material. A material you save remembers the laser you tuned it on.
Found the perfect settings for a material? Save them as a custom preset. Create, edit, rename, and delete your own presets — they persist across sessions and are always one click away in the dropdown menu.
The fastest way to find optimal settings for a new material. Lùmen generates a calibration grid where each cell is engraved at a different combination of speed and power, so you can visually identify the best parameters.
$30), and with your laser's power known the ranges move so every square gets the energy it would on a 3 W laser — instead of a grid charred black on a 20 W one.Run the test, pick the cell that looks best, and apply those parameters to your job.
Two modes for positioning your work, depending on your setup and workflow.
Uses the machine's limit switches to establish a repeatable zero position. Work area limits are enforced automatically — Lùmen prevents movements and G-code coordinates from exceeding the physical boundaries, avoiding hard-limit alarms.
Jog the laser to any position and press Set Zero Here. Custom origin is fully WYSIWYG: the canvas crosshair is your zero point, and whatever you place relative to it engraves and cuts exactly there — no anchor or alignment guesswork. Custom origin is even saved in the project and restored automatically when you reopen it.
8-direction jog pad with configurable step size in millimeters. The laser pointer toggles a low-power visible dot (about 1 % of full power) so you can see exactly where the focus point is without burning your material.
Some engravers are used from the side — an Artilume T1 faced from its arm, for one — and then ↑ moves the head sideways. Press ↻ beside the jog pad: each click turns the machine a quarter, the bed on the canvas turns with it and the arrows follow, so pressing ↑ again is the test. The engraving lands where the canvas shows it, and the orientation is remembered for each machine. A mirrored machine, which no turn can fix, has its own switch in Advanced › Machine. How to tell a turn from a mirror →
Lùmen implements the GRBL character-counting streaming protocol with precise 127-byte buffer tracking. Every command is tracked from send to acknowledgment, preventing buffer overflows and keeping raster motion smooth.
Connect over USB or, new in 2.0, over WiFi. Network-capable controllers — ESP32 / ESP3D-class boards such as the Algolaser Pixie — expose the same GRBL command stream over a raw TCP socket: pick WiFi, enter the machine's IP and port, and connect. Because only the transport changes, every feature works identically on either link.
Some long jobs over USB stall partway through when an acknowledgement is lost on the cable — common on no-flow-control USB-CDC links. Turn on Reliable and Lùmen sends one line at a time and safely recovers from a dropped ack, so the job runs to the end. Normal mode is a touch faster and best for photo engraving; you can switch any time, even mid-job.
If the machine goes silent mid-job with commands still pending, Lùmen surfaces a clear “Job stalled” warning, so you're never left guessing in front of a hung job. It's informational — it never blindly drains the buffer (which would overflow the controller); you decide whether to stop and resume.
Stopped mid-job? Resume from the exact G-code line where you left off with the Resume button. No need to start the entire job over.
The built-in console shows all serial communication in real time:
Type G-code commands manually, navigate command history with arrow keys, and export the full log as a text file for debugging or support.
Save your entire job — both layers, every shape and text item, all settings, positions, sizes, and rotations — into a single .gcode file in Lùmen's v2 native format.
Built-in presets for the most popular GRBL laser engravers, each listed once for every laser power it is sold with — SCULPFUN C1 Mini · 3 W and · 6 W, Artilume T1 · 3, 7 and 12 W. A preset sets the work area, the maximum speed and power values, and your laser's optical power: the one number the controller can't report, and the one the material presets are adapted to. The first time you open Lùmen, it asks which laser you have.
Don't see your machine? Create a custom preset with your work area, max values and laser power — the optical output, not the electrical rating: a “40 W” listing is often a 5.5 W laser. Custom presets are saved permanently and editable at any time. When you connect, Lùmen reads the bed size from the controller and tells you if it doesn't match the built-in machine you've selected.
A jet of air on the cutting point clears smoke and debris out of the beam's way — cleaner edges, less charring, a lens that stays clean. If your controller switches an air pump, Lùmen now switches it with the job.
Turn Air assist on once in Machine settings and every job sends the on-command before the first move and M9 at the end. No more typing M8 in the console before each cut — and no more compressor left running because you forgot the M9.
M8 is compiled into every stock GRBL build, but a board with no coolant support answers it with error:20 in the middle of a job. So air assist is off by default, and while it's off Lùmen emits exactly the G-code it always did. Firmware built for mist coolant can pick M7 / M9 instead.A rotary turns the Y axis from travel into rotation: instead of the head moving up the bed, the workpiece turns underneath it and the engraving wraps around a tumbler, a bottle, a pen or a rolling pin. On a GRBL machine that is a handful of controller settings — and those settings live in the controller's memory, where they outlive the app. That is the whole risk of a rotary, and what Lùmen is built around.
Lasers are powerful tools. Lùmen includes multiple safety layers to prevent accidents and protect your machine.
No credit card required. One-time purchase. No subscription.
Requires macOS 15.6 Sequoia or later. Universal binary (Apple Silicon & Intel).