Spektrum on PX4IO

This page only covers Spektrum used with PX4IO v1.3. Please refer to this page for the more recent PX4IO v2.x in PIXHAWK.

The following receivers have been tested by PX4 developers and are supported (please see the note below).

You do not use the receiver part that contains the servo connectors. You use the satellite receiver plugged into the px4io board.


Binding new, unmodified, unbound satellite receivers is not supported on the V1 px4io boards. To bind the satellite, use the normal Spektrum / JR main receiver and connect it to PX4IO after it has been bound according to the normal Spektrum / JR instructions. The V2 PixHawk does support direct pairing (see further below for details).

Binding with modified cable on the V1 PX4IO

If you are willing to build a custom cable to connect your DSM satellite receiver as shown below, you can bind your receiver using the procedure described below:

The px4io bind command allows you to put a DSM satellite receiver into bind mode. Since this feature requires that the DSM VCC line (red or orange wire) be cut and routed through relay one, it is not enabled by default in order not to affect those not using a DSM satellite receiver or wishing to use relay one for other purposes. This modification to the DSM cable is necessary in order to provide the PX4 control over the DSM satellite power line.

NOTE: Binding DSM2 satellites in 11-bit mode is not supported due to potential bug in some DSM2 receiver streams when in 11-bit mode. Furthermore the px4io software folds 11 bit data down to 10 bits so there is no resolution advantage to to 11-bit mode. To enable the feature the RC_RL1_DSM_VCC parameter must be set to a value other than 0 from the console, or using QGroundControl:

param set RC_RL1_DSM_VCC 1

From the console you can initiate DSM bind mode with:

uorb start

param set RC_RL1_DSM_VCC 0

px4io start

px4io bind dsm2

For binding a DSMX satellite to a DSMX transmitter you would instead use:

px4io bind dsmx

Your receiver module should start a rapid flash and you can follow the normal binding sequence of your transmitter.

Binding can also be initiated via QGroundControl once the connection is established and prior to arming the craft. Using QGroundControl you can initiate DSM2 binding by setting parameter RC_DSM_BIND to the value 0. For DSMX set the parameter to the value 1. The RC_DSM_BIND parameter will automatically reset to -1.

Note: The value of parameter RC_RL1_DSM_VCC defaults to 0, so none of this will have any effect on an unmodified DSM receiver connection. For this feature to work, the power wire (red or orange) must be cut and each side connected to a terminal on relay1 of the px4io board as shown in the above diagram. If you wish to continue using your modified cable in-flight, then make sure that the RC_RL1_DSM_VCC parameter is set to a non zero value in your rc.txt file prior to the 'px4io start' command. Alternatively you can make it a permanent setting in your param file.

This has been tested using Spektrum DSM2 and DSMX satellite receivers as well as Hobby King 'Orange' DSM2 satellite receivers.

Binding with the V2 PixHawk

The PixHawk removes the need for modifying the DSM satellite receiver cable. The same procedures described for the V1 PX4IO board can be used with the exception that the RC_RL1_DSM_VCC is no longer needed or supported.

NOTE: QGroundControl version 2 provides a button in the RC calibration tool to initiate DSM binding directly, thus avoiding the need to fiddle with parameters.

Translations of this page:

Quick Links

QR Code: URL of current page