Skip to main content

USB Tether

Plug a USB-C data cable from the ground station to your Mac, Windows, or Android device. The SBC appears as a USB Ethernet adapter. No drivers to install on modern operating systems. Video latency drops to 40-70 ms because you skip the WiFi hop entirely.

How it works

The Pi 4B USB-C port supports USB 2.0 OTG device mode. The agent configures a libcomposite USB gadget at boot that presents two Ethernet functions:
  • CDC-NCM (standards-compliant, native on macOS Sonoma+, Windows 11, Linux, Android 11+)
  • RNDIS (Microsoft proprietary, fallback for Windows 10)
Your laptop picks whichever it supports. You get a new network interface with a static IP.
SettingValue
Ground station IP192.168.7.1
Laptop / phone IP192.168.7.2 (DHCP assigned)
Subnet192.168.7.0/24
mDNS hostnameground-station.local
ProtocolCDC-NCM + RNDIS composite

Platform support

macOS Sonoma and later. Plug the cable. System Settings shows a new “ADOS Ground Station” network interface. Open your browser and go to http://192.168.7.1:4000 or http://ground-station.local:4000. No driver install needed.macOS selects CDC-NCM automatically.

What you can reach over USB tether

All the same endpoints as WiFi, but at 192.168.7.1 instead of 192.168.4.1:
EndpointURL
Mission Controlhttp://192.168.7.1:4000
Setup webapphttp://ground-station.local/
WebRTC WHEPhttp://192.168.7.1:8889/ados/whep
MAVLink WebSocketws://192.168.7.1:8088/mavlink
Agent REST APIhttp://192.168.7.1:8080/api/v1/

Why USB tether

AdvantageDetails
Lower latency40-70 ms glass-to-glass vs 80-100 ms over WiFi
Zero spectrum contentionNo 2.4 GHz competition with the WiFi AP or nearby networks
Wired reliabilityNo packet loss from WiFi interference
ChargingAndroid phones charge while tethered
Sub-1 ms pingMeasured on Pi 4B to Mac mini M2

Throughput

MetricValue
USB 2.0 raw throughput~40 Mbps sustained
CDC-NCM overhead~5%
Video at 6 Mbps~12% of the link
MAVLink + RESTUnder 100 Kbps
More than enough for multiple video streams and telemetry. USB 3.0 is not needed at these rates.

Power and cables

Many cheap USB-C cables are power-only and do not carry data. If your laptop does not detect a new network interface after plugging in, try a different cable. Look for cables explicitly labeled “data” or “USB 2.0/3.0 data capable.”
The Pi 4B USB-C port is both data and power. A laptop that provides USB-C power may back-power the Pi, but some laptops only provide 500 mA. The Pi under WiFi AP and RTL8812EU load needs about 2 A. Brownouts cause instability. Recommended setup: Power the Pi from its own 5V/3A power supply. Use a separate data-capable USB-C cable for the tether. This separates power from data and avoids brownout issues.

Combining USB tether with WiFi AP

You can use both at the same time. One client connects over USB tether for the lowest latency pilot view. Other clients connect over WiFi AP to observe. The agent serves both subnets simultaneously. The two subnets do not bridge by default. A client on 192.168.7.x (USB) cannot see clients on 192.168.4.x (WiFi) unless you enable uplink sharing in the network config.

HTTPS caveat

Same as WiFi: if your browser loaded Mission Control from https://command.altnautica.com, it blocks http://192.168.7.1 connections. Use the local build at http://192.168.7.1:4000 or run Mission Control on your laptop at http://localhost:4000.

Troubleshooting

ProblemCauseFix
No new network interfacePower-only cableTry a data-capable USB-C cable
No new network interfaceUSB gadget service not runningSSH in and check systemctl status ados-usb-gadget
No new network interfacedwc2 not loadedCheck that dtoverlay=dwc2 is in /boot/firmware/config.txt
Windows yellow exclamationRNDIS driver not installedInstall the INF from the setup webapp help page
Intermittent disconnectsBrownout from laptop powerUse a separate 5V/3A PSU for the Pi

What is next