Laser Control

Laser Control

The direct control surface for your laser — from connection to finished job.

Laser Control is Vextrify's full control surface for GRBL diode lasers and CO2/Ruida machines: connect, create and edit objects, align to the real workpiece with the camera, set per-layer parameters, run the job, and have everything saved durably. This reference describes every visible area and control using the same names you see in the app — from the toolbar to rotary engraving.

Connect & pick the machine
Desktop app

Connecting to the machine only happens in the desktop app. Which machine TYPE (GRBL diode, CO2/Ruida, Galvo, Demo) is addressed is set in the device profile, not here.

⚡ Connect · {Port}
One-click connect to the best detected laser port — the app suggests the most likely port automatically.
Disconnect
Ends the active connection to the machine.
Port selector · ▾ Choose another laser
Shows a list of plausible ports when several are possible. Non-laser ports are filtered out automatically.
⟳ Search for laser
Re-scans available ports, e.g. after plugging in a new device.
Auto-Connect
A recognised laser automatically opens its own tab and loads its saved profile when plugged in — shown as a "Laser detected" message.
Laser tabs & multiple machines

Today you manage several lasers as tabs — each with its own profile, calibration, and job, with per-laser locks so one tab never blocks another. There is one active machine connection at a time, though. Running multiple lasers firing simultaneously is on the roadmap, not shipped yet.

Laser tab
Switches the active machine profile. Double-click the tab to rename it.
× Close tab
Closes this laser's tab (the saved profile is kept).
+ Open/add laser
Opens a dropdown of saved lasers plus "New laser …", which launches the Add-Laser wizard.
Toolbar & menus
Undo
Reverts the last edit.
Redo
Restores an undone edit.
Zoom out / 100% / Zoom in
Controls the canvas zoom level.
Preview
Opens the preview/timeline with time estimate and mini-simulation.
File menu
Open (⌘O), Save (⌘S), Download project (.vextrify), Open project (.vextrify)."Export .rd file (USB)" only appears for Ruida devices.
Edit menu
Copy, Paste, Delete the current selection.
View menu
Hand/Pan, Wheel Zoom, Zoom to selection, Fit Output, Fit Bed, Reset view.
Device menu
Add laser, Search, Add manually, Import, Camera, Device Settings.
Overflow ⋯ → Customize toolbar
Three checkboxes show/hide groups: Device actions, File-edit, View-zoom.
Overflow ⋯ → Settings
Opens the Settings dialog.
Create objects & tool rail
Select
Selects and moves objects on the canvas.
Node
Edits individual anchor points of a vector path.Needs an editable vector path.
Line
Draws a straight line.
Rect
Draws a rectangle.
Ellipse
Draws an ellipse/circle.
Text
Inserts a text object.
Image
Opens a file picker to insert an image.
SVG
Opens a file picker to insert an SVG file.
QR/Barcode
Opens the QR/Barcode flyout: type (QR or Code39), content, size/height in mm, margin/quiet zone, insert button.
Measure
Measures distances and dimensions on the canvas.
Weld
Merges two or more selected paths into one.Needs at least 2 objects.
Subtract
Subtracts one path from another.
Intersect
Keeps only the overlapping area of the selection.
Split
Splits a combined path into its sub-paths.
Cut line
Creates a dividing line across the selection.
Array
Duplicates the selection in a grid or circular pattern.
Tabs
Adds holding tabs along a cut path.
Frame
Creates a frame around the selection.Needs a closed path.
Camera marker
Places a camera reference marker on the canvas.
Move to selection
not yet unlocked (controller-gated)The feature is built but currently locked.
Edit selection (context ribbon)

The context ribbon appears once an object is selected and is organised into tabs: Transform, Image, Text, Shape, Arrange.

Transform
X/Y position, width/height in mm, lock aspect ratio, rotate (degrees), flip horizontal/vertical, lock, group/ungroup, align.
Image
Dot pattern/dither, threshold, engraving speed, min/max power, DPI↔line interval, contrast, invert, air on/off, bind recipe.Handoff buttons: Edit opens Photo Studio, SVG opens the trace/vectorize tool, plus Outline and Crop/mask.
Text
Text content, font, import custom font, font size in mm, letter spacing, line height, alignment, text output (fill/line/both), outline width, on path, connecting bridge (joins letters for cut-outs).
Shape
Corner radius, convert to path.
Arrange
Offset outward/inward with distance, array (grid or circular), tabs (count + width), split angle (0/45/90°), duplicate (5×/10×/20×).
Object right-click menu
Photo Studio, AI Studio, Upscale, Remove background, Relief Studio, Create contour, Vectorize, Mask, Convert to path, Edit nodes, Duplicate, Lock, Delete.
Canvas & layers
Drag/resize/rotate handles
Move, scale, and rotate the selected object directly on the canvas.
Marquee select
Selects multiple objects by dragging a box.
Hand-pan
Pans the visible canvas area.
Wheel-zoom
Zooms the view via the mouse wheel.
Rulers/grid/center mark
Show measurement aids for orientation on the canvas.
Camera overlay
Overlays the live camera feed onto the canvas, warped to the material via homography.
Coordinates / units (mm or inch)
The coordinate display follows the machine origin; units are switchable.
Layer palette
Numbered colour layers (like LightBurn, 01–…) plus tool layers T1/T2. Click sets the active layer.
Bed footer metrics
Shows Job/Frame/Transfer/Estimate plus status tiles Origin/Camera/Output/Selection and an out-of-bounds warning.
Cuts / layer parameters

