TBS Crossfire Setup For TX16S, T18, T16 and Taranis

This tutorial explains how to install and setup TBS Crossfire for the TX16S, T18, T16, and the Taranis X9D+. I will show you how to connect Crossfire receiver to flight controller and configure it in Betaflight. The same steps apply to other OpenTX radios.

Further Reading: How to choose radio transmitter?

What’s Special about TBS Crossfire?

The TBS Crossfire is a popular RC system for long range flying.

It’s an external RF module that can be installed directly on the back of the Taranis and Nirvana, so you can still use the powerful OpenTX interface.

The Crossfire operates at the 900MHz band, the low frequency means excellent signal penetration ability through obstacles. That gives you longer range and more reliable signal compared to the typical 2.4GHz we use on racing drones. However, the downside is the longer and larger receiver antennas.

The Frsky Taranis with their “full range” receivers (e.g. the R-XSR and X4R-SB) can theoretically give you 1.5Km range, which is more than enough for most of mini quad pilots. However, there are times we want longer range or simply more reliable signal behind obstacles like trees or buildings, that’s where the Crossfire comes into play.

The other advantage of Crossfire is the lower latency which reportedly improves the handling of the quadcopter according to many well known pilots. We are talking about milli-seconds of differences so you might or might not be able to tell.

Crossfire TX Modules

TBS Crossfire TX Module TBS Crossfire Micro TX V2
– 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 250mW (maybe 500mW?)
– Lighter, smaller, cheaper
Amazon GetFPV | Amazon

Not sure what to choose between the Micro module and Full module? Check out my comparison of the two.

TX Antennas

Stock Antenna V2 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
Amazon GetFPV | Amazon


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
Amazon | GetFPV GetFPV | Amazon |NBD
Crossfire Diversity Nano RX
Dual antennas allows better range; Additional features to existing RX
Amazon | GetFPV

RX Antennas

MicroVee Antenna Immortal T Antenna
– Cheap, simple, lightweight and flexible – Same performance but stronger, and heavier
915MHz: Amazon | GetFPV
868MHz: Amazon | GetFPV
Amazon | GetFPV | Banggood


Mini Immortal T
2g lighter than Immortal T and much smaller, great for micro drones, but range is largely reduced

Updating OpenTX

Update your radio to the latest OpenTX for the latest bug fixes and features. Here is how to update OpenTX firmware on your Taranis.

Make sure to download the correct SD card content, because there are certain files we need in order to configure the Crossfire module and receiver (i.e. Crossfire LUA scripts). I explained how to do this in the tutorial linked above.

Updating TBS Crossfire Firmware

You should update your Crossfire TX module to the latest firmware. To do this, download and install TBS Agent from TBS’s website: http://www.team-blacksheep.com/corepro/agent

Launch TBS Agent X and login with the same account that you use on TBS’s website, username should be your email address. If you don’t have one it shouldn’t take long to register.

Connect your Crossfire TX module to the computer with a USB cable.

Your TX module should pop up on the screen, click the “Manage”, then “Firmware”.

Here you will see your current firmware version. If there is a new firmware available, click the “Update” button.

The update should only take a minute or two to complete.

Every time you update the firmware on your TX module, you also need to update the firmware on your RX. This is very easy, it can be done wirelessly from your TX module, no need to connect RX to computer :) we will cover that part in the binding process below.

Installing Crossfire TX module in the Radio

You can install the Crossfire TX module directly in the external JR module bay on the back of the radio. Insert the module carefully, make sure all the pins go into the sockets of the Crossfire module properly.

The Crossfire module is fully compatible with Taranis X9D+, Jumper T18, T16, and the RadioMaster TX16S.

It also works with Taranis Q X7, and Horus X10S, 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 it, but it’s quite difficult to do (involves soldering to the main processor) and therefore I don’t recommend using these radios with Crossfire.

Setup Radio to Enable Crossfire TX Module

You will have to create a new model in the radio for Crossfire. A simple way is to duplicate an existing model and rename it to “Crossfire”. If you want to set it up from scratch, here is a tutorial on how to.

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).

