LQ and RSSI are both important metrics for ensuring a reliable radio link in FPV drones using ExpressLRS or Crossfire. While both provide valuable information, they measure different aspects of the connection. Understanding the differences between LQ and RSSI can help pilots monitor the signal quality during flights, determine maximum range and make adjustments to their equipment or flying style as needed.
- New to ELRS? See my guide on how to setup ExpressLRS for the first time.
- New to Crossfire? Check out my guide on how to setup TBS Crossfire with Betaflight.
What is RSSI?
RSSI (Raw Signal Strength Indicator) measures the strength of a received signal and is crucial in determining how much range is left during a flight. RSSI is measured in dBm (decibel milliwatts), a logarithmic scale, as opposed to mW (milli-watt) which is a linear scale.
RSSI starts from 0 as the highest value, and goes down as signal decreases. -130dBm is the hard limit, however in reality the lowest RSSI is usually not that low as it depends on the update rate and signal frequency.
Using dBm is preferred over mW because receivers can detect incredibly weak signals that are difficult to express in mW. For example, we can express 0.000000000001mW as -120dBm. It’s just so much easier to use dB when there are so many zero’s in mW. As you can see in this conversion table between dBm and mW, it perfectly demonstrates the benefits of using dB over mW.
|Power (dBm)||Power (mW)|
In Betaflight OSD, you have two different RSSI options RSSI Value (in percentage) and RSSI dBm Value. RSSI dBm is the recommended option as it provides a true measurement of signal strength. In Betaflight OSD, Modern RC systems like ExpressLRS, Crossfire, and Tracer support RSSI dBm reporting, but older systems like Frsky and Spektrum only support RSSI in percentage.
What is LQ?
LQ, or link quality, measures the percentage of uncorrupted data that passes through the receiver. LQ is displayed in a format such as 9:100, where the first number represents “RFMD” (or RF mode), and the second number represents the actual link quality value (it’s in percentage between 0 and 100).
For ExpressLRS, you can look up the RFMD and the corresponding modes and packet rates in the following table. For 9:100, the packet rate would be 500Hz.
|RFMD||Modes||Packet Rates||Sensitivity Limits|
For Crossfire, RFMD only goes up to 3, with the fastest packet rate being at 150Hz. When RFMD=3, it’s 150Hz; When RFMD=2, it’s 50Hz, and when RFMD=1, it’s 4Hz. Crossfire can dynamically adjust packet rates to maintain a stable control link. However Betaflight advises against using Dynamic packet rate as it may interfere with RC smoothing as explained here.
LQ and RSSI, Which Is More Important?
LQ and RSSI are both useful metrics to determine your range and how good your radio link is, it’s best to have both.
If you have to choose between LQ and RSSI, LQ might be slightly more important because it’s a more direct indicator of how reliable the radio link is. However it doesn’t tell you how much range is left in your link solely based on LQ, and you will also need RSSI for that.
To determine range limit based on RSSI, you need to consider the noise floor as well. Heavy noise level can screw up RC link all the same regardless how strong the signal might be. 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 receiver as the person you are trying to talk to in a noisy restaurant, with you being the transmitter. When you are talking, the volume of your voice is RSSI, the other person can hear you and understand everything you are saying, in this case LQ would be 100%. What really matters here is not how loudly you speak, but how many words the other person can hear and understand. If the restaurant is too noisy, your voice might be heard, but not a single word is understood, then in this case you have high RSSI but 0% LQ.
LQ tends suddenly drop at the end of range, while RSSI tends to decrease gradually in a more predictable fashion. It’s best to use both LQ and RSSI to understand the condition of the radio link.
- High LQ, high RSSI = healthy radio link
- Low LQ, high RSSI = noisy RF environment
- High LQ, low RSSI = If you are very far away, caution is needed as you are approaching the end of range; If the receiver is very close to the transmitter, that can be an indicator of antenna problem
- Low LQ, low RSSI = the end of range, you should turn back as failsafe is likely to happen
The Lowest LQ
LQ should ideally be 100%, but it’s normal for it to be below this value. For instance, an LQ of 50% means that only half of the packets are getting through. Even so, you can probably still fly with this. For example, at 500Hz, there are still 250 commands per second getting through, which is way faster than an older protocol like SBUS with 50Hz update rate.
The lowest LQ you should react to is subjective and depends on how much risk you are willing to take. You definitely don’t want to wait until it’s too low, the drone becomes uncontrollable. But in the above example, 50% at 500Hz might be acceptable. The point is, when your LQ drops, it’s a sign of warning: there could be interference corrupting the radio data, or you are approaching the end of range, or some other issues.
If your LQ drops to around 50-70%, you should pay attention to RSSI. If RSSI is also low (within 10dB margin to the sensitivity limit of the packet rate), it would be a good idea to turn back. If RSSI remains high, keep monitoring LQ and see if it improves. If not, you should turn back because there might be interference and it could get worse if you keep flying. Definitely turn back when LQ drops below 20%, as increased latency will make control difficult.
The Lowest RSSI
The lowest RSSI allowed depends on the packet rate and frequency of the signal. Lower packet rates and lower frequencies have a more sensitive signal. For example, the lowest theoretical RSSI value for 2.4GHz 500Hz is -105dBm, but for 915MHz 25Hz, it’s -123dBm, which is better for long-range flying.
It’s important not to underestimate a few dBm difference, as every 6dBm doubles the range. For example, in ExpressLRS, dropping the packet rate from 500Hz (-105dBm) to 150Hz (-112dBm) effectively doubles the range and more. I have a tutorial explaining how to use dB to estimate range in FPV.
Here’s a table of the lowest RSSI (sensitivity limit) values for each RF mode (packet rates) from the ExpressLRS WiKi. If RSSI goes below these limits, you will get a failsafe.
You can also find out the sensitivity limit in the LUA script when picking a packet rate:
So what’s the lowest RSSI we can go to avoid failsafe?
Your RSSI should be 10dBm higher than the sensitivity limit. For example, if you’re flying ExpressLRS 2.4GHz 500Hz, you should turn back if RSSI drops below -95dBm. Some experienced pilots might push it and use 6dBm as the margin, but if you want to play safe, use 10dBm margin.
However, RSSI dBm doesn’t take into account ambient noise, so it’s important to also check LQ. If RSSI is high but LQ is low, noise/interference could be the reason. Some RF systems reports SNR (signal to noise ratio) such as Crossfire, but ExpressLRS doesn’t do that yet.
Display LQ in OSD
In the OSD tab in Betaflight, you can enable “Link Quality”, “RSSI in dBm”, and “RSSI” OSD elements.
The Link Quality element gives you the RFMD value (0-13) followed by the LQ value (0-100). RFMD indicates which packet rates you are using as mentioned previously in the RFMD table.
I recommend having both Link Quality and RSSI in dBm in your OSD.
RSSI Alarm in OSD
Betaflight OSD can warn you if RSSI dBm drops below certain value.
In CLI, enter the command:
set osd_rssi_dbm_alarm = -95 save
Allowed range is -130 to 20, default value is -60
Setup Low LQ Warning in EdgeTX
In your radio, go to model setup, press the “PAGE” button to scroll to the Telemetry page. Set “Low alarm” to 50, and “Critical alarm” to 20. Make sure “Disable alarms” is unchecked.
You should get a voice warning when LQ drops below these values.
- 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
- Mar 2022 – updated URL, re-written for ExpressLRS
- Mar 2023 – updated RFMD for ExpressLRS 3.0