FrSky Telemetry

FrSky telemetry allows you to display ArduPilot information such as flight modes, battery level, and error messages, as well as information from additional FrSky sensors on the FrSky Taranis and other FrSky compatible RC transmitters.

It is particularly useful:
  • for flying without a ground control station (no need for MAVLink telemetry radio),
  • as a backup in case the ground station fails (e.g., loss of MAVLink radio link),
  • when a separate person operates the ground control station,
  • for instantaneous situational awareness by the pilot.

Compared to a MAVLink radio link, the FrSky telemetry link has practically no delay.

Moreover, some RC transmitters such as the Taranis can be configured to play sounds, vibrate or perform automatic RC actions based on telemetry information through the highly configurable OpenTX firmware.

../_images/frsky_requiredhardware_flightdeck.png

Common FrSky Telemetry Setup with Taranis RC transmitter running FlightDeck.

Note

FrSky telemetry packages including Taranis, X-receiver, LiPo cell voltage sensor and flight controller specific telemetry cable for the Pixhawk, Pixhawk 2.1, PixRacer and Pixhack are available from Craft and Theory.

Protocol Information

ArduPilot has FrSky telemetry drivers to natively output flight controller information through the serial ports. It comes in two flavors:

  1. Repurposed FrSky telemetry (D and SmartPort) (available since AC3.2), which reuses FrSky data IDs to transmit basic flight control information to the RC transmitter (e.g. T2 temperature message reused to transmit the number of GPS satelites and GPS status); and
  2. Passthrough telemetry (SmartPort) (available since AC3.4), which leverages the new passthrough FrSky data IDs to send an extensive amount of flight controller specific information to the RC transmitter.

FrSky telemetry is also possible through the use of a MAVLink to FrSky converter.

The following table summarizes the information available using each protocol:

Hardware Selection Guide

The following equipment is required to enable FrSky telemetry on an ArduPilot-compatible flight controller:

  • A FrSky telemetry capable RC transmitter. Possible options include:

    • FrSky Taranis X9D
    • FrSky Taranis X9D Plus (recommended)
    • FrSky Taranis X9E
    • FrSky Horus X12S
    • A number of DIY solutions are also available (e.g., for Turnigy 9X and 9XR)
  • A FrSky telemetry capable receiver. There are receivers available for two types of FrSky telemetry systems, which are not compatible with each other:

    • D telemetry

      D telemetry is a deprecated protocol for D receivers. It uses 16 bit data frames, only supports one way communication and requires a hub to connect other D telemetry sensors. Only repurposed FrSky telemetry is available over the D telemetry system.

    • SmartPort telemetry (recommended)

      SmartPort telemetry is available on X-series receivers. It uses 32 bit data frames, supports two-way communication; and enables other SmartPort sensors to be connected without a hub.

  • A telemetry cable to connect your flight controller to your FrSky receiver.

In addition to the required hardware, a selection of FrSky sensors can be added. (see below)

Tip

The use of an FLVSS or MLVSS LiPo cell voltage (see below) sensor is recommended as ArduPilot is not capable of measuring and reporting the voltage of individual cells in a battery pack.

Telemetry capable FrSky receivers

Receiver Range Target frame type Outputs Notes
X4R/X4R-SB Good Small to mid size X4R: CPPM and 3 extra PWM channels X4R-SB: SBUS, CPPM and 2 extra PWM channels  
XSR (recommended) Better Mini and racing SBUS and CPPM Smallest telemetry capable FrSky receiver.
X6R, X8R (recommended) Best Mid to large size SBUS or PWM The X8R is the most common and versatile FrSky receiver as it is often sold bundled with the Taranis.
D4R-II Not tested All PWM Deprecated receiver. It is recommended to upgrade to an X-series (SmartPort) receiver.

Tip

SBUS signal output is highly recommended as it features 16 RC channels and can be directly plugged into the flight controller (e.g., RCIN on Pixhawk)

X-Receiver cables

Craft and Theory Pixhawk to FrSky Telemetry Cables

Craft and Theory supplies cost-effective all-in-one X-receiver cables with connectors for the various FrSky receivers.

../_images/frsky_cables300x300.png

DIY cable for X-receivers

You can make your own cable using the following components:

../_images/Telemetry_FrSky_Pixhawk-SPORT.jpg

Warning

DO NOT PLUG THE TELEMETRY CABLE TO THE AUTOPILOT WHILE IT IS ON!

FrSky Sensors

The following SmartPort sensors are available from FrSky:

