The input connection

Fly your way.

Four commands. Familiar hands. A deliberate setup.

Start with touch on Android, or configure compatible physical input. A controller name alone is not a compatibility guarantee.

Drone Horizon on-screen flight controls
Actual gameplay · Touch controls

Choose the connection

Understand the input.
Then trust the response.

Gamepad or HID radio

Detection, channel mapping and the platform all matter. Inspect every input before flying.

Follow the setup steps

DJI and specialist devices

USB is a connection, not proof of joystick output. Named hardware validation remains pending.

Read the validation method

Controller field guides

Set up once.
Know what to check.

Explore the Universal Controller update, including mapping, mode-aware throttle and explicit activation. Google Play publication of this update is not yet confirmed.

RadioMaster & wireless

USB joystick, Bluetooth HID and compatible ExpressLRS Wi-Fi setups, with device and firmware requirements.

Choose your connection

Calibrate for your flight mode

Measure travel, remove drift and distinguish manual collective from assisted and 3D throttle.

Calibrate your sticks

Profiles, diagnostics & reconnects

Keep a saved baseline, inspect live input and resume deliberately after a disconnect.

Save and resume safely

Compatibility.
With the details.

Evidence reviewed 4 October 2026. Tested means a named device, connection and platform passed acceptance testing. Experimental means implemented with incomplete hardware validation. Planned means validation or implementation is still pending.

Controller compatibility record · current build hardware validation
ControllerConnectionPlatformStatus
Xbox-style standard gamepadUSB / BluetoothLinuxExperimentalHistorical Linux Bluetooth input test; current build hardware retest pending.
Standard PC / Android gamepadsUSB / BluetoothWindows / AndroidExperimentalOS gamepad input implemented; each model and transport needs validation.
Generic HID gamepads & FPV radiosUSB joystick / Bluetooth HIDLinux / Windows / AndroidExperimentalRequires joystick axes exposed by the OS. Manual mapping available.
RadioMaster / EdgeTX joystick radiosUSB HIDAndroid / OS-exposed joystick inputExperimentalRecognised by EdgeTX USB identity or joystick capabilities, not by name. Guided setup verified with a replayed Android event stream; physical model acceptance pending.
ExpressLRS joystick modulesBluetooth HID / Wi-Fi joystick v1AndroidExperimentalRequires compatible module/firmware. Wi-Fi transport checked with mock firmware, not a physical transmitter; not every RadioMaster RF module supports it.
Custom input adaptersWi-Fi (dh-controller v1 / paired v2) · USB serial (DHS1)AndroidExperimentalFirmware examples compile; the UNO serial path passed a host protocol test. Paired v2 Wi-Fi boards are authenticated. No board has been flashed and flown yet.
Keyboard-style devicesOS-exposed USB / Bluetooth keysAndroid / available key-input APIsExperimentalBindable key actions and paired digital directions implemented. Device-specific acceptance and accessible key events required.
PlayStation-style controllersUSB / BluetoothSupported gamepad APIsExperimentalOnly where the OS exposes a standard gamepad; model mapping varies.
MFi-compatible controllersBluetooth / supported wiredSupported Apple devicesPlannedApple build and hardware acceptance testing pending.
DJI FPV controller inputDevice-specific USBPC / device-dependentPlannedNo DJI FPV model is certified in the current build.

No current build device is labelled Tested without a completed physical acceptance run. A supported API is not a guarantee that every device using it will work.

Continue with controller guides, detection troubleshooting or the DJI compatibility explanation.

A useful distinction

Browser input.
Native flight.

The optional input lab can show commands received by your browser. It does not run the native physics model or certify a controller in the game.

Desktop builds remain in development. Android hardware still needs device-specific verification.

  1. Connect and identify the device
  2. Inspect raw channels and map the axes
  3. Calibrate the travel and center
  4. Save, reconnect and verify in the game
Try the optional controller input lab

A browser illustration, not a hardware compatibility test. The interactive controls load when you open this panel.

INPUT LAB / INTERACTIVEMODE 2

Your input.
In motion.

Drag the sticks or connect a gamepad. See all four commands come alive. This lightweight illustration explains the controls; the simulator runs the full flight model.

Virtual controls ready
NORMALIZED FLIGHT INPUT / −1 → +1
LEFT STICK
THROTTLE ↑↓ · YAW ←→
RIGHT STICK
PITCH ↑↓ · ROLL ←→

Drag either stick with your mouse or touch. Focus a stick and use arrow keys.

Physical controller · live detection & raw input

Connect the device, press a button, then choose Gamepad or FPV Radio. Browsers may hide devices until you interact. Raw input stays on this device.

Detection starts when Gamepad or FPV Radio is selected.

Standard gamepads use a Mode 2 starting layout. Unmapped radios require explicit axis selection. Browser detection does not certify support in a native build.