Right dock "Cuts" — a table with one row per layer.

Mode
Line, Fill, or Guide; image layers show the mode locked to "Image".
Speed (mm/s)
Sets how fast the head moves for this layer.No default value — the right value depends on material and is found by running a test.
Power
Sets the laser power for this layer.Ruida shows separate min + max, GRBL a single value. No default value — find it by testing.
Passes
Number of repeats (passes) for this layer.
Interval (mm) + computed DPI
Sets the line spacing in fill mode; DPI is computed automatically from it.
Out
Toggles whether this layer is output (run) at all.
Show
Toggles whether the layer is visible on the canvas.
Air
Toggles air assist for this layer.
Job control
Desktop app

All run controls here need a connected controller.

Send (GRBL)
Streams the prepared job directly to the machine.
Start (Ruida)
Runs the job live and immediately — engraves right away, nothing is stored.
Send to laser (Ruida)
Stores the job under a name (max 8 uppercase characters) in controller memory. The laser does not start — the operator starts it at the machine's panel.
Pause
Pauses the running job.
Resume
Continues a paused job.
Stop
Cancels the running job.
Live job status & progress bar
Shows whether a dry-run/preview is running or an actual engrave, including elapsed and remaining time.
Blocked reasons
Explains why nothing can start right now: not connected, no geometry on an output layer, the active device is not a GRBL profile, or an image sits on a non-output layer.
Job origin & homing
Desktop app

Laser dock — sets where the job starts on the machine.

Start from
Chooses the reference point for the job: Absolute coordinates, Current position, User origin, or Selection origin.
3×3 job-origin anchor grid
Selects the job's anchor point (top-left … bottom-right) relative to the reference point.
Selected graphics only
Limits the job to the currently selected objects instead of the entire canvas.
Start homing
Triggers homing via $H for GRBL.Self-homing controllers show a "Self-Home" note instead.
Move / Jog & align
Desktop app

Move dock — movement is always laser-off and needs a connection.

Jog step size (mm)
Sets how far a single jog step moves.
X±/Y± D-pad
Moves the head step-by-step in the chosen direction.
Frame
Runs the outline of the job without engraving.
Go Origin
Moves to the configured job origin.
Home
Moves the machine to its home position.
Snap
Grid snap on/off with adjustable spacing in mm; snapping to edges, centers, nodes, or the zero point.
Align
Aligns left/center X/right and top/center Y/bottom.Needs at least 2 selected objects.
Distribute X/Y
Distributes the selection evenly in X or Y.Needs at least 3 selected objects.
Camera & alignment
Desktop app

The native camera feed and calibration only run in the desktop app; the browser build degrades this functionality.

Show overlay
Toggles the camera overlay on the canvas.
Start camera / Stop
Starts or stops the live camera stream.
Digital zoom/pan
Zooms and pans the displayed camera image digitally.
Capture still
Freezes the current camera image as a still.
Camera selector + Search cameras
Selects a connected camera or scans for new ones.
Bind this / Unbind
Permanently associates a camera with this laser, or removes that binding.
Background opacity
Controls the transparency of the camera background image.
Calibrate lens
Starts the lens calibration wizard: print/save the ArUco calibration board, capture at least N of 9 positions (use the jog pad to move the head out of frame), then "Calculate" — shows the reprojection error.
Align artboard
Engraves a low-power marker pattern, captures a still, you click the 9 marks — solves the homography and shows "Alignment solved · error … mm".
Update / capture background image
Refreshes or captures the background image used for the overlay.
Export
Exports the current camera/background image.
Clear image
Removes the currently stored background image.
Material & recipes

Material dock.

Active recipe summary
Shows the currently assigned recipe, including a compatibility warning if it doesn't match the machine.
Assign
Assigns a saved recipe to the current layer/job.
Save
Saves the current parameters as a new recipe.
Material Test
Creates a real test object on the canvas to help find the right settings.No values are pre-filled — the result depends on the material.
Interval Test
Creates a real test object to determine the right line interval/DPI.
Import
Imports recipes from outside, including a conflict list for name clashes.
Photo Note
Attaches a production note with a photo to the recipe.
Preview / timeline & variable data

Queue dock.

