Skip to main content

WiFi AP Mode

The ground station creates a WiFi hotspot on boot. Join it from your laptop or phone, open a browser, and you have video and telemetry. No software to install, no radio drivers, no internet required.

How it works

The onboard WiFi radio hosts the access point on 2.4 GHz. The dedicated video-link radio stays on the drone-facing receive job. These two radios do not interfere with each other.

Connecting from a laptop

1

Join the WiFi network

Look for ADOS-GS-XXXX in your WiFi list. The XXXX suffix is derived from the ground station’s device ID. The passphrase is generated for that unit on first boot. See The AP passphrase below for where to read it.
2

Open the browser

Navigate to http://192.168.4.1:4000 for Mission Control, or http://setup.ados.local/ for the setup webapp. If Mission Control is not installed on the ground node, the setup webapp is the default landing page.
3

Start flying

Video and telemetry appear automatically. If a gamepad is connected to your laptop, Mission Control picks it up via the Web Gamepad API. Press any button on the gamepad to register it.

Connecting from a phone

The flow is the same. Join the WiFi, open a browser (Chrome on Android, Safari on iOS), and navigate to http://192.168.4.1:4000 or http://setup.ados.local/. For Android users, the ADOS Android app provides a better experience with auto-discovery and native video decoding. See Android Client for details.
Android may show a “No internet” warning when you join the AP. This is expected. The ground station is a local network, not an internet gateway. Tap “Use without internet” or “Stay connected” to proceed.

Network details

Endpoints available over WiFi

Once connected to the AP, your browser can reach:

Multiple clients

Up to 3-4 devices can stream video simultaneously over the 2.4 GHz AP before throughput starts to degrade. Each client gets its own WebRTC session from MediaMTX. Telemetry over WebSocket is lightweight and supports many more clients. Only one client at a time has pilot-in-command authority (the ability to send stick inputs to the drone). The first client with an active gamepad claims PIC. Other clients can request it through Mission Control.

The AP passphrase

The access point is WPA2-PSK. There is no open mode and no passphrase printed in advance, because the agent generates one for that unit on first boot. Two units flashed from the same image get different passphrases. The generated value is 12 characters drawn from ABCDEFGHJKMNPQRSTUVWXYZ23456789. The alphabet leaves out 0, O, 1, I, and L so that a passphrase read off a small display and typed into a phone does not fail on a character you cannot tell apart. It is stored at /etc/ados/ap-passphrase, readable only by root.

Where to read it

The command is the one to reach for when something else has to consume the value. It resolves the file through the agent’s platform paths rather than hardcoding the Linux location, and it only reads: on a unit whose access point has never started it reports that there is no passphrase instead of generating one hostapd never loaded. The file is mode 0600, so run it as root. The passphrase is deliberately not returned by the REST API and is not shown in the browser dashboard. Those surfaces answer anything that can already reach the ground station, which is the population the access point exists to admit on purpose.

If a passphrase is set in config

network.hotspot.password takes precedence over the generated value. That is there so a fleet can deliberately run one shared credential, but it means every unit built from a config that carries the same value shares one passphrase. Check that key before you roll an image out to more than one box. To change the passphrase, use the ground-station network settings or PUT /api/v1/ground-station/network/ap. No ados command writes it; ados network ap-passphrase only reads.
A factory reset deletes /etc/ados/ap-passphrase and clears a configured passphrase, so the unit generates a fresh one on the next boot. Anyone who wrote down the old one loses access, which is the point.

WiFi AP configuration

You can change the AP settings from three places:
  • OLED menu: Navigate to Network > WiFi AP
  • Setup webapp: Open the Network page
  • Mission Control: Open the ground-station panel > Network tab
Configurable settings:
  • SSID name
  • Passphrase
  • Band (2.4 GHz only on Pi 4B, 2.4 or 5 GHz on boards with dual-band onboard radio)
  • Channel auto-selection or manual pick
  • Enable / disable toggle
If you disable the WiFi AP and have no other way to reach the ground station (no Ethernet, no USB tether), you will need to connect a monitor and keyboard to re-enable it. The OLED menu is the safest way to toggle the AP.

5 GHz AP on some boards

On production boards with dual-band onboard WiFi (separate from the RTL8812EU), you can run the AP on 5 GHz for higher throughput. This requires the WFB-ng radio to use a different 5 GHz channel. The agent handles channel deconfliction automatically. The Pi 4B onboard WiFi supports 5 GHz but the driver is less reliable in AP mode at 5 GHz. Stick to 2.4 GHz on the Pi 4B.

HTTPS and mixed content

If you load Mission Control from https://command.altnautica.com (the hosted version), your browser blocks HTTP connections to the local ground station. This is a browser security policy, not an ADOS limitation. Two workarounds:
  1. Use the local build. Open http://192.168.4.1:4000 instead. All traffic stays HTTP on the local network.
  2. Run Mission Control on your laptop. Clone the repo, run npm run dev, and open http://localhost:4000. Dev mode uses HTTP.
For field use, the local build on the ground station is the recommended approach. No internet, no HTTPS issues, lowest latency.

Power

WiFi AP mode is usually powered from a wall adapter on the bench or a USB-C power bank in the field. Avoid relying on laptop back-power when multiple WiFi clients are streaming video. Power and Runtime has field runtime estimates.

What is next