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, Turnigy 9XR Pro, 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.jpg

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, Cube, PixRacer and Pixhack are available from Craft and Theory.

Pages Related to FrSky Telemetry

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 satellites 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:

Feature Native standard FrSky telemetry Native passthrough FrSky telemetry Converted MAVLink telemetry (Airborne Projects) Converted MAVLink telemetry (DIY) Converted MAVLink telemetry (TBS Crossfire)
Vehicle/frame type        
Flight/control mode  
Simple/super simple mode        
Throttle %        
Flight timer (automatically counting while in flight)        
Battery pack voltage
Battery failsafe voltage        
Battery failsafe capacity        
Battery failsafe trigger        
EKF failsafe trigger        
Instantaneous current consumption  
Total current consumption      
Battery pack capacity (mAh)        
Battery pack capacity remaining (%)    
GPS number of satellites visible
GPS fix status (e.g., 2D, 3D, DGPS, RTK)  
GPS HDOP    
GPS latitude and longitude
GPS altitude  
GPS speed  
Ground speed (using GPS/INS filter)        
Air speed (from airspeed sensor)      
GPS heading    
X, Y, Z accelerations        
Roll/pitch/yaw    
Barometric altitude      
Altitude from home (using GPS/INS filter, incl. barometer)      
Rangefinder distance        
Direction to home        
Distance from home    
Vertical velocity      
Arming status    
Sensor health messages (e.g., Bad Compass Health)        
EKF error messages (e.g., Error compass variance)        
MAVLink status messages    

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 Q X7
    • FrSky Taranis X9D
    • FrSky Taranis X9D Plus (recommended)
    • FrSky Taranis X9E
    • FrSky Horus X12S
    • Turnigy 9XR Pro (running ErSky9x version 211 or later)
    • A number of DIY solutions are also available
  • 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 to measure and report 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/Cube)

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_Hardware3.jpg

DIY cable for SmartPort

You can make your own cable using the following components:

../_images/Telemetry_FrSky_Pixhawk-SPORT.jpg

Or a more compact version using the following components:

-MAX3232 RS-232 to TTL converter breakout board

-Any silicon diode

../_images/DIY_SPort_Cable.jpg

DIY FRSky Smartport adapter cable

Warning

DO NOT PLUG THE TELEMETRY CABLE TO THE AUTOPILOT OR RECIEVER WHILE POWER 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 and temperature sensors Yes, for traditional heli rpm and monitoring motors/battery temperature
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 The Cube and X8R

Setup with The Cube and X8R

Setup with Pixhawk and X8R

Setup with Pixhawk and X8R

Setup with X4R

Setup with Pixhawk and X4R

Note

For both the X4R and the X8R configuration, 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
  • Passthrough SmartPort telemetry: 10
Flight Controller Port used Parameter name
The Cube 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.2.0 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 multiple 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.

Turnigy 9XR Pro

This section describes how to enable FrSky telemetry on the Turnigy 9XR Pro transmitter.

Requirements

  • You will need a transmitter module with support for FrSky telemetry, such as the FrSky XJT. The DJT also supports telemetry, but you will need to use an external cable to connect the telemetry data from the module to your transmitter.

    The instructions in this section are specifically for the XJT module.

  • You will need to be running a recent version (211 or later) of the ErSky9x firmware. You can find more information about upgrading the firmware and about ErSky9x in general from the documentation.

Configuring Ardupilot

Ensure that you have the appropriate SERIAL#_PROTOCOL parameter set to 10 (“passthrough FrSky telemetry”) to select the ArduPilot SPORT protocol. For example, if you have plugged your SmartPort cable into the serial 4/5 port on your Pixhawk, set SERIAL4_PROTOCOL to 10.

Reboot your controller after making this change.

ErSky9x will also work with protocol 4 (“repurposed FrSky telemetry”), but you will not have access to ArduPilot-specific information such as the name of the current flight mode or arming status.

Configuring the 9XR Pro

  1. Verify that you are running version 211 or later. Navigate to the Radio Setup menu and then select Version. Look at the SVN field.

    ../_images/9xrpro-firmware-version.png

    Telemetry support is substantially improved in revision 218 and later.

  2. Navigate to Model Setup menu, then select Protocol. Ensure that you have Proto set to XJT, and Type set to D16.

    ../_images/9xrpro-settings-protocol.png

    In older versions of the firmware, you may see PXX instead of XJT.

  3. Navigate to the Model Setup menu, then select Telemetry, and then again select Telemetry from the popup menu. Ensure that UsrProto is set to ArduP (for ArduPlane) or ArduC (for ArduCopter), Telemetry Com Port (previously FrSky Com Port) is 1, and Com Port Invert (previously Invert Com 1) is off (unchecked).

    ../_images/9xrpro-settings-telem-protocol.png
    ../_images/9xrpro-settings-telem-port.png

    If you are using something other than ArduPlane or ArduCopter, you can set UsrProto to FrSky. You will get a more basic telemetry display that will be missing things like the graphic heading indicator, the name of the current flight mode, and so forth.

At this point, you should be receiving extended telemetry on your 9XR Pro. If you navigate to the telemetry home screen (use the up/down arrows to switch between screens) you should see standard FrSky telemetry values (such as RSSI, receiver voltage, etc) as well as extended telemetry, such as flight mode, current measurements, GPS information, etc.

../_images/9xrpro-telem-arducopter.png

Use the left/right arrows to switch between available telemetry views:

../_images/9xrpro-telem-gps.png

Configuring custom telemetry screens

ErSky9x allows you to customize two telemetry display screens with your choice of information. To configure the custom screens, navigate to Model Setup, then select Telemetry, and then select Custom:

../_images/9xrpro-settings-telem-custom.png

Pages Related to FrSky Telemetry