Skip to content

Frsky R9 Modules

Setup-Banner

Warning

The R9M Lite Pro can not be flashed via OpenTx or EdgeTX, and therefore requires an STLink v2 to flash. See the guide below

Flashing via OpenTX

Info

This method requires OpenTX 2.3.12 or newer; or EdgeTX 2.4.0 or newer.

Flashing the Bootloader

The bootloader is required to be flashed first prior to flashing the ExpressLRS firmware as the bootloader will replace the factory-bootloader, and enable the hardware to instead use the ExpressLRS code.

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.

Using an OpenTX transmitter, you flash the bootloader, and then flash ELRS.

Here is a quick 2 minute demo if you would rather watch a video than read the steps:

With the previous step (Radio Preparation) done, you should now readily flash your R9 Transmitter Module.

Copy r9m_elrs_bl.frk(14kb) onto the SD card of your radio, in the /FIRMWARE folder.

Flash r9m_elrs_bl.frk to your TX module:

  • Navigate in OpenTX to the TOOLS menu (hold SYS button)
  • Page to the SD-HC CARD page, then the FIRMWARE folder
  • Flash the frk file by holding OK and selecting "Flash external module"

Flashing the firmware

  • Targets:

    • Frsky_TX_R9M_via_stock_BL
    • Frsky_TX_R9M_LITE_via_stock_BL
  • Device Category:

    • Frsky R9
  • Device:

    • Frsky TX R9M
    • Frsky TX R9M LITE

via BL

Flashing via Stock_BL

In the ExpressLRS Configurator, select the correct target for your module and set your Firmware Options.

Click on Build and wait for the firmware to be compiled.

Build

After that's done, ExpressLRS Configurator Log should show the Success Message, and it will automatically open the folder where the firmware.elrs can be found. Put (copy-paste) the firmware.elrs to your Radio's SD Card (preferably to the /FIRMWARE folder for easy access). Once on your radio, navigate to the /FIRMWARE folder, select the firmware.elrs and click-hold the Enter button and select "Flash External ELRS".

By this point, the bootloader (r9m_elrs_bl.frk) should've been flashed already. Wait for the flashing to finish, and if your module is equipped with a speaker (full size R9Ms), you should hear the tune and two beeps (if the external module is now set to CRSF protocol).

  • Targets:

    • Frsky_TX_R9M_via_STLINK
    • Frsky_TX_R9M_LITE_via_STLINK
    • Frsky_TX_R9M_LITE_PRO_via_STLINK
  • Device Category:

    • Frsky R9
  • Device:

    • Frsky TX R9M
    • Frsky TX R9M LITE
    • Frsky TX R9M LITE PRO

via STLink

Flashing via STLink

This method is an irreversible one. You will not be able to go back to Frsky firmwares with this method. You have been warned!

This method also involves taking apart your module and soldering wires directly into its board. If you're not comfortable doing this, STOP now.

R9M-stlink

R9M STLink Connection

R9M Lite

R9M Lite STLink Connection

R9M Lite Pro

R9M Lite Pro STLink Connection

Wire up your module as shown above to your STLink device. This is important before any of the steps below.

Before flashing, disable 'Readout Protection'. To do this download the ST-LINK Utility and follow this quick how to video. After such, you can now disconnect (Target -> Disconnect) and close the ST-Link Utility.

With the module still connected to the STLink, and your Firmware Options set, hit Build & Flash in the ExpressLRS Configurator and wait for the process to finish.

Build & Flash

Once that's done, and the Success Message showing, you can now remove/unsolder the STLink, re-assemble the module, and put it into your Radio's Module Bay. The ExpressLRS tune should play and then two beeps after that can be heard, for units that have a speaker (R9Ms) and if the External Module is set to CRSF Protocol.

Verification can be done using the ExpressLRS Lua script. It should show the Version Number and Hash at the bottom, as well as the options you can set. If it's showing "Loading" at the top, check if External Module is set to CRSF for the selected model in your radio, and that the internal RF module is set to off. See the General Troubleshooting section for other ways to determine whether your module is flashed and ready for flying.