Image Sensor Name Description Useful with Ardupilot?
flvss FLVSS LiPo cell voltage sensor with OLED screen Yes, as individual cell voltages are not available in ArduPilot.
mlvss MLVSS Provides cell voltage (smaller than FLVSS) Yes, as individual cell voltages are not available in ArduPilot.
rpm RPM RPM sensors Yes, for traditional heli
fas40s FAS40S/FAS150s 40A/150A current sensor Mostly no. Information already provided by ArduPilot if equipped with a power module
gps GPS GPS receiver No. Information already provided by ArduPilot.
vari Vari-H/Vari-N Variometer (high or normal precision) No. Information already provided by ArduPilot.
ass-100 ASS-70/100 Normal/High precision Air Speed Sensor (pitot tube) Mostly no. Information already provided by ArduPilot on Planes if equipped with an airspeed sensor.

Connecting Equipment to the SmartPort Bus

All FrSky sensors have two SmartPort connections that are hardwired in parallel such that all sensors and the receiver communicate on the same bus wire. In practice, the devices are daisychained as illustrated below.

../_images/FrSky_cablesbus.png

Connect the telemetry cable to one of the serial ports available on your autopilot and the other end to the Smart Port of your X-series receiver (X4R, X4RSB, X6R, X8R, or XSR) or a Smart Port sensor (e.g., FLVSS/MLVSS).

Adding a FrSky FLVSS or MLVSS LiPo sensor to measure individual cell voltages

While battery pack voltage is usually a good indicator of remaining flight time, flight time is actually limited by the lowest cell voltage. Once the voltage of a cell drops below a certain level, that cell’s voltage will continue to drop dramatically. This in turn causes the battery pack voltage to drop and may irreparably damage the battery pack.

By using a FrSky FLVSS or MLVSS LiPo voltage sensor, the lowest cell voltage (which is not available on a ground station using radio telemetry) can be displayed on your transmitter.

To install, connect the telemetry cable between the autopilot and the FLVSS/MLVSS sensor, then use the cable supplied with your receiver or supplied with the FLVSS/MLVSS sensor to connect the FLVSS/MLVSS sensor to the Smart Port connector of your X-series receiver:

Setup with X8R

Setup with X8R

Setup with X4R

Setup with X4R

Note

For both receivers, the same servo telemetry cable is used. This is because in both cases the autopilot is directly connected to the LiPo sensor instead of the receiver.

FrSky Telemetry Configuration in Mission Planner

To enable FrSky Telemetry on one of the serial ports, connect with Mission Planner and set the corresponding SERIAL#_PROTOCOL parameter to the desired value depending on the flight controller and the port that the cable is plugged in:

  • Standard D telemetry: 3
  • Standard SmartPort telemetry: 4
  • Ardupilot SmartPort telemetry: 10
Flight Controller Port used Parameter name
Pixhawk 2.1 TELEM1 SERIAL1_PROTOCOL
TELEM2 SERIAL2_PROTOCOL
GPS 1 SERIAL3_PROTOCOL
GPS 2 SERIAL4_PROTOCOL
Pixhawk and Pixhawk clones TELEM1 SERIAL1_PROTOCOL
TELEM2 SERIAL2_PROTOCOL
GPS SERIAL3_PROTOCOL
SERIAL 4/5 (recommended) SERIAL4_PROTOCOL
Pixhawk Mini TELEM SERIAL1_PROTOCOL
PixRacer FRS SERIAL4_PROTOCOL
Pixhack SERIAL 4/5 SERIAL4_PROTOCOL

Note

Configuring SERIAL#_BAUD for FrSky telemetry has no effect - it is always a hardcoded value in ArduPilot: 9,600bps for D telemetry and 57,600bps for SmartPort telemetry.

../_images/MP_SERIAL2_FrSky10.png

Warning

Only one SERIAL#_PROTOCOL parameter should be set for FrSky telemetry. Keep the other SERIAL#_PROTOCOL parameters to their default values or at least to something other than 3, 4, or 10, as only one serial port can be used for FrSky telemetry at a time!

Additional configuration in Mission Planner

For FrSky telemetry to transmit the correct battery information to the RC transmitter, ArduPilot must be configured for the power module and battery pack used.

Configuring the Power Module via Mission Planner

../_images/MP_FrSky_PowerModuleConfig.png

Perform the steps in the following tutorial if you’ve never configured or must reconfigure your power module: power module configuration in mission planner

Warning

It is highly recommended to configure the power module (both voltage and current), otherwise the voltage, current, battery consumption (Ah) and battery percentage reported in Mission Planner and via FrSky telemetry will not be accurate!!!

Battery Capacity Configuration

Set your battery pack capacity.

