This tutorial explains how to setup TBS Crossfire for OpenTX radios such as the TX16S. I will also show you how to connect Crossfire receiver to a flight controller and configure it in Betaflight.
Further Reading: How to choose radio transmitter?
What’s TBS Crossfire?
The TBS Crossfire is a popular radio control system for long range FPV drones. It’s an external RF module that can be installed directly on the back of a radio transmitter (i.e. JR module bay).
Rather than the typical 2.4GHz that is used in most RC systems, the Crossfire operates at the 900MHz band. The low frequency means better signal penetration ability through obstacles and more reliable signal. Therefore many pilots prefer Crossfire even though they don’t intent to fly long range, just for the more stable signal connection and lower chance of failsafe in risky environment. However, the downside is the longer and larger receiver antennas.
The other advantage of Crossfire is the lower latency which reportedly improves the handling of the quadcopter according to many well known pilots. But we are talking about milli-seconds of differences so you might or might not be able to tell.
It’s hard to tell precisely what the maximum range of Crossfire is as it depends largely on the conditions of where you are flying. Based on personal experience, you could go 5 miles easily with 250mW (antennas in line of sight), and I wasn’t even pushing the limit there.
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
|– More practical and greater value |
– No screen, settings changed via LUA script only
– Max Power up to 1W (1000mW)
– Lighter, smaller, cheaper
|Amazon||GetFPV | Amazon|
|TBS Crossfire V2 Nano Module|
|Same features and performance as the V2 JR module, but has Lite interface (for the Lite module bay such as the Jumper T-Lite, Frsky X-Lite and Tandem X20 radios)|
I think the Micro V2 module is more than capable for most people flying freestyle and racing. The built-in screen in the full size module is no big deal as you can change pretty much all the settings in the radio. The additional features of the full size module are not really that useful to be honest for most pilots. The only advantage IMO is having the 2W output power option, and I don’t remember a time I need more than 250mW :)
|Stock Antenna||Diamond Antenna (Upgrade)|
|– Good enough for most pilots |
– Durable, Cheap
– Can be used for receiver
|– Slightly more reliable performance |
– Slightly more directional, more range in front of the pilot than behind
– Durable design for transport
|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|
|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|
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 firmware on your Crossfire TX module for the latest features and bug fixes.
Back in the days, we had to download and install TBS Agent, but now we can use a web based tool to do this. It’s much easier to use and reliable.
It’s called AgentM, it’s basically just a website: https://www.team-blacksheep.com/agentm/
Note: it only supports Chrome and Edge browsers at the moment.
Login with the same account that you use on TBS’s website, username should be your email address. If you don’t have a login, just register on TBS’s website.
Connect your Crossfire TX module to the computer with a USB cable. No need to power on radio for this to work. And in Agent M, click “link USB device”.
You will be prompted to connect to TBS Crossfire.
Here you can configure the Crossfire TX module. To update the firmware though, click the “Firmware” button at the bottom, you will be shown a list of available firmware. The firmware version you are currently on will be marked with a blue “Current”.
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 receivers – this is extremely simple, it can be done wirelessly from your TX module, no need to connect the RX to your computer :) I 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.
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 :)
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 radio 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.
Here is a list of available Crossfire Telemetry data, and what each means. To name a few frequently used ones: RxBt = Battery voltage, RQly = Link Quality, RFMD = Update Rate.
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.
According to the Crossfire manual:
Leaving the “Region” settings to Open will allow maximum output power regardless which frequency you select.
Here are the different frequency options. Only use the Race frequencies if you are actually racing as they sacrifice range for bandwidth for more consistent data packets. LBT means “listen before talk”.
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.
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 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 :)
- 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