RSSI is a measurement of how good radio signal is between RC transmitter and receiver, which stands for Received Signal Strength Indication. It’s an important safety feature to help avoid lost of radio signal, which could lead to unexpected quadcopter crashes and damage to properties.
RSSI is generated from the receiver, but not all RX can have this feature. You can connect the RSSI pin on the RX to the FC or OSD if supported. Some receivers don’t provide this pin for RSSI so DIY modification and additional components might be required. If the radio system is capable of telemetry, it’s also possible to obtain RSSI and display it on your TX. You can even do some more advanced hacks with this.
For example with the FrSky Taranis transmitter and D4R-II receiver. The combo provides 1.5 km of range and telemetry feature including RSSI. We can simply connect the RSSI pin to the OSD, and the RSSI value can be shown on the FPV screen.
Another good thing with telemetry that sends RSSI is that the TX alarm starts beeping when the signal is getting too weak (based on RSSI value). It gives me great peace of mind to know how the signal strength is while flying, and when I should turn back. With this feature I barely looked at RSSI value in my OSD and eventually I removed it.
How to use RSSI signal
Knowing the difference between digital and analog RSSI
The RSSI is normally an analogue value (a voltage level). But that is not always the case and it could exist as PWM signal (pulsed width modulated) with variable high-low ratio depending on signal strength. Therefore there could be incompatibility in the system when reading RSSI. (That’s why a lot of people’s RSSI in OSD is always 0, 50 or 100)
To solve that, we need to convert the PWM signal to a voltage easily using a “Digital to Analog converter”, or simply a low pass filter (Resistor-Capacitor filter).
Some OSD modules or flight controllers accept direct connection to the PWM RSSI output because they have a low pass filter built in.
What if OSD doesn’t support RSSI?
If your OSD doesn’t support RSSI input, you might still be able to display RSSI. Most OSD has dual battery inputs (BAT1 and BAT2), they were designed to display your primary and secondary battery voltage levels. But most of the times we would only use one and with the spare battery input we can use that for RSSI.
Normally the range of the RSSI value is 3.7V to 0V (100% to 0%) when converted from PWM. It might not be a percentage number but voltage, you still get a good idea what RSSI level is. I did this mod with my Hobbyking E-OSD, and it worked like a charm.
Understanding what RSSI is
Not something you need to know in order to use RSSI, but in case you are curious.
RSSI isn’t actually an linear measurement like voltage or temperature, but a ratio of the current signal to some initial “good” value. It’s in dB, same measuring system used for audio levels. dB is a logarithmic measure, and it’s not linear. What this means is that by increasing 6dB means the signal has doubled in strength. So a change of +12dB in the RSSI means the signal has increased in power by 4 times, by +18dB means the signal has increased in power by 8 times, and so on.
For instance, if the RSSI reads about 110 at 1m and every time you double the distance between the transmitter and receiver, the RSSI level should drop by 6. At about 100 meters you should get an RSSI value of about 70 in ideal conditions.
A good way to see this effect is to use Range Test mode on your radio transmitter. In range test mode the transmitter module operates at 1/30 of full power.
RSSI for SBUS Protocol in Betaflight
In Betaflight 3.4 there is a new feature that calculates RSSI automatically when you are using SBUS. I think the way it works it pretty similar to LQ measurement in the TBS Crossfire, where the link quality is determined by the amount of corrupted packets.
When the radio link gets weak, SBUS packets can become corrupted. SBUS reports these corrupted packets to the FC, but previously this was ignored. Now, Betaflight can use these corrupted packets as an indicator of link strength, and show the result as RSSI in your OSD.
In my opinion this way of measuring RSSI is better than the traditional way which doesn’t take into account noise level of the environment. You can have a high RSSI and high number of corrupted data at the same time if noise interference is high.
This new feature is is also better than “passing RSSI through a spare PPM or SBUS channel“, because it doesn’t take up any channel.
Note that this link-quality metric doesn’t behave exactly like RSSI used to. As you’re approaching the range limit, the value can drop off a lot faster than you expected. So make sure to do some test flights and get used to the new system.
First created in May 2014, last updated in Aug 2016.