MAVLINKHUD

The Backpack Architecture: Wi-Fi & ESP8285

Executive Summary

The "Backpack" is a secondary processor (ESP8285) inside your ELRS Transmitter module. It acts as a bridge between the ELRS radio link and the outside world (Wi-Fi/Bluetooth). For MAVLink HUD users, the Backpack is the critical link that turns your Radio Controller into a Flying Wi-Fi Hotspot for your tablet or phone.

Theory & Concepts

1. The Sidecar Design

The main ELRS chip (ESP32) is busy handling the high-speed LoRa timing (500Hz). It cannot handle Wi-Fi traffic simultaneously without jitter.

  • The Solution: A second chip (ESP8285) handles the "Slow" stuff (VRX control, Wi-Fi, Logging).
  • Inter-Chip Link: The main ESP32 talks to the Backpack ESP8285 via an internal UART (CRSF or ESP-NOW).

2. The Network Topology

When you enable "Backpack Wi-Fi":

  1. The Backpack creates an Access Point (ExpressLRS TX Backpack).
  2. IP Address: 10.0.0.1 (Gateway).
  3. It opens a UDP Server on Port 14550.
  4. Routing: Any byte received from the Air (Drone) is forwarded to UDP 14550. Any byte received from UDP 14550 is forwarded to the Air.

Architecture (The Engineer's View)

Your Android App connects to the Backpack, not the Drone.

  • Target IP: 10.0.0.1 (The Backpack).
  • Port: 14550 (MAVLink Standard).
  • Data Flow: App -> WiFi -> Backpack -> Internal UART -> ELRS TX -> LoRa -> ELRS RX -> Drone UART -> ArduPilot.

2. VRX Integration (Video)

The Backpack was originally designed to switch video channels.

  • Logic: When you change the VTX channel on your Radio Script, the Backpack sends a command (via ESP-NOW or Serial) to your Goggles (HDZero/Analog/Walksnail) to switch them to the same channel automatically.

Common Issues & Troubleshooting

  • "No Link" in HUD: Ensure you are connected to the Backpack Wi-Fi, not the TX Module Wi-Fi (they are different). The Backpack usually has "Backpack" in the SSID.
  • Lag: Wi-Fi is noisy. Ensure your phone is close to the radio. 5.8GHz video can interfere with 2.4GHz Wi-Fi; keep channels separated.

Source Code Reference