RX and FC Connection

Remember that almost all of the pins on the Crossfire receiver can be mapped in software. This means you can configure them to output whatever you want, and so there are more than 1 way to connect your 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.

  • 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.

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 in order to get telemetry working as well.

Tutorial: How to setup Crossfire to output SBUS

Note that the CRSF protocol is NOT an “inverted” protocol like SBUS and SmartPort, therefore you must NOT use dedicated SBUS and SmartPort pins on an F4 FC, which have built-in signal inverter for those pins. 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 it’s not fast enough.

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 Receiver

Crossfire Receiver Binding is super simple (most of the times), you can activate binding mode in the Crossfire LUA script. This LUA script comes with OpenTX (2.2 and newer), so you DON’T need to download anything :)


TBS Crossfire "Full" Module Installed on the back of the Horus X10

TBS Crossfire “Full” Module Installed on the back of the Horus X10

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

  • Power on the RX, it should be flashing green, which indicates it’s waiting to bind (if it’s LED stays red, press the bind button on the RX, it should start flashing green)
  • Turn on your radio, long press the System button to go to Radio Setup
  • Press the “Page” button twice to access the “Tools” page
  • Select “Crossfire configure”

For older OpenTX Versions that don't have the "Tools" page,
You can find the Crossfire LUA script in the SD card folder:
- Long press the Menu/System button to enter Radio Setup. 
- Press "page" once to access "SD Card" page
- Select the "CROSSFIRE" folder
- Select "crossfire.lua" and long press Enter
- Select "execute" from the dropdown list

In the next screen, select the only option, “XF Micro TX”.

In the next screen (as shown below), select the second option “Binding”.

You will be prompted the message “Binding…”, It should only take a few seconds to bind

If the RX has outdated firmware, you will be prompted to update it, which will take a few minutes. Once it’s done, the receiver will flash green rapidly for a few seconds (loading firmware), then the green lights on both the RX and TX module will become solid

When binding is complete  the T16 will automatically exit binding mode, and the receiver LED should turn from red to green (solid)

Hit the exit button on your radio to configure the Crossfire Nano receiver.

Configuring RX from Radio

Once your receiver is bound, you can now configure both the TBS Crossfire TX module and receiver from your radio’s Crossfire Configure Tool. If you don’t see the option “XF Micro/Nano RX”, it means your receiver is either not bound or it’s powered off.

The first thing you want to configure would be your receiver output mapping to get it talking to your flight controller.

To do this, select “XF Micro/Nano RX“, scroll down to “Output Map“, and change “Output 1” to “CRSF TX“, “Output 2” to “CRSF RX“.

That’s it :)

Now you can configure the TX module.

The most important thing is to make sure you are using the correct frequency in your region – for example, US should be using 915MHz while Europe should be using 868MHz. Using the wrong frequency can result in unreliable signal link and low RSSI and LQ.

For a typical FPV drone setup, setting power to around 250mW is adequate in most situations. And make sure to turn Dynamic Power off.

Since the v2.4 update, the maximum output power of the Micro TX module has been increased from 100mW to 250mW. It’s a software upgrade, no hardware change needed.

Mode is the number of channels you want to use, using 8 channels has less latency than 12 channels. Make sure telemetry is on, and set Failsafe to Cut so that the motors stop spinning in the event of signal loss, and your quad will drop out of the sky to minimize damage.

Configure Betaflight for Crossfire

The last step in our software setup is enabling Crossfire protocol in Betaflight.

Go to the “Ports” tab in the Betaflight configurator, and enable “Serial RX” in the UART you’ve connected to the TBS 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, you should now see response from stick movement. This means your receiver is working! If the channels are in the wrong order, just try a different “Channel Map”.

Check if end points (1000 and 2000) and mid points (1500) are correct, see this guide how to adjust if they aren’t correct.

No stick movement? Try this command in CLI: set serialrx_inverted = OFF

If you are still not getting any stick response, go back and check your wiring, Output Map setting in the receiver, and Betaflight configurations. Still nothing? Get some help over at IntoFPV.com!

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 RxBt (drone battery voltage).

