Device Settings
Connection, machine profile, GRBL settings, controller info, discovery, and profile management. The dialog where you set up your machine.
The Device Settings dialog (titled Devices in the app) is where you connect to your machine, manage machine profiles, view live GRBL settings, and inspect discovery candidates.
It is the most-used dialog when first setting up Beam Bench and rarely after.
When it opens
- Laser Control → Manage Machine Profiles...
- Also accessible from the device row in Laser Control.
Opens as a movable, resizable window with six tabs:
- Connection: port, baud, profile, connect / disconnect
- Machine: quick edit of the active profile's machine-level settings
- GRBL Settings: live
$values from the controller, with Apply-to-Profile - Controller Info: read-only controller identification
- Discovery: scan serial devices and inspect any TCP / USB candidates supplied to the backend
- Profiles: full machine profile editor
A footer Close button is always present.
Connection tab
The handshake controls. Most fields are disabled while connected.
| Field | Type | Notes |
|---|---|---|
| Port | Select | Lists available serial ports. Placeholder: No laser ports found or Select a port. |
| Refresh ports (↻) | Button | Rescans available ports. |
| Show all ports ([N] hidden) | Checkbox | Only appears when ports are being hidden by name filter. |
| Baud Rate | Select | 9600 / 19200 / 38400 / 57600 / 115200 / 230400. |
| Profile | Select | Pick which machine profile to use for this connection. |
| Connect / Disconnect | Button | Toggles based on state. Disabled if no port selected. |
The status indicator (colored dot + label) shows the current session state:
| Label | Color | Meaning |
|---|---|---|
| Disconnected | grey | Not connected. |
| Connecting... / Opening... / Waiting... / Validating... | yellow | Handshake in progress. |
| Ready | green | Connected and idle. |
| Running | cyan | Job running. |
| Paused | amber | Job paused. |
| ALARM | red | Machine in alarm state. |
| Error | red | Communication failure. |
Machine tab
Quick-edit fields for the active profile. Edits here mark the profile as dirty. Save before switching tabs or closing.
| Field | Type | Range |
|---|---|---|
| Bed Width (mm) | number | 1–2000 |
| Bed Height (mm) | number | 1–2000 |
| Max Speed (mm/min) | number | 100–50000, step 100 |
| Max Power (%) | number | 1–100 |
| Homing | toggle | |
| Origin | select | Bottom Left or Top Left |
| Job Checklist | toggle | |
| Frame Continuously | toggle | |
| Laser-On Framing | toggle | |
| Enable Fire button | toggle | Hidden by default. Enables the hold-to-fire test button in the Move panel. |
| Fire Power (%) | number | 0.1-100, visible when Enable Fire button is on. Default 1.0 means 1%. |
| Tab Pulse Width (ms) | number | 0–10000 |
| CNC Machine | toggle |
Camera Metadata section
- Selected Camera: text field for the active camera identifier.
- Calibration: shows Saved or None, with Clear when saved.
- Alignment: shows Saved or None, with Clear when saved.
Output Policy section
- Constant Power (M3): toggle
- Emit S on Every G1: toggle
- S-value Max: number, min 1
- Use G0 for Overscan: toggle
Calibration section
- Enable Dot Width Correction: toggle. When on, exposes Dot Width (mm) (0–1, step 0.01).
- Enable Scanning Offset: toggle. When on, exposes a Scanning Offset Table with rows of Speed (mm/min) and Offset (mm) plus an Add Entry button.
Footer button: Save.
If you switch tabs or close with unsaved changes, you get Save machine profile changes before closing? with Keep Editing / Discard / Save & Close.
GRBL Settings tab
Live view of the machine's $ settings.
- One row per setting, sorted by key (
$0,$1,$2, ...). - Click a value to inline-edit. OK to save, Cancel to revert. Validates numeric input.
A header panel explains: Apply live GRBL values to the active profile: $30 → S-value max, $110/$111 → max speed. The Apply to Active Profile button copies these into the active profile. Disabled when no active profile or no parseable values.
States: Loading GRBL settings... while fetching, an error in red on failure, No GRBL settings available if empty.
Controller Info tab
Read-only key-value pairs from the controller, sorted by key. Useful when you need to know exactly what firmware version you have.
Discovery tab
Auto-detect serial machines and inspect discovery candidates.
- Refresh: re-read current state.
- Scan: start a fresh discovery scan.
- Cancel: only visible while scanning.
A summary line shows Serial [N] · TCP [N] · USB [N]. In the normal desktop flow, Scan primarily checks serial ports. TCP and USB packet candidates are shown when supplied by integrations or backend calls.
Each discovered device card shows: name, controller family / model / transport, status text, an unsupported-reason note in yellow if applicable, confidence percentage, and two buttons:
- Bootstrap Profile: create a new machine profile from this device.
- Connect: connect using a default profile match.
Empty state: No discovery candidates yet. Click Scan to search for devices.
Profiles tab
Full profile editor. Two columns: profile list on the left, form on the right.
Left column
- Every profile by name. The active profile is marked (active).
- New button at the bottom.
Right column (when a profile is selected)
| Field | Type / Notes |
|---|---|
| Name | text |
| Width mm | number, 1–2000 |
| Height mm | number, 1–2000 |
| Max Speed | number, 100–50000, step 100 |
| Max Power % | number, 1–100 |
| Homing | toggle |
| Baud Rate | select 9600–230400 |
| Firmware | text |
| Origin | Bottom Left or Top Left |
| Enable Fire button | toggle |
| Fire Power (%) | number, visible when Enable Fire button is on |
| Notes | text |
A Machine Preset Panel (apply a known-good preset to the profile) appears below Notes.
Below that, the Camera Metadata, expanded Output Policy, and Calibration sections (same controls as Machine tab, with additional Output Policy fields):
- Air Command:
M7/M8/ Custom - Air On G-code: text
- Air Off G-code: text
- Air Delay (ms): number, min 0, step 50
- Job Header: text
- Job Footer: text
- Helper: Header/footer commands apply to the whole job. Use cut-entry air assist for per-layer control.
- Streaming: Buffered or Synchronous. When Synchronous, an amber warning appears: Synchronous streaming is much slower and intended for diagnostics.
Bottom-right action buttons:
- Save: commit edits.
- Delete (red), disabled if editing the active profile.
- Set Active (green), disabled if already active.
If you click a different profile (or New) while the current edit is dirty, you get Discard unsaved machine profile changes? with Keep Editing / Discard.
Behavior worth knowing
- Connection fields all disable when connected, disconnect before changing port, baud, or profile.
- Backdrop click is treated like Close. If dirty, you get the save-changes prompt.
- The Machine tab edits the active profile. To edit a different profile, switch in the Profiles tab.
- GRBL Settings edits go to the machine (persisted in EEPROM) on save. They are not stored in the profile until you click Apply to Active Profile.
Related
- Laser Control: host of the Manage Machine Profiles... button
- Console: for raw
$access - Connect your machine: first-time setup
- GRBL essentials: what these settings mean
- Connection problems: when something does not work
- Machine profiles: guide