../_images/MP_FrSky_BattCapacity.png

Battery Failsafe Configuration

This feature is only available with passthrough telemetry.

Battery failsafes are transmitted when using Passthrough FrSky telemetry. The battery failsafes are configured in the “Mandatory Hardware” tab. Click on “Failsafe” and set the “Low Battery” voltage and the “Reserved mAh” capacity.

../_images/MP_FrSky_BattFailsafe.png

OpenTX Scripts

This section covers how to enable and runs scripts on the Taranis with OpenTX:

Enabling Scripts on OpenTX

The version installed on your Taranis may not have the option to run scripts. If this is the case, you will need to install a new version via OpenTX Companion. This can be done in a few easy steps.

  1. Download and install the latest version of OpenTX Companion from OpenTX. Open the OpenTX Companion program, then go to Settings >> Settings
../_images/opentx_settingstab.png
  1. Select your “Radio Type” (Taranis, Taranis Plus, or Taranis X9E), make sure the “lua” build option is checked, then press OK.
../_images/opentx_luacheck.png
  1. Click on File >> Download...
../_images/opentx_filetab.png
  1. Click on the “Download FW” button and save the resulting .bin file. Once the firmware is downloaded, press OK.
../_images/opentx_dlwindow.png
  1. Enter bootloader mode on the Taranis by sliding both horizontal trims, each under the main sticks, towards the center and then turning the Taranis on. The top of the Taranis LCD screen should now display “Taranis Bootloader.”
../_images/frsky_taranis_bootloadermode.png
  1. Connect a USB cable between the Taranis and the computer. “USB Connected” should appear in the center of the Taranis LCD screen. Click on Read/Write >> Write Firmware to Radio.
../_images/opentx_RWtab.png
  1. Locate/load the firmware (.bin) which was downloaded earlier, then click on the “Write to TX” button. A popup window should display a progress bar which will eventually reach 100%. Once flashing is done, click on the “Close” button to close the popup window.
../_images/opentx_flashwindow.png

Copying Scripts and Sounds to the Taranis

Scripts and sounds are stored on the Taranis SD Card. To copy a script or sounds to the Taranis, copy them to the SCRIPTS or SOUNDS folder on the Taranis SD. This can be done with an SD card reader or directly with the Taranis.

With the Taranis still in bootloader mode and connected to the computer via USB, the SD card should appear as a computer drive that contains multiple folders, including SCRIPTS and SOUNDS. Scripts and sounds should be copied to these folders.

Running Telemetry Scripts

This section describes how to the discover the telemetry sensors (similar to using telemetry without scripts), how to assign a display script to a screen and how to access the screen showing the script display or activate a non-display script (e.g. sound script).

Discovering Sensors

OpenTX 2.1.x requires “discovering” the telemetry messages from the Pixhawk that are not passthrough messages. To discover them, unplug the USB cable, turn off the Taranis, then turn it back on (not in bootloader mode). Repeat the following steps for each model for which you want to use FrSky telemetry:

  1. Press the MENU button, then long press the PAGE button to get to the TELEMETRY page. Press the - button until “Discover new sensors” is highlighted and press ENTER. The Taranis LCD screen should display “Stop discovery.”
../_images/OpenTX_Discover.png
  1. Power on the Pixhawk and FrSky receiver. Wait for 15 seconds. The Taranis should discover the emulated sensors based on the data from the Pixhawk. The sensors must all be properly discovered for the scripts to run. For example:
../_images/OpenTX_sensors.png

Assigning a Display Script to a Screen

If a scripts has a display, it needs to be assigned to telemetry screens. Once the script has been assigned to a screen, the script is accessed by doing a long press on the main OpenTX screen. Each long press will switch screens. Multiple scripts can be assigned to multliple screens.

On the TELEMETRY page, scroll down using the - button, and highlight the “None” entry next to “Screen 1.” Once “None” is highlighted, press ENT, then navigate the choices with the +/- buttons until “Script” appears. Press ENT to validate, then press - to move to the right (highlighting “- - -“). Press ENT and select your script (e.g. “screens”) using the +/- buttons, then press ENT to validate. The “screens” script handles the display capabilities. The Taranis LCD display should then look like this:

../_images/OpenTX_assign_script_to_screen.png

Activating a Custom Script (no display function)

Scripts that do not display anything (e.g. data parsing, sounds) are activated on the CUSTOM script page. Press EXIT once, long press PAGE to get to the CUSTOM SCRIPT page, then press ENT to edit LUA1. On the LUA1 page, press ENT and select the script using the +/- buttons, then press ENT to validate.