Mounting 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. Learn about the different ways of mounting Crossfire antenna and their effects.

Here are some examples of the most popular antenna types including the stock dipole antenna and the Immortal T antenna.

Image credit: beeb

To maximize range and signal strength, try to avoid getting the antenna blocked by the frame. Do not bend the antenna and keep them pointing at the opposite direction will give you the best signal.

You can mount it anywhere on your frame as long as it doesn’t get chewed up by the props, and 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 we have configured everything necessary in this tutorial (i.e. Telemetry). You only need to following the instructions to download the LUA script to the Taranis, and you are good to go!

Setup LQ and RSSI on OSD and Taranis Warning

I have a detail tutorial explaining what LQ and RSSI are in Crossfire.

I will also explain how to display them on your Betaflight OSD, and setup voice warning in your OpenTX radio.


Here we will address some of the popular questions.

How many people can fly on Crossfire?

Aoccrding to TBS, theoretically, up to 50 people can fly at the same time using Crossfire. It’s been tested when there are 12 people, the radio link quality becomes noticeably worse but still flyable, so TBS don’t recommend any more than that flying at the same time :)

Edit History

  • Mar 2018 – Guide created
  • Jan 2019 – Updated product links and setup detail
  • Dec 2019 – Added screenshots for Jumper T16
  • Jun 2020 – Updated Agent X new version, Crossfire LUA script changed to Tools in OpenTX, added Micro TX V2

