LQ and RSSI can be confusing for first time TBS Crossfire users. I will try to explain the differences between LQ and RSSI for Crossfire. I will also show you how to set it up in Betaflight and OpenTX to monitor your link quality and range.
If you are new to Crossfire, check out my guide on how to setup TBS Crossfire with Betaflight.
What is RSSI
RSSI (Raw Signal Strength Indicator) is an indicator of how strong the received signal is. While this is a useful parameter for someone who is experienced, for most pilots this reading can be confusing, especially if you are coming from Frsky who uses RSSI as their indicator for link.
What is LQ
Besides RSSI, Crossfire receivers can also output LQ, which stands for “Link Quality“. It’s based on the percentage of signal data received.
The Crossfire LQ is scaled from 0% to 300%, not 0% to 100% like RSSI.
A Crossfire LQ between 300 and 200 means it’s in 150 Hz Mode, between 200 and 100 it‘s 50 Hz Mode and then it switches to 4 Hz Mode below 100 LQ. If your LQ drops below 70% you should turn back immediately!
You can also output a combined RSSI/LQ value. The RSSI/LQ value will always show the worse value between the two. This is useful if the used OSD only has one input for radio link statistics.
Why Use LQ Instead of RSSI for Crossfire
To know the range limit based on RSSI, you also need to know the noise floor. Heavy noise level can screw up the RC link all the same regardless how strong the signal is. Noise floor depends on many factors including the environment and the components in your drone.
A good analogy for this is to think of the Crossfire Receiver as the person you are trying to talk to in a noisy restaurant, and you are the Transmitter. When you are talking (RSSI), the other person can hear you and understand everything you are saying (LQ). What really matters is not how loudly I speak, but how many words you can hear and understand.
If you are not so familiar with how RSSI works we recommend to use LQ as your primary metric for determining whether your radio link is healthy or not. In many situations I’ve found to have bad RSSI while LQ is still high and working well. LQ just seems to be more reliable for me than RSSI. You can also use RSSI/LQ if you want to be more conservative about range.
Display LQ (New Way)
Since Betaflight 4.1, displaying LQ or RSSI from Crossfire is made super easy. You no longer need to assign LQ or RSSI to an AUX channel in the receiver (LUA script). It just appears in Betaflight now, all you have to do is:
- In configuration tab, Disable RSSI_ADC
- In Receiver tab, RSSI Channel, select Disable
- In OSD tab, you can now select Link Quality, RSSI in dBm, or RSSI
Previously in older Betaflight versions, LQ would only show a maximum of 99%, but it didn’t show 100-300 range, and so you couldn’t see the fluctuations between 150hz mode and 50hz mode.
Since BF4.2, LQ is displayed in a more complicated way but gives more info, we now have the RFMD value (0-2) followed by the LQ value (0-99).
- 0: 70-100 (4hz mode, REALLY BAD)
- 1: 100 (50Hz mode)
- 2: 100 (150 Hz mode)
As long as your RFMD value is 2 (150Hz latency mode) you don’t even need to worry about the LQ value. Once the RFMD values drops to 1 (50Hz latency mode) you need to start paying attention to the LQ value because anything below 80 while in RFMD 1 is warning territory and 70 is in the critical danger zone (you need to turn back immediately). If you ever see an RFMD value of 0 then your quad is basically already falling from the sky.
Keep in mind that small losses in 150Hz mode are perfectly normal, they should remain within 10% on normal flying.
Note that you need Crossfire firmware version 2.94 or newer for this to work. Otherwise you will get 0 LQ and RSSI.
If you use an older version of Betaflight prior to BF4.1, then you’d have to following the instructions below.
Display LQ (Old Way)
Prior to Betaflight 4.1 you have to use this method. You can also use this if you are using DJI FPV System as LQ doesn’t work.
Assign Channel to Output LQ
Execute the “Crossfire” LUA script on your Taranis. (How do I do that?)
Scroll down to “Channel Map” and pick a spare Dst. channel and change it to “LQ”, for example channel 8.
Display it on OSD
You can display this value on Betaflight OSD.
Go to the “Receiver” tab in Betaflight Configurator, select the Aux channel you are using for LQ. For Ch8, you should pick “AUX 4”. (minus the throttle, yaw, pitch and roll channels)
In the OSD tab, you also need to enable RSSI to display the value on screen and that’s it :)
The value will stay at 99 most of the times, because LQ is ranged between 0 to 300, and RSSI is only designed to display 0-99.
When it drops below 99, it’s already in 50Hz mode, you should be looking at this number closely. And when you see it drops to 70, you should turn back.
Setup Low LQ Warning in OpenTX Radio
LQ in Crossfire can output a wider range than OpenTX can interpret (0-300%). Therefore it’s split into 2 separate values in OpenTX (sensors in the telemetry tab): RLQY and RFMD.
RLQY stands for Received Link Quality. It’s the amount of the transmitted signal received by the receiver in percentage (0% to 100%).
RFMD means the Received Frequency Mode, and there are 3 RF modes:
- RFMD = 2 , 150Hz Mode,
- RFMD = 1, 50Hz Mode
- If RFMD = 0, 4Hz Mode (no telemetry)
Basically RFMD 2 is the Low latency mode for short distance flying and it provides the fastest update rate of 150Hz. Crossfire goes into RFMD 1 when you go for long range. If signal gets really weak, it will go into RFMD 0 and drop the update rate to 4Hz without telemetry.
By the way LQ can drop for a split second when it changes mode.
Here are what the logical switches are doing:
- L01 – this switch is triggered when we are in RFMD 1 or 0
- L02 – This is the warning switch. it’s turned on if L01 is on, and LQ is lower than 80%. There is a 0.5 second in case it’s just a glitch when mode is changing
- L03 – This is the critical warning switch. It’s turned on if L01 is on, and LQ is lower than 70%. There is also a 0.5 second delay for the same reason
Here are the Special Functions that play the audio warnings:
- SF1 – it plays the sound “Warn1” when L02 is switched on (80% LQ)
- SF2 – it plays the sound “Siren” when L03 is on (70% LQ)
You can use function “Play Track” to play any audio files you upload to the radio, here is a tutorial to teach you how.
!1x at the end of a function means it won’t play when you turn on the radio, and it only plays it once.
The Ideal LQ and Lowest LQ
When you are in RFMD 2 (150Hz), the maximum LQ will be 300%. But really, the percentage of LQ in this mode is kind of irrelevant and you can ignore it. Because the system will switch to RFMD 1 (50Hz) if it requires better link quality.
You should start to pay attention to LQ in when RFMD drops down to 1. If the signal quality continues to deteriorate it will change to the super slow RFMD 0 which only gives you 4Hz of update rates. It’s extremely hard to control a quad at this rate, but should be okay to bring a wing/plane home. A healthy long range link (RFMD 1) should stay above 90%.
LQ of 70% of lower is considered bad, If you see this you should turn back asap! If it’s consistently lower than that then you should check your antenna and frequency setting for potential setup errors.
To sum this up:
- For Betaflight 4.2 and newer, you should turn back at 1:70
- For Betaflight 4.1 and older, you should turn back at 70%
RSSI Is Not Useless
Normally you can display either RSSI or LQ, or both of them if you wish. I personally prefer to use LQ over RSSI, but sometimes it’s useful to have both measurements. For example:
- low LQ, high RSSI = lots of interference around you
- high LQ, low RSSI = an indicator that maybe something is wrong with your antennas
- low LQ, low RSSI = reaching the range limit of your gear
- Apr 2018 – article created
- Jan 2020 – added tldr section, added instructions to display LQ for Betaflight 4.1
- Jan 2021 – updated for BF 4.2 – changed how LQ is displayed in OSD