Connecting an RC Receiver on Linux
This topic shows how to setup a PX4 Linux-based autopilot to connect and use a supported RC receiver on any serial port.
For RC types other than S.Bus, you can just connect the receiver directly to the serial ports, or to USB via a USB to TTY serial cable (e.g. like PL2302 USB to Serial TTL converter).
:::note For an S.Bus receiver (or encoder - e.g. from Futaba, RadioLink, etc.) you will usually need to connect the receiver and device via a signal inverter circuit, but otherwise the setup is the same. :::
Then Start the PX4 RC Driver on the device, as shown below.
Starting the Driver
To start the RC driver on a particular UART (e.g. in this case /dev/ttyS2
):
For other driver usage information see: rc_input.
Signal Inverter Circuit (S.Bus only)
S.Bus is an inverted UART communication signal.
While some serial ports/flight controllers can read an inverted UART signal, most require a signal inverter circuit between the receiver and serial port to un-invert the signal.
:::tip This circuit is also required to read S.Bus remote control signals through the serial port or USB-to-TTY serial converter. :::
This section shows how to create an appropriate circuit.
Required Components
1x NPN transistor (e.g. NPN S9014 TO92)
1x 10K resistor
1x 1K resistor
:::note Any type/model of transistor can be used because the current drain is very low. :::
Circuit Diagram/Connections
Connect the components as described below (and shown in the circuit diagram):
S.Bus signal → 1K resistor → NPN transistor base
NPN transistor emit → GND
3.3VCC → 10K resistor → NPN transistor collection → USB-to-TTY rxd
5.0VCC → S.Bus VCC
GND → S.Bus GND
The image below shows the connections on a breadboard.
Last updated