General
Open.HD is capable of direct control of your model by transmitting your control data alongside the HD video stream. This potentially means that only a single HF-Link between ground and aircraft is required for all your needs. Essentially there are two ways in which Open.HD facilitates RC control, RC via mavlink (Ardupilot) or RC via a serial protocol (iNAV, Betaflight, Cleanflight).
  • If you have a flight controller which can be controlled by MAVLink RC_CHANNELS_OVERRIDE messages then that is the recommended solution. Since the RC_CHANNELS_OVERRIDE is an implementation of the bi-directional MAVLink telemetry protocol both Telemetry and RC can happily co-exist on the very same transmission medium. (See RC over MAVLink)
  • If your flight controller cannot be controlled by MAVLink RC_CHANNELS_OVERRIDE messages you can still use Open.HD for RC control. You must have a flight controller that accepts one of the following uninverted serial receiver protocols: MSP, SUMD (Graupner/JR), IBUS (FlySky), SRXL / XBUS Mode B (Multiplex). (See RC over Serial)
If you meet any of these requirements you can eliminate your old radio receiver. As described in this documentation you will configure software and hardware and then plug-in a supported USB joystick (or transmitter) into the Ground unit. The inputs will be sent to the Air unit and forwarded on to your flight controller.
One HF-Link for all aspects of operations: Video + Telemetry + Control
  • Only single HF-Link (WiFi) required
  • weight savings
  • cost savings
  • simplicity
  • Open.HD RC control has longer range than video

Input Devices / Joysticks

In order to allow control of your model the user needs some sort of USB joystick which will provide input to the Ground unit. For this HID-compatible USB-Joysticks and traditional RC transmitters (with USB/hid ability) can be used as input device. For the sake of simplicity this input device will be referred to as joystick from now on. The joystick simply connects via USB to the Ground unit and gets recognized automatically by the system. All standard HID-compatible joysticks can be used, however we recommend using a decent quality joystick with good quality gimbals and a narrow stick dead-band. Best results have been reported using RC transmitters with a USB-port (normally used for flight simulators).
If possible disable the RF transmission function on your RC transmitter so that it does not interfere with Open.HD.
The following joysticks are known to work well with Open.HD:

Basic setup

Make sure you have proper RTH functionality enabled on your Flight Controller before using RC over Open.HD. Nothing is worse than seeing your model fly away. Failures can and will happen, plan for redundancy!

Configure RC general parameters

Please make the following modifications to the openhd-settings-1.txt file in the boot partition of both SD cards or use the QOpen.HD app to modify the settings.
When using Atheros cards
Any other card
1
EncryptionOrRange=Range
2
CTS_PROTECTION=Y
3
RC=mavlink or other option
Copied!
1
EncryptionOrRange=Encryption
2
CTS_PROTECTION=N
3
RC=mavlink or other option
Copied!
Optionally you can lock the transmission from the Ground unit to the Air unit to one specific WiFi card on the Ground by setting the MAC address of this card in the config file:
1
PrimaryCardMac=(MAC ADDRESS)
Copied!
Next edit the joyconfig.txt file in the boot partition of both SD cards (same content):
Axis mapping to ROLL, PITCH, THROTTLE, etc. USSUALLY NOT needed to be changed.
1
#define AXIS0_INITIAL=<value>
Copied!
sets the initial values for the controls. This is necessary, as it is currently not possible to detect the stick positions until they have been moved. For yaw, roll, pitch you probably want 1500, for throttle 1000.

Wiring

In order for any of this to work, the Air unit needs to be able to talk to the Flight Controller in a proper manner. Please refer to Wiring -> Flight Controller for an explanation on this.
If you use the builtin Serial of the Raspberry Pi leave default RC_FC_SERIALPORT=/dev/serial0, if using an external USB2Serial adapter, set RC_SERIALPORT=/dev/ttyUSB0

Testing

Depending on your Flight Controller make sure you followed either RC over MAVLink or RC over Serial.
Connect Joystick or Transmitter in Joystick mode (Taranis needs to be powered before connecting).
Do a ground test for correct packet reception and signal:
Increase distance to the aircraft until you are at the end of the video range. R/C control should now still work, you should not see lots of Lost packets in the RSSI display in the upper right corner.
Export as PDF
Copy link