Config web server

Edit configuration from a phone or laptop browser instead of hand-editing files in the headset. It's off by default and protected by a PIN.

Why it exists

Typing JSON inside a headset is painful. The web server exposes a small editor where you can change camera settings, MAVLink endpoints, targets, the map, display options, the HUD layout, and the menu layout — then save and have the app apply the change live without restarting.

Security The server is off every time the app launches and binds to localhost by default. The PIN is generated fresh each launch and never written to disk. Only enable network access when you need it, and treat the PIN like a password.

Turning it on

  1. Open the menu → Web Server.
  2. Bind: choose Network to reach it from another device on your Wi-Fi, or Localhost to keep it reachable only from the headset itself.
  3. Note the PIN shown on the PIN row (six digits, grouped as 482 917).
  4. Toggle Enable on.

Connecting

  1. Find your headset's IP address (Quick Settings → Wi-Fi → your network → details).
  2. On your phone/laptop browser, go to http://<headset-ip>:8080.
  3. The browser shows a login prompt. Leave the username blank (or type anything) and enter the PIN as the password.
  4. The config editor loads. The browser remembers the PIN for the session, so saves and reloads just work.
The web editor open in a mobile browser. Tabs across the top switch between configuration sections.
Localhost binding With Localhost selected, other devices cannot reach the server — only software running on the headset can. If your phone cannot connect, switch Bind to Network.

The PIN

After regenerating Any browser already logged in will start getting rejected and re-prompt for the new PIN on its next action. That is expected — it is how you lock out a session.

What you can edit

The editor has one tab per configuration area. See Config file reference for field details.

TabWhat it editsEditor style
CamerasAdd/remove cameras, set ports, poses, surface type, and lens calibration.Form
MAVLinkThe autopilot connection string.Form
TargetsDetection/geo feeds and runway overlay parameters.Form
MapTile URL, coverage, size, position.Form
DisplayRefresh rate, render scale, multisampling.Form
JoystickAxis and button mappings.Form
MenuThe in-headset menu layout.Raw JSON
HUDWhich HUD elements are shown, their positions and options.Raw JSON
ComponentsLive read-only view of discovered MAVLink components. No save.Live panel
LogLive system log with capture-level control and download. No save.Live panel

Saving & applying

Each editable tab has a Save & Apply button. Saving writes the file to the app's data directory and triggers a live reload — no restart needed. For the HUD, element positions and visibility update immediately. For the menu, the in-headset panel rebuilds itself.

Reloading without saving

The Reload button re-fetches the current config from the app. Use this to see what is actually running after an external change, or to discard unsaved edits in the textarea.

Reset to default

Each editable tab has a Reset to Default button (shown in red). This discards any saved changes and reverts the config to the version that shipped with the app. A confirmation prompt appears before anything is deleted.

How "default" works When you save a config, the app writes a copy to a writable data directory that shadows the bundled asset. Resetting deletes that copy so the app falls back to reading the bundled original. The bundled files are never modified.

The Components tab

The Components tab shows a live, read-only list of every MAVLink component the app has discovered on the link — autopilots, cameras, gimbal managers, companion computers, and more. Components are grouped by system ID. Each card shows the component class, live online/offline status, vendor and model (when available), and firmware version. See Component discovery for details.

The Log tab

The Log tab streams the app's internal log in real time:

The Log tab streams internal messages in real time. Useful for diagnosing connection or calibration problems without a USB cable.