How to Setup TBS Crossfire with Betaflight

This simple guide explains how I setup TBS Crossfire with my Taranis X9D Plus in Betaflight, how to connect and configure Crossfire receiver, how to bind, how to setup LUA script, etc. The process should be similar in other Frsky radios.

Thank you,

A huge shout-out to HobbyRC for providing me the Crossfire Nano radio receiver for this tutorial, make sure to check out their website:

Further Reading: How to choose radio transmitter?

Table of Contents

What’s special about Crossfire?

The TBS Crossfire is a popular RC system due to its excellent range and lower latency. The Crossfire is an external RF module you can install directly on the back of your Taranis, so you can still use the powerful OpenTX OS and our beloved Frsky Taranis radio.

The Crossfire operates at the 900MHz band and therefore it has much better penetration ability and longer range than the typical 2.4GHz we use on racing drones. The downside is the larger, longer receiver antennas, as well as the more strict regulations surrounding the lower frequency.

Despite the Frsky Taranis with a full range receiver (e.g. the R-XSR) can theoretically provide 1.5Km range, which is more than enough for most of mini quad pilots. There are times we want longer range or simply more reliable signal behind obstacles, the Crossfire is a good solution for this. The other advantage of Crossfire is the lower latency which reportedly improves the handling of the quadcopter according to many well known pilots.

The available Crossfire modules and accessories are:

TBS Crossfire TX Module TBS Crossfire Micro TX Module
– Built-in screen for changing settings
– Max Power up to 2W
– Extra features: Spectrum analyzer, Bluetooth module
– No screen, settings changed via LUA script only
– Max Power up to 100mW
– Lighter, smaller, cheaper
Amazon | GetFPV | TBS GetFPVTBS

TX Module Antennas

Stock Antenna Diamond Antenna (Upgrade)
– Durable, Cheap
– Can be used for receiver
– More reliable performance
– Slightly directional – more range in front of the pilot than behind
– Durable design
TBS GetFPV | Amazon | TBS


Crossfire Micro RX Crossfire Nano RX
It uses a JST header for connection Same capability as the Micro RX, but a lot smaller!
Connection is solder pads
GetFPV | TBS HobbyRC (UK) | GetFPV | Amazon

RX Antennas

Stock Dipole Antenna Immortal Antenna
– Cheap, simple, lightweight and flexible – Same performance but stronger, and heavier

Check out our recent review where we compared the two popular long range systems, the Crossfire and the Frsky R9M.

Update OpenTX

In theory, OpenTX 2.2.0 should work (release, May 2017), but some improvements were made to the Crossfire LUA script in the newer version, therefore it’s recommended to update your Taranis to OpenTX 2.2.1 (release, Jan 2018) or newer firmware.

Here is how to update OpenTX firmware on your Taranis.

Updating Crossfire Firmware

Check and update your Crossfire TX module to the latest firmware, to do this, download and install the TBS Agent software:

Launch the TBS Agent software, connect your Crossfire TX module to your computer using the Micro USB port.

If there is a newer version, click the “Update” button to update the firmware. This should only take a few minutes.

Every time you update the firmware on your TX module, you also need to update the firmware on your RX. This can be done wirelessly using your TX module, we will cover that part in the binding process below.

Installing Crossfire TX module in the Taranis

You can install the Crossfire TX module directly in the external module bay in your Taranis. Insert the module into the module bay very carefully, make sure all the pins go into the sockets of the Crossfire module properly.

Beware that the Crossfire module is only fully compatible with Taranis X9D Plus. It also works with Taranis Q X7, and Horus X10, but there are some minor issues due to the inability of operating at full baud rate, causing problems such as constant warning of “telemetry lost”. There is a DIY mod you can do to fix this.

Setup Taranis to use Crossfire TX Module

Turn on your Taranis, and create a new model for your quadcopter that will be using Crossfire, or you can just use an existing model if you already have one.

Short press the Menu button to enter the Model Setup page, scroll down to “Internal RF” and set mode to “OFF“.

Next set the mode under “External RF” to “CRSF” and change “Channel Range” to “CH1-16“.

Once you’ve done this and exit this menu, the Crossfire TX module should power up (LED lights up on the back).

Connection – Crossfire Receiver and Flight Controller

Remember, almost all of the pins on the Crossfire receiver can be mapped in software, this means there are many different ways of connecting the RX to the flight controller. I will show you how I connect mine and map the pins, you can follow exactly what I do here.

Connection is simple, 5V to 5V, GND to GND, CH1 (Crossfire) to UART RX, CH2 (Crossfire) to UART TX. You can use any spare UART on the flight controller, but they have to be the same numbered UART.

You can also just connect CH1 and set it up to output SBUS, but I want to use CRSF protocol so you will need to connect both wires.

Note that the CRSF protocol is NOT an inverted protocol like SBUS or SmartPort, therefore you must not use dedicated SBUS or SmartPort pin on an F4 FC which has built-in signal inverter for that pin. However this doesn’t matter on F3 and F7 FC’s as the inversion can be switched on or off in software.

You cannot use Soft Serial either, because they are not fast enough for the data connection.

In this example, I am connecting the Crossfire RX to the UART 6 of the Kakute F4 AIO V2 FC.

Crossfire Micro Receiver:

Crossfire Nano Receiver:

Binding Crossfire TX module and RX

Pairing the Crossfire TX Module and the RX for the first time can be very confusing. It’s easier with the full version TX module because you can read the instructions on the LCD screen.

With the Micro version you have to guess what’s going on with the status LED which is not very intuitive. Therefore I prefer to use the LUA script to pair my TX and RX. This script comes with OpenTX 2.2, so you DON’T need to download anything extra :)

