What you need

  • A flight controller running PX4 or ArduPilot, for example a Pixhawk-class board.
  • A way for its MAVLink telemetry to reach the phone over Wi-Fi/UDP:
    • an ESP32 MAVLink Wi-Fi bridge, such as mLRS or DroneBridge;
    • an ExpressLRS TX backpack with MAVLink over Wi-Fi;
    • a companion computer running mavlink-router (a Raspberry Pi kit is described in Hardware Center).
  • Your normal RC link, which stays your primary control.

USB telemetry radios (SiK) cannot be plugged into the phone yet. Bridge them to Wi-Fi first.

Connect

  1. Real Flight → My Real Drone. Set Connection to PX4 / ArduPilot (MAVLink over Wi-Fi/UDP).
  2. The app listens on UDP port 14550 and answers whichever vehicle talks first. If your bridge waits for the ground station to speak first, also enter the vehicle address.
  3. Put the phone on the bridge's Wi-Fi network, then choose Connect.
  4. The console shows LINK OK once heartbeats arrive. Compare battery, GPS and attitude with QGroundControl or Mission Planner before trusting them.

To send commands, set up a secure link and complete the safety checklist.

Failsafes to set on the aircraft

Set these with QGroundControl or Mission Planner. Drone Horizon does not edit parameters.

Autopilot Setting Why
PX4 COM_OF_LOSS_T = 1 s Offboard setpoints stopping means a failsafe, quickly
PX4 COM_OBL_RC_ACT = Hold or Return What the aircraft does when Offboard is lost
PX4 RC override kept enabled Your sticks override app control
ArduPilot FS_GCS_ENABLE Ground-station loss triggers a failsafe

How app control works

  • PX4: before asking for Offboard, the app streams velocity setpoints for half a second at 20 Hz, as PX4 requires. A refused mode change stops the stream.
  • ArduPilot: the app uses Guided with the same body-frame velocity setpoints.

Releasing commands Hold (PX4) or Loiter (ArduPilot).

Practise without an aircraft: PX4 SITL

You can connect to a simulated PX4 running on your computer:

  1. On a PC, build and run PX4 SITL: make px4_sitl gz_x500.
  2. Put the phone and PC on the same Wi-Fi network. Forward SITL's MAVLink to the phone's IP on port 14550, or enter the PC as the vehicle address.
  3. Connect in Real Flight and run through the checklist and commands with nothing that can fall.

SITL reached over Wi-Fi is treated like a real aircraft. The app watches it, and commands still need a signed link. That makes SITL a good place to rehearse signing too.

Status

ArduPilot was tested against real ArduCopter firmware in simulation, with and without signing. PX4 behaviour was tested against a scripted stand-in that follows PX4's documented Offboard rules; real PX4 SITL is the next step. No physical aircraft has been flown with Drone Horizon yet.