Radio Control Systems¶
This article provides an overview of the RC Transmitter and Receiver Systems that can be used with ArduPilot autopilots.
Compatible RC Protocols¶
ArduPilot autopilots are compatible with the following receiver output protocols:
- PPM-Sum receivers
- SBus receivers
- IBUS receivers
- FPort Receivers
- Spektrum DSM, DSM2, and DSM-X Satellite receivers
- SRXL version 1 and version 2 receivers
- Graupner SUM-D
- Parallel PWM outputs encoded to PPM-Sum using an external encoder (see below)
- Crossfire (CRSF) (coming in a future firmware release)
- SRXL2 (coming in a future firmware release)
Connecting the Receiver¶
For all protocols above, ArduPilot auto-detects the protocol of the RC receiver system. However, depending on the protocol and autopilot type, the physical connection to the autopilot may differ.
These receivers are usually connected to the RCin or SBUS input pin on the autopilot.
To connect a PPM-Sum/SBus/IBus receiver to a Pixhawk, for example, plug the ground (black), power (red) and signal (usually white - orange in the diagram below) wires to the RCin pin on the Pixhawk.
The parameter to enable the SBus output from the PixHawk style autopilots is BRD_SBUS_OUT . This is only to pass SBus externally to other devices, like servos. Not to connect a receiver to RCin or SBus In.
For autopilots that do not provide a separate
DSM input, these can be connected as above. However, for performance reasons on autopilots that use an IOMCU (The Pixhawk/Cube family), the autopilot’s
DSM input connection is highly recommended.
FPort is a bi-directional protocol, using SBus RC in one direction, and serial telemetry in the other. The RC portion can be decoded when attached to an autopilot as if it were SBus, but the embedded telemetry would be lost. See the FPort setup documentation for details on connection to one of the autopilots Serial Ports.
These bi-directional protocols require the use of a Serial Port. See links below for setup and connections.
(add TOC entries here for CRSF page and SRXL2 page)
Radio System Selection¶
Selection will depend on many factors: range,telemetry requirements, cost, compatibility with existing equipment, etc. Most manufacturers often many different models with differing capabilities. Many systems have been reverse-engineered and “cloned” by other manufacturers offering more economical versions of transmitters and receivers. Many Transmitters offer multiple protocols and are based on the OpenTX firmware which is extremely flexible and also allows the use of LUA scripts to display telemetry data on their LCD screens.
RC control range varies greatly depending on system used, installation, antennas used, terrain, and even weather conditions. But in general, for discussion purposes here, RC systems can be categorized into Short Range (2km and under) , Medium (2-10km) and Long Range (>10km). In addition, they may offer uni-directional (Vehicle to Transmitter) or bi-directional (Vehicle to/from Transmitter) telemetry.
FrSky Horus Transmitter running Yaapu LUA script
Some systems provide transparent radio modems to the telemetry from the autopilot, and others have proprietary protocols. Those with proprietary protocols often have means of displaying telemetry data on the transmitter display itself, like FRSky or other OpenTX based Transmitters.
Telemetry speeds vary from 56K to 1-2K baud depending on protocol and, in some cases, distance. Often telemetry range will be less than radio control range.
Number of channels¶
ArduPilot requires at least 5 channels for most vehicles, however, 8 to 16 channels are commonly available in most systems and are very convenient for controlling other vehicle functions such as cameras or flight feature options. Many vehicles require 8 channels just for basic operation, such as many QuadPlanes.
Below is a table with some commonly available systems showing these elements. Note, not all versions of transmitters and/or receivers from a particular manufacturer may have these characteristics. Note: that many “clone” or “compatible” versions of this systems also exist, only the OEM system is listed.
|Original Manufacturer||Range||Telemetry||Telem Speed||TX Display||RC Protocol||Notes|
|FRSky X series||Short||Bi-dir||Medium||yes||PPM-SUM/SBUS||2|
|FRSky R9 series||Medium||Bi-dir||Medium||yes||PPM-SUM/SBUS||2|
|Spektrum||Short||No||DSM/DSM2 DSM-X/ SRXL1|
Note 1: DragonLink provides a 56Kbaud transparent link for telemetry, allowing full MAVLink telemetry to/from the vehicle from the transmitter module. Dragonlink is an add-on module to the transmitter, such as an FRSky Taranis or RadioMaster T16. See DragonLink RC Systems
Note 2: See Yaapu FrSky Telemetry Script for OpenTX. Future firmware versions will offer the ability to change parameters over FRSky telemetry from an Open TX compatible transmitter in addition to displaying the telemetry data. Most FRSky compatible transmitters use OpenTX. Note that R9 systems are not quite Long Range, but much further range than normal FRSky systems, themselves at the very high end of the Short Range category at 1.6-2km range.
A PPM Encoder will allow you to use any older style RC receiver with only PWM outputs for each channel. Both the new and previous versions of the 3DR PPM-Sum encoder (the linked encoder is compatible) are shown below:
There are some downsides of using this encoder:
- The PPM Encoder does require quite a bit of additional wiring to the receiver.
- It uses quite a bit of power making it likely you will need to plug in your battery while doing radio setup with USB cable in Mission Planner.
- The encoder also costs as much or more than several of the available PPM-Sum receivers including the FrSky Delta 8 below.
There is addition information about connecting and configuring the encoder here.
If you are using this PPM Encoder it is important to know that when you are calibrating your transmitter you may need to hook up your flight battery to the autopilot because the USB port alone can’t supply enough power.