Here are the steps to bind the Crossfire TX module with the RX:

  • Power on the RX, it should be flashing red
  • Short press the bind button on the RX, it should be flashing green now, which indicates it’s waiting for the bind signal from the TX
  • Turn on your Taranis
  • Long press the Menu button on the Taranis to enter the Radio Setup page. Press “page” once to enter the “SD Card” page
  • Select the “CROSSFIRE” folder and long press “crossfire.lua”, select “execute” from the dropdown list

  • In the next screen, select the only option, “XF Micro TX”
  • In the new screen (as shown below), select the second option “Binding”

  • You will be prompted the message “Binding…”, and a few seconds later, you will be prompted to confirm if you want to update the receiver, and you should press “Enter”
  • It will take a few minutes to update the RX’s firmware, once it’s done, the lights on both the RX and TX should stay green
  • The pairing is complete

Configure RX from Taranis

Once your TX module and RX are paired, you should be able to configure your RX from your Taranis using the LUA script.

Long press the Menu button on the Taranis to enter the Radio Setup page. Press “page” once to enter the “SD Card” page.

Select the “CROSSFIRE” folder and long press “crossfire.lua”, select “execute” from the dropdown list.

You can now configure both the Crossfire TX and RX. If you don’t see the option “XF Micro/Nano RX”, it means your receiver is either not bound or the power is off.

The first thing you want to do is configure your receiver output mapping to get it to talk to Betaflight.

To do this, press into “XF Micro/Nano RX”, scroll down to “Output Map”, and change “Output 1” to “CRSF TX”, “Output 2” to “CRSF RX”. That’s it :)

The next step is not compulsory, but in case you are interested, you can also setup a channel to send RSSI info to Betaflight in this menu, this will allow you to display RSSI value on your OSD. RSSI is the signal strength of your radio link.

Scroll down to “Channel Map” and change a spare channel to RSSI, for example, I chose channel 8.

Take a look at the rest of the settings and change whatever you need, the most important thing is to make sure you are using the legal frequency and transmission power for your region – US should be using 915MHz while Europe should be using 868MHz.

Configure Betaflight for Crossfire

The last step is to setup Betaflight to recognize the Crossfire protocol.

Go to the “Ports” tab in the Betaflight configurator, and enable “Serial RX” in the UART you’ve connected to the Crossfire receiver. Press “Save”.

Now go to the “Configuration” tab, under the “Receiver” Section, select “Serial-based receiver“, and select “CRSF” in the second option.

Don’t forget to enable “Telemetry” feature too before pressing “Save”.

Finally, go to the “Receiver” tab where you should now see response from stick movement. If the channels are in the wrong order, choose a different “Channel Map”. If you are not getting any response, go back and check your wiring, Output Map setting for the receiver, and Betaflight configurations.

If you have setup RSSI in a channel, you can select it in the “RSSI Channel” box. For Ch8, you should pick “AUX 4”.

That’s it, you have successfully setup Crossfire in Betaflight :)

To make sure Telemetry is working correctly, go to the Telemetry page in the Taranis, and select the option “Discover new sensors”, it should begin to pick up data from the flight controller including VFAS (battery voltage).

Mounting the Crossfire Receiver Antenna

If you have been using other radio systems, the first problem you are going to run into is mounting the unusually large receiver antenna. Here are some examples of the most popular antenna types including the stock dipole antenna and the Immortal T antenna.

Image credit: Eric Konasty

Image credit: beeb

To maximize range and signal strength, try to avoid getting the antenna blocked by the frame, don’t bend them and keep them in the angle they are designed to. Spare antennas are usually very low in stock, so avoid getting them damaged and keep them away from the propellers.

There are a million ways to mount the Crossfire antennas, it hugely depends on your mini quad frame. Don’t forget to search for 3D-printed antenna holders available on Thingiverse.

Setup LUA Script to Change PID & Betaflight Settings

You can install a LUA script that allows you to change many Betaflight settings on your quad, including PID, rates, looptime, filters parameters, as well as your VTX channels and power level!

The setup process is very similar to using SmartPort, except your don’t need to change any settings in Betaflight because it’s all done in this tutorial (i.e. Telemetry). You only need to following the instructions to download the LUA script and set it up in the Taranis, and you are good to go!

7 thoughts on “How to Setup TBS Crossfire with Betaflight

  1. Graham

    Hi, I’ve interested in getting crossfire but was wondering whether it would work with Turnigy 9XR PRO? Does it work with any OpenTX transmitter?

  2. jazep

    Hi! Thanks for very good instrucfion!
    I am interested, can I install the crossfire mini in my flysky 9X transmitter?
    Thank You very much!

  3. Haybeseret

    As usual, very informative.
    Only thing i can comment on is that TBS as well as Trappy on interviews indicate that you should monitor LQ and not RSSI. (I.E send LQ on one of the receiver channels and preset it on the OSD).
    On top in the Taranis the recommend configuring alerts base on calculation of RFMD and LQ (using special function, and logical switches)

  4. Markus

    Hey Oscar,

    showing the RSSI-value on my OSD doesn’t work, when I set CH8 to RSSI. But it’s working, if I set CH8 to “LQ”…do you know what the problem could be?

    1. Oscar Post author

      Yes I think i might have made a mistake about using RSSI as RSSI… LQ is the right one but there are extra steps to convert the value or something, i need to dig into that and update the guide.

  5. JonathanD

    Can you change vtx through lua this way?

    I wired channel 4 to smart audio channel(tx 1)
    Then in crossfire tx changed ch.4 to smart audio.
    If i don’t have to do these extra steps then that me great.

    Thank you!


Leave a Reply

Your email address will not be published. Required fields are marked *

Are you Robot? *

I only check blog comments once or twice a week, if you want a quick reply you can post your question on this forum You might get a faster response from me there (multirotor related only).