COMPANION COMPUTERS
Integration guides for onboard computers. MAVLink routing, vision processing, and advanced scripting with Raspberry Pi, Jetson, and more.
Advanced Integration
Embedded MAVLink: Integrating with ESP32 & Arduino
For high-performance companion computers (like ESP32 or STM32), you cannot use Python (`pymavlink`). You must use the generated C/C++ headers. Thes...
Lua Scripting: The Onboard Companion
Historically, if you wanted custom logic (e.g., "If battery < 10% AND altitude > 50m, turn on LEDs"), you needed a Companion Computer (Raspberry Pi...
DroneCAN: The Modern Bus
I2C and UART are legacy protocols. They are point-to-point, prone to noise, and have no standard configuration interface. **DroneCAN** (formerly UA...
MSP & DJI OSD Integration
For years, the FPV world was divided: ArduPilot users used MAVLink, and Betaflight users used MSP (MultiWii Serial Protocol). With the rise of DJI ...
AP_Periph: Building Custom Nodes
**AP_Periph** is a stripped-down version of ArduPilot designed to run on peripheral microcontrollers (like STM32F3 or F4) instead of a Flight Contr...
Video & OSD Architecture
The On-Screen Display (OSD) overlays flight data onto the FPV video feed. ArduPilot supports both legacy Analog OSDs (MAX7456 chips) and modern Dig...
Companion Computer Failsafes
When a Companion Computer (Raspberry Pi/Jetson) takes control of a drone, it becomes a single point of failure. If your Python script crashes or th...