Frsky R9
Bootloaders¶
The R9Mini/R9MM, R9MX and R9Slim+ require ExpressLRS Bootloaders to be flashed before the ExpressLRS firmware. The R9Slim doesn't have a bootloader and first time flash requires STLink.
Download the bootloader .frk
file for your respective receiver. The files are as follows:
- R9mm/mini:
r9mm_elrs_bl.frk
(14kb) orr9mm_no_btn_elrs_bl.frk
(14kb) (no_btn bootloader is only used if your bind/boot button on the receiver is faulty or has gone bad.) - R9mx:
r9mx_elrs_bl.frk
(20kb) - R9Slim+ (ACCST):
r9slim_plus_elrs_bl.frk
(14kb) - R9Slim+ (ACCESS/OTA):
r9slim_plus_ota_elrs_bl.frk
(18kb)
Copy the relevant file to your handset's SD card (You can put it inside /FIRMWARE
folder for easy access).
Wire the receiver to your radio's Smart Port, as shown:
Next, flash the .frk
via the S.port
flashing option in OpenTX
or EdgeTX
(It helps if the External RF module is set to
PPM
mode.)
- Navigate in OpenTX to the TOOLS menu (hold SYS button)
- Press Page once to the SD-HC CARD page, then select the
FIRMWARE
folder - Flash the frk file by holding OK/Enter and selecting "Flash external module"
Once done, unplug the receiver and your bootloader is flashed.
FYI
You only need to flash the Bootloader ONCE. After it's flashed into the receiver, you don't have to reflash it in every update.
R9Slim doesn't have a bootloader. As such, you need to flash it first via FTDI.
Troubleshooting No Sync¶
- Setting the External RF module to
PPM
mode helps. - Check if the receiver has its LED lit up or if it's powered.
- Check whether you've set your
Max Bauds
to115200
, especially if you're using a QX7 or an X9D (on OneBit Firmwares or EdgeTX). If so, put it back to 400k and try again.
Wiring up your receiver¶
Note
This will be the same wiring you'll use for flying and the subsequent firmware updates (via Passthrough). Forget the factory wiring guide!
R9Slim need to be flashed via STLink first before you wire it up to your Flight Controller.
Configuring your Flight Controller¶
To configure your flight controller properly, please go through Configure FC page. These settings apply on INAV, Betaflight and other flight controller software.
Ports Tab should be setup so that Serial RX is on the UART where you have soldered the receiver.
Receiver protocol is CRSF
with serialrx_inverted = off
and serialrx_halfduplex = off
.
The next step will not be able to proceed properly and you'll have issues later if any of these are set differently. Once you have configured your Flight Controller software, close its Configurator and unplug-replug the USB cable from the FC or your computer. This will refresh the connection and you'll be ensured that the port is not busy.
Flashing via Passthrough (works with Betaflight, INAV)¶
-
Targets:
Frsky_RX_R9MM_R9MINI_via_BetaflightPassthrough
Frsky_RX_R9MX_via_BetaflightPassthrough
Frsky_RX_R9SLIM_via_BetaflightPassthrough
Frsky_RX_R9SLIMPLUS_via_BetaflightPassthrough
Frsky_RX_R9SLIMPLUS_OTA_via_BetaflightPassthrough
-
Device Category:
Frsky R9
-
Device:
Frsky RX R9MM R9MINI
Frsky RX R9MX
Frsky RX R9SLIM
(If already flashed via STLink)Frsky RX R9SLIMPLUS
Frsky RX R9SLIMPLUS OTA
Make sure the correct Bootloader has been flashed to the receiver prior to wiring it up to your flight controller. Using the wiring guide above, find a free, uninverted UART in your FC. You can use your FC's wiring guide for a Crossfire or Ghost receiver.
Set up your Flight Controller for ExpressLRS. Make sure you have set Serial RX to the right UART (RX & TX Pair) under the Ports Tab. Follow the FC Configuration Guide.
Once your Flight Controller is configured, you should disconnect from Betaflight or INAV Configurator. Close your FC Configurator and unplug the USB to refresh the connection.
Plug in the Flight Controller to USB. Did your receiver powered up too (with both LEDs lit)? If so, disconnect USB, hold the bind button on your receiver, and reconnect to USB. The LED should start alternating between the Green and Red LEDs. Once it's alternating, you can then let go of the Bind Button.
If your receiver didn't get powered from USB, have a lipo ready and continue with the next steps. On the ExpressLRS Configurator, with your Firmware Options set, click on Build & Flash. Like on the TX module, it will take a while on the first time. Watch out for the Passthrough Init
stage. This stage will check your FC Configuration for the Serial RX UART (Software Inversion via "set serialrx_inverted" and Half Duplex mode via "set serialrx_halfduplex" will be checked; both should be off.)
Once Retry...
lines appear, connect a LiPo if your receiver isn't powered by the USB (i.e. power up your FC and receiver). On subsequent flash, you can have the LiPo plugged in and receiver powered up from the start prior to connecting the USB.
Wait for this process to finish. It's done once the "Success" prompt is shown.
Flashing via STLink¶
Warning
R9Slim requires this as the first flashing method. This is irreversible, meaning you cannot put back Frsky firmware.
-
Targets:
Frsky_RX_R9MM_R9MINI_via_STLINK
Frsky_RX_R9MX_via_STLINK
Frsky_RX_R9SLIM_via_STLINK
Frsky_RX_R9SLIMPLUS_via_STLINK
Frsky_RX_R9SLIMPLUS_OTA_via_STLINK
-
Device Category:
Frsky R9
-
Device:
Frsky RX R9MM R9MINI
Frsky RX R9MX
Frsky RX R9SLIM
Frsky RX R9SLIMPLUS
Frsky RX R9SLIMPLUS OTA
Warning
This method is irreversible. It will remove the ability to reflash back to Frsky firmware. Make sure your STLink dongle is properly recognized by your System as such (Drivers are installed, etc.).
Wire up the Receiver to your STLink using 3v3
, GND
, CLK
and DIO
.
Disable 'Readout Protection'. To do this download the ST-LINK Utility and follow this quick how to video. Or alternatively under linux you can use OpenOCD.
How to video:
After doing so, Disconnect
from STLink Utility.
Using the correct target specific for your receiver, set your Firmware Options and hit Build & Flash on the ExpressLRS Configurator.
Once done, wire your receiver to your Flight Controller. Passthrough flashing can now be used for updating the receiver.