29 thoughts on “TBS Crossfire Setup For TX16S, T18, T16 and Taranis

  1. Horace Godfrey

    The picture indicating the wiring of the crossfire nano is backwards. The square pad is – not the one opposite it. Im hoping I didn’t fry my nano.

  2. Denis

    I’m new to OpenTX and crossfire world and I have a binding problem… When I open my Jumper T12 and my Quad … each time need to bind my receiver, I have to go to my model to bind my receiver every time ….It cause me a lot of trial & error to arm…
    don’t know wtah to do….

  3. Francois C

    I’m trying to have joystick response in Betaflight to finish my new build. The FC is a Succex e mini v2 with the esc board. I’ve wired a TBS Unify Pro HV and have video transmition. For the RC, It’s a Nirvana NV14 under open tx with a Crossfire. The receiver is a Crossfire nano diversity. I followed this diagram and git uart2 with serial activated. The crossfire tx and rx are on fix green but impossible to have the rc joystick moving in Betaflight.
    Any suggestion? I struggled to get crossfire binded with rx and finally got it. I had to update both rx and tx yo get a solid bind. I reflashed the fc to BTFL4 without any change…

  4. Frederic Martin

    I’m exactly the same as Alex, I followed exactly what Oscar explains and no response in BetaFlight … If I solder the rx in SBUS (only one wire therefore) it works, but I would like to benefit from the advantages of the Crossfire If anyone has an idea it would be really great …! Equipment: F4sd omnibus and crsf nano diversity (also tried with a micro crsf)

  5. Alex

    Hello! I am building out an iFlight F4 Micro V2.1 board on an Armattan Tadpole frame. I have hooked up a Crossfire Nano to the board, and I’m flying with a Taranis QX7s. I successfully performed the hardware mod and have managed to set the Taranis to the appropriate settings. My Crossfire TX Module is bound to the receiver, and my RSSI reads 99 on my Taranis telemetry screen. I have also set my Betaflight settings according to this article and iFlight’s own wiring diagram for the Crossfire Nano. However, my issue is that my sticks and switches don’t respond in Betaflight. I get absolutely no response from my inputs, yet everything seems to be connected and working properly. Any thoughts?

  6. Christian

    Hallo habe mir die Frsky Horus X10 gekauft und das Tbs Mikro Tx plus Nano Rx Empfänger habe auch alles hin bekommen wie es sein soll der Empfänger ist gebunden habe in der Funke alles eingestellt und in Betaflight genauso aber ich bekomme um fas verrecken keine Knüppel Ausschläge oder das ein Schalter angezeigt wird habe auch deinen rar bevolgt und CLI:set serialrx_inverted = OFF eingestellt und gespeichert dennoch null Ausschläge bin mittlerweile am verzweifeln und weiß nicht mehr weiter.
    Gruß Christian

  7. Thomas

    I get a warning every time I put crossfire into 1w or above, even with a external battery. what is the best battery to use and is my radio going to explode if I ignore the warning

  8. rio_t

    crossfire micro tx / nano rx
    WILL NOT BIND IN CE MODE on FW : 2.95, 2.93 2.42
    make sure you reset the TX to open by pressing the bind button on the tx 10 times –
    then everything works as described.

  9. Greg Stewart

    Hi Oscar,
    I purchased CRSF a few months ago as the “lite” version. I purchased a BNF quad with CRSF as the receiver a week ago, figuring that I would like to learn how to use CRSF. I have a Terranis X9D Plus. I plugged the module into the back of the X9D and created a new model, turned off the internal module and turned on the external set to CRSF. The module does not power up. I really did not know what I was doing but I used a 2S battery for external power with which I was able to update the firmware using Agent X, bind the receiver {nano RX}, update the receiver, and set the failsafe. The Crossfire does not show up on page 2 of the radio setup menu. I was not sure if it should or not. Apparently the radio is not communicating with the module. I got everything in Betaflight taken care of except the receiver section, which even though I am bound to it, will not respond to the radio. Any ideas? Thanks for any help you can offer.

  10. Francesco

    Excellent tutorial! Thanks a million! I have a question that is a bit out of topic : how did you change the font on de taranis x9d plus?


  11. Taufik

    Can CF Nano wire to R3 and T3? im using TBS Tango. Please advice. I’m abit confuse about uninverted, auto inversion.

  12. darryl

    I have a TBS crossfire set up, it binded ok, set beta flight on the FC, connected to uart 6 TX/RX.

    I have a horus x12 with firm ware 1.5.xx

    there is no option for CRSF in the RF system page. so there is no receiver activity.

    can you use the frOS or only OpenTX can use TBS crossfire.

  13. Jimmy Thompson

    I am getting ready to attempt to setup crossfire on my Emax Hawk 5 with the Magnum F4 AIO. I cannot find out which pins have UART on them. Has anyone else attempted this? If so which TX and RX pads have uarts on them?

    1. Blazar

      There are two UARTS in the reach of the Magnum F4 AIO. Look behind the VTX and you will see pads that say TX6, RX6, 5V, –

      This UART will work with CROSSFIRE. I would connect channel 1 to the TX and channel 2 to the RX. Good luck!

  14. Arnaud De Smedt

    Hi there,
    Any idea where it is best to connect my GPS to ? Got RX TX SCL and SDA, best connecting them to Crossfire NANO or to my flight controller ?

    1. Hadyan

      Just connect to Flight Controller, make sure you have enough UART port to provide maximum feature of the GPS

      My 6″ and 7″ Long Range setup uses Omnibus F4 v2/Pro Flight Controller, I choose this because it have enough UART port and with GPS enabled, you have feature like Magnetometer, Barometer, Compass…

    2. cubitusclaudius

      I have the same problem and I will try to connect it to the crossfire nano. At least SDA and SCL. I made the mistake to buy an Omnibus AIO F7 V2 from Airbot and you only have 3 full UART : UART1 UART3 and UART6
      UART2 and UART7 have only RX which means they are absolutely useless.
      I need to connect :
      – Tramp Telemetry (on a TX)
      – Crossfire on an UART (TX and RX)
      – GPS (another complete UART)
      – Compass (I2c which means SCL/SDA)

      If I don’t connect compass to the Nano, i’ll have to skip Tramp telemetry which is a pain for a long range frame. The problem is I don’t even know if it does work? there is very poor literature on the subject, and even Oscar Liang that I admire skips the subject of SCL/SDA pads on the Nano

  15. 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?

  16. 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!

  17. 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)

  18. 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.

  19. 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 *

For prompt technical support, please use our forum IntoFPV.com. I check blog comments weekly.