GalvOS

🎬 SIMULATOR
● OFFLINE DISARMED
🔆 | 🌡 --°C | --% | 📈 -- kpps | 🎬 -- fps |
-- BPM

Dashboard

Safety & Arm

DISARMED
E-Stop
Scan-Fail

System

--
--
--
--
--
--
--
-- / --
--
--

Telemetry

--
--
--
--
--
--

Master Dimmer now lives in the top bar ↑

CPU Load

Temperature History

Galvo Output Rate

Frame Composition

Buffer Fill

WiFi Signal (RSSI)

Zone Clipping

Presets

🎬 Simulator -- pts -- fps

Global Controls

0
128

Auto-Rotation

Kaleidoscope & Mirror

Only affects Radial Repeat mode -- checking either box switches Mode to Radial Repeat and turns Kaleidoscope on automatically.

Color

Points-Only Mode
12

Color Animations

Pick an animation type above.

BPM Clock

Manual

Countdown Timer

00:01:00

Parameter Modulators

Bindings

Sequencer

Stopped

Presets

Community Presets

Loading…

Preset Manager

GitHub Browser

Local Manager

Loading…

Storage Monitor

--

DMX Live

Text

Parameters

Laser Welding

6000 u/s
4000 u
6
260 ms

Welds the text's static outline — Animation and Speed above are ignored while active.

Paint by Finger

Mirror:

0/12 shapes · 0/1152 points

Insert Text

Laser Welding

6000 u/s
4000 u
6
260 ms

Segment Color Animation

Auto-Rotation

ILDA / SD

SD Card

--

Filename Size Date

Loading…

SVG Files (SD)

Filename Size Date

Loading…

ILDA Player

Nothing playing0 / 0

Show Playlist

Playlist entries are read from /playlist.json on the SD card.

ILDA Upload

Max 40 files on SD card.

SVG Import

No SVG loaded

Calibration

Galvo Calibration (live)

Parameters

Visibility Threshold (Base Value)

Color Channel Brightness Matching

CIE 1931 Gamma

Projection Zone

Disabled

Warp (Camera Closed-Loop Keystone)

Disabled

Drag a control point to bend that part of the projected image toward it — used to correct keystone/perspective distortion from an off-axis projector. 2x2 = plain 4-corner keystone; larger grids add interior correction.

Brightness Compensation

Disabled

Drag a cell up/down to compensate brightness across the image — corrects scan-speed/exposure falloff from projector throw distance/angle (darker cell = more attenuation). Same grid size as Warp, independent values.

ILDA Standard Test Pattern (ITC Rev.002 1995)

Use this pattern to tune servo gain/damping, DC offset and blanking on the galvo driver board.

Pattern Library

Loading…

Optimizer

Live Telemetry

--
--
--
--
--
--
Stage 1 Stage 1.5 Interior ×1.00 ZV Shaper

Measured on the last rendered frame — all optimize() calls of that frame combined. Truncated counts points the budget dropped before they reached the galvo; the ZV Shaper pill lights only when ringing compensation actually shaped a jump.

Settings

Corner Handling

Minimum exterior angle to treat a vertex as a corner and add dwell points; lower values catch gentler bends too.

Dwell points added at the softest qualifying corner.

Dwell points added at the sharpest corner (a full 180° reversal).

Interior Density

Interior point density — points added per 1000 DAC units of segment length.

Interior points reserved per segment before the blank-jump budget is computed.

Frame Budget

Only feeds the Smart Defaults calculation below — has no direct effect of its own.

Total point budget per frame; density scales down uniformly once this is exceeded.

Blank Jumps

Ceiling for distance-proportional blank-jump sample count.

Floor for blank-jump samples, plus the landing settle dwell.

Rate at which the blank-jump sample count scales with jump distance.

First fallback blank-sample count when a frame goes over budget, before the hard minimum above.

Resample

Replaces length-proportional density with constant point spacing along every edge.

Target spacing between resampled points, in DAC units. Only used while Resample is enabled.

Densifies resampling where the path bends (turn angle between edges) and thins it on straight runs — also brings continuous curve patterns into the optimizer. Requires Resample.

How strongly a bend shortens spacing. 0 = off (base spacing everywhere).

Densest allowed spacing at the sharpest bends (DAC units).

Sparsest allowed spacing on nearly-straight runs (DAC units).

Ringing Compensation

Zero-Vibration (ZV) input shaping on blank jumps — measure your galvo's resonance before enabling.

Galvo mechanical resonant frequency in Hz — must be measured on real hardware.

Galvo damping ratio ζ — must be measured on real hardware (typical 0.05–0.3).

Jitter

Perpendicular point displacement for a hand-drawn line texture instead of laser-perfect edges.

Maximum perpendicular jitter offset, in DAC units.

Scanner Protection

Subdivides any lit step exceeding Max Step so the galvo is never asked to jump further than it can follow in one tick.

Limits how quickly commanded velocity can change between ticks, to avoid exciting galvo resonance.

Jump Order

Nearest-neighbour blank-jump ordering across a call's segments (wireframes, text, paint) — shortens total jump distance instead of visiting them in input order. Closed shapes may rotate their start vertex; open segments may be traversed backwards.

Refines the nearest-neighbour tour with bounded 2-opt block reversals — removes crossings the greedy order leaves behind for a shorter total jump path. Requires Reorder Segments; only kicks in below the per-frame segment-count cap.

Profile Members

Loading…

Projection

Sample Rate

Two independent numbers. Rated Speed is the galvo's mechanical datasheet spec (ILDA points/s at the test angle) and is the reference point the optimizer's PPS scaling is calibrated against. Output Sample Rate is the DAC sample clock. Running the sample clock above the rated speed is normal oversampling — the mirror low-passes what it cannot follow.

--

Measures the highest sample rate this controller can clock out without ring-buffer overflow — it does not test the galvo. Needs a live load: start a pattern and raise the master dimmer first, or it will refuse.

Angular Configuration

Laser Module Power

-- / -- / --

Projection Geometry Calculator

--
--
--

Safety Assessment

--
--

Thermal

Temperature Readings

Sensor Names

Sensor Offsets (°C)

Fan Control

Auto (0%)
Auto (0%)

Thresholds (°C)

Log

Memory Viewer

Heap

--

PSRAM

--

Owners

Configuration

DMX and Art-Net

DMX BPM Source

Priority: DMX > Tap > Manual

Control Interfaces

Disabling a protocol stops it from acting on data (saves CPU); the listening socket stays open regardless.

WiFi Connection

--

NTP

Status: --

IP Configuration

Current DHCP IP: --

Safety Configuration

Reboots automatically if the network gateway stops responding to pings for 5 minutes (catches a wedged WiFi/network stack that heap/E-Stop checks don't see).

Backup & Restore

Access Credentials

••••••••
••••••••

OTA update: http://galvos/update (Basic Auth, user admin)

Debug

DAC Low-Level Commands

Hardware Test (direct galvo/laser)