Setup Webapp
When the agent runs a WiFi hotspot (either in ground station mode or withnetwork.hotspot.enabled: true), it serves a setup webapp on the hotspot’s gateway address. Connect to the hotspot, open a browser, and the captive portal guides you through configuration.

How to access it
Connect to the hotspot
On your phone or laptop, connect to the WiFi network named
ADOS-{device-id} (e.g., ADOS-a1b2c3d4). The default password is ados1234 unless you changed it in config.Captive portal opens automatically
Most devices (Android, iOS, macOS, Windows) detect the captive portal and open a browser window automatically. If it does not open, navigate to
http://192.168.4.1 manually.Captive portal detection
The agent runs a DNS responder (ados-setup-captive service) that intercepts the standard captive portal probe URLs:
| OS | Probe URL |
|---|---|
| Android | connectivitycheck.gstatic.com/generate_204 |
| iOS/macOS | captive.apple.com/hotspot-detect.html |
| Windows | www.msftconnecttest.com/connecttest.txt |
Webapp features
The setup webapp is built with vanilla HTML, CSS, and JavaScript. No framework, no build step. Total size is roughly 50 KB gzipped. It runs entirely on the agent’s built-in web server.WiFi setup
Scan for nearby WiFi networks and join one. This is how you give the drone (or ground station) internet access for cloud features.- Scans available networks using
nmcliorwpa_cli - Shows signal strength and security type
- Stores credentials so the network is joined automatically on next boot
- Supports WPA2 and WPA3 networks
Pairing
Displays the 6-character pairing code prominently. If you are setting up a ground station, you can pair it to a specific drone from this screen.Network status
Shows current network interfaces and their state:- WiFi hotspot (always on in ground station mode)
- WiFi client connection
- Ethernet
- Cellular modem
- USB tether
Device info
Basic information about the agent: device ID, board name, agent version, IP addresses.Ground station specific pages
When running in ground-station profile, the webapp includes additional pages under thestatic-ground/ directory:
- WFB-ng status: Link quality, RSSI, channel, FEC stats
- Uplink configuration: Internet sharing toggle, data cap settings
- OLED/button config: Screen order, button mapping
- Drone pairing: Pair with a specific air unit for coordinated operation
Hotspot configuration
The hotspot settings are in config:{device_id} placeholder in the SSID is replaced with the first 8 characters of the device ID, making each hotspot name unique.
Technical details
The webapp is served by the agent’s FastAPI server. Static files live at:src/ados/webapp/static/for the base setup pagessrc/ados/webapp/static-ground/for ground-station-specific pages
ados-setup-captive) to handle DNS queries before the main web server is ready. It binds to port 53 on the hotspot interface.
The DHCP server (ados-dnsmasq-gs) assigns IP addresses in the 192.168.4.0/24 range with the agent at 192.168.4.1.