
Connection Methods
- USB (WebSerial)
- WebSocket
- Cloud Relay
The most common method. Plug your flight controller into your computer with a USB cable and connect directly in the browser.Requirements:
- Chrome 89+, Edge 89+, or another Chromium-based browser
- USB cable connected to the FC’s USB port
- Flight controller powered on
1
Click the Connect button
Find the connect button in the top navigation bar. It opens the connection dialog.
2
Select the Serial tab
The Serial tab shows WebSerial options. Click “Select Port” to open the browser’s port picker.
3
Choose your device
The browser lists available serial devices. Select your flight controller. Common names include “CP2102” or “STM32 Virtual COM Port”.
4
Set baud rate
The default baud rate is 115200, which works for most ArduPilot and PX4 boards. Betaflight boards typically use 115200 as well. Adjust if needed.
5
Click Connect
The GCS establishes a MAVLink or MSP connection. You will see telemetry data within a few seconds.
WebSerial is not available in Firefox or Safari. If you need cross-browser support, use the WebSocket method with a MAVLink router.
Connection Presets
Save frequently used connections as presets. The Connect dialog remembers your recent connections and lets you create named presets with pre-filled settings (URL, baud rate, options). Build presets are also available. These bundle a connection method with a specific board profile, making it easy to switch between different drones in your fleet.Auto-Detection
When you connect over serial, Mission Control auto-detects the firmware type:
The GCS automatically loads the correct protocol adapter, parameter set, and UI panels for the detected firmware.
Multi-Drone
You can connect to multiple drones simultaneously. Each drone gets its own entry in the fleet sidebar. Select a drone to view its telemetry, send commands, or configure its parameters. In demo mode, seven simulated drones appear in the fleet automatically. In real use, each additional connection requires its own serial port or WebSocket URL.Bluetooth
The Connect dialog also includes a Bluetooth tab. Bluetooth connections use the Web Bluetooth API available in Chromium browsers. This is useful for short-range connections to Bluetooth-enabled flight controllers or companion boards.Connection Quality
Once connected, the top bar shows connection health:- Link quality meter showing signal strength and packet loss
- Telemetry freshness indicator that marks data as stale after 10 seconds and offline after 30 seconds
- RSSI values from the radio link (if available)
Troubleshooting
No serial ports appear in the browser picker
No serial ports appear in the browser picker
Check that your USB cable supports data (not charge-only). Try a different USB port. On Linux, your user may need to be in the
dialout group: sudo usermod -aG dialout $USER and log out/in.Connected but no telemetry
Connected but no telemetry
Verify the baud rate matches your FC configuration. For ArduPilot, the default is 115200 on the USB port. Check that no other ground station application is holding the serial port (only one app can own a serial port at a time).
WebSocket connection refused
WebSocket connection refused
Confirm the target service is running and the URL is correct. For SITL, make sure the bridge is started (see SITL Testing). Firewalls may block WebSocket connections on non-standard ports.
Cloud mode not activating
Cloud mode not activating
Cloud mode auto-activates when the page is served over HTTPS. On plain HTTP (
http://localhost:4000 or http://<lan-ip>:4000), the GCS uses direct LAN connections instead, which is the right path for self-hosting against an agent on your own network. To exercise cloud mode locally, use a tunneling service or deploy to a domain with TLS.GCS reaches for the cloud instead of my LAN agent
GCS reaches for the cloud instead of my LAN agent
The browser blocks an HTTPS page from fetching a plain-HTTP agent (mixed content), so a GCS served over HTTPS cannot talk to a LAN agent directly and falls back to the cloud relay. For LAN self-hosting, serve the GCS over plain HTTP (
http://localhost:4000 or http://<lan-ip>:4000) and pair the agent by IP via the Add-a-Node card. No cloud account or HTTPS is needed.