Estimated total time + pure engrave time
Shows the calculated total job time and the share that is pure engraving time. This is an internal calculation/estimate, not artificial intelligence.
Mini-simulation play/pause
Plays a live simulation of the job's run order.
Speed 2×–32×
Controls the playback speed of the simulation.
Travel-move toggle
Shows or hides travel moves in the simulation.
Time-split bar
Visualises the time share of pure engraving, acceleration overhead, and travel moves.
Speed-vs-time "optimum" hint
Shows a calculated hint for where speed-versus-time is most favourable.
Per-layer job manifest
Lists the parameters for every layer in this job.
CSV / Variable / Expand / Proof
Variable-data tools: CSV import, variable fields, Expand to preview every variant, Proof to run a single variant.
Serial-number generator
Generates sequential serial numbers for variable jobs.
Date generator
Generates date values for variable jobs.
CSV column picker
Chooses which CSV column maps to which text field.
Device & safety (profiles)

Device dock.

Output release
The safety gate before real firing: a locked profile shows "⚠ Output locked — release"; after confirming, it shows "✓ Output released · laser can fire" with a "Lock" option.
Device editor
Device name, controller (GRBL / Ruida CO2 / Galvo / No Output), origin (front/back, left/right), width/height, camera, connection (Serial-USB/Ethernet/USB-Controller/File transfer/No output), homing (before each job/on connect/manual/not supported), power scale S-Max.
Machine limits · safety
Max mm/s, acceleration in mm/s², min/max %, scan offset in mm, "Hard-enforce limits".Ruida only: "Read from controller" — reads bed and limits directly, no motion involved.
Device list
Add, search, add manually, import, export, edit, set as default, remove.
Artboard from machine
Syncs the canvas with the machine dimensions and checks for mismatches.
Settings

Settings dialog, organised into tabs.

Editor
Switch to select after drawing, mouse-wheel zoom + direction, hand/pan behavior.
Units & grid
mm/inch selector, grid spacing, snap targets, nudge step sizes for arrow/shift/alt.
Display
Rulers, 10 mm grid, center mark, camera overlay on/off.
Import/export
Bed-change scaling: keep mm, fit selection, or fit job.DXF import and SVG DPI detection are still coming — not yet available.
Camera
Preview frame rate (fps), overlay tint (full colour/black and white).
Project & persistence
Download project (.vextrify)
Saves a portable, editable project file containing objects, layers, and layer parameters.
Open project (.vextrify)
Loads a previously exported .vextrify project.
Durable auto-save
Settings, device profiles, material recipes, lens calibration, camera binding, auto-connect ports, and rotary configuration are all saved durably and restored on launch — they survive reinstall and an OS reset.
Storage warning
Shows "Project too large for local storage — please export" when local storage overflows.
Rotary (cylindrical)
Desktop app

Hardware-gated — only visible/active with a connected rotary axis.

Enable
Turns on rotary mode for this job.
Connection
Chooses whether the rotary axis replaces the Y axis or runs as its own A axis.
Type
Chooses between a roller or chuck setup.
Object diameter
Enter the workpiece diameter; circumference is computed from it.
Mirror output (rotary)
Mirrors the output for the rotary setup.
Roller diameter
Enter the drive roller diameter.
mm per revolution
Calibration value for converting rotation to feed distance accurately.
Test · one revolution
Runs a single test revolution to check calibration.
GRBL diode vs CO2/Ruida
GRBLCO2 / Ruida
Send jobSend (streamed)Start (live) + Send to laser (storage)
.rd exportFile export (USB stick)
Power per layersingle valuemin + max
Homing$Hoften self-homes on power-up
Read controllerRead from controller (bed & limits)
Common mistakes & fixes
Machine is not detected.
Fix: Check the USB connection and drivers (CH340 or FTDI drivers are commonly needed). For Ruida machines, make sure no other software is currently holding the port — close it first.
Camera overlay doesn't match the real work area.
Fix: Redo the lens calibration, then run "Align artboard" again.
Job runs in the wrong place.
Fix: Check the controller origin and the "Start from" setting in the Laser dock — together they determine where the job begins.
Output stays locked / the laser won't fire.
Fix: Release output explicitly under "Output release" in the Device dock — this is the safety gate before real firing.
Engraving is too light or too dark.
Fix: There are no default values. Run a Material or Interval test in the Material dock and read the best result off the real workpiece.
Job controls are greyed out in the browser.
Fix: Job control, Move/Jog, homing, camera calibration, and Rotary are desktop-app only. Install the desktop app to use these areas.
Not obvious
  • Always run a Frame pass first — it takes seconds and prevents misplacement.
  • Lens calibration survives a reinstall; after moving the camera, only the artboard homography needs to be re-solved, not the lens parameters.
  • Each laser tab is independent: its own profile, calibration, and job — locks never apply across tabs.
  • On Ruida, "Start" runs the job live immediately, while "Send to laser" only stores it — the laser only fires once someone starts it at the panel.
  • The time-split view in the preview shows where you're losing time to travel moves versus engraving, so you can reorder objects to save time.
  • Export clean .rd, LightBurn, or EZCAD files when a job needs to run on a different machine.