How to update antenna firmware for Frsky R9 Modules
ExpressLRS 3.5.x will be the last version to support STM32 based hardware. This includes Happymodel PP, ES915 Tx and Rx, early NamimnoRC Flash and Voyager, FrSky R9, SIYI and ImmersionRC hardware.
Due to limited computing resources of the STM32 platform and functional gaps (such as WiFi, Bluetooth, and expansion features), a less efficient ExpressLRS version was created, which also placed a significant maintenance burden on the development team.
Important
R9M Lite Pro cannot be flashed via OpenTX or EdgeTX (Stock_BL method), therefore STLink v2 is required for flashing.
I. Via Stock_BL
This method requires OpenTX 2.3.12 or higher; or EdgeTX 2.4.0 or higher.
Download and save r9m_elrs_bl.frk to your RC transmitter's SD card, in the path: ./FIRMWARE folder.
Flash the r9m_elrs_bl.frk file to your high-frequency module
Enter the RC transmitter's system menu:
- For newer transmitters, press the SYS key to open the system menu.
- For older transmitters or transmitters with only a Menu key, long press the Menu key to open the system menu.
Use the Page key to navigate to the SD-HC card page.
Scroll down and open the FIRMWARE folder containing the r9m_elrs_bl.frk file.
Hold the Enter key and select "Flash external module" to flash the frk file.
You only need to flash the Bootloader once. After flashing it to the module, you don't need to reflash it with every update
Video guide:
(This video is from YouTube channel of blogger Jye Smith, URL: https://youtu.be/DG3f-lnNlms )
- Launch ExpressLRS Configurator on your computer, ensure the Official Releases tab is active, and select the Released version to flash to the TX module.

- Select the Device Category and Device target that match your hardware.
- Device Category: FrSky 900 MHz
- Device: FrSky R9M 900MHz TX, FrSky R9M Lite 900MHz TX

- Set the Flashing Method to Stock_BL

- Set the firmware options for the device.
- Regulatory Domain (Required. Select the domain appropriate for your location or country where you will be flying).
- Binding Phrase (Optional but highly recommended. Note this phrase as it should be the same on your other devices, otherwise they won't bind or sync).

- Click the Build button.

- Wait for the process to complete. A green success bar will appear in ExpressLRS Configurator.

On your computer, open the Temp folder which contains the firmware.elrs file. Copy and paste the firmware.elrs file to your RC transmitter's SD card (preferably into a folder for easy access).
On the RC transmitter, open the System Menu.
- On newer radios, you can press the SYS key to open the System Menu
- On older radios or radios with only a Menu key, long press the Menu key to open the System Menu
Using the Page key, navigate to the SD-HC card page, scroll down and open the folder where you can find the firmware.elrs file.
Highlight the file and hold the Enter button, then select "Flash External ELRS". Wait for the firmware writing to complete.
13. Use the ExpressLRS Lua script in the Tools page of the System Menu to verify that the firmware version has been updated.
2. Via STLink
Important
This method is irreversible. After using this method, you will not be able to revert to FrSky firmware. Please be sure to operate with caution!
Carefully disassemble your TX module to access the mainboard.
As shown in the figure below, connect the STLink V2 debugger to the pins on the mainboard.
R9M STLink Connection:


R9M Lite STLink Connection:

R9M Lite Pro STLink Connection:

Connect the STLink V2 debugger to the computer's USB port and ensure it is properly detected.
Before flashing, disable Readout Protection. To do this, download ST-LINK Utility and follow the related tutorial video to operate.
After completion, you can click Target → Disconnect to disconnect and close ST-Link Utility.
- On the computer, start ExpressLRS Configurator, ensure the Official Releases tab is activated, and select the Released version to be flashed to the TX module.

- Select Device Category and Device target that match your hardware.
- Device Category: FrSky 900 MHz
- Device: FrSky R9M 900MHz TX, FrSky R9M Lite 900MHz TX, FrSky R9M Lite Pro 900MHz TX

- Set the Flashing Method to STLink

- Set the firmware options for the device.
- Regulatory Domain (Required. Select the domain suitable for your flying location or country).
- Bind Phrase (Optional but highly recommended. Note this phrase as it should be the same on your other devices, otherwise they will not bind or sync).

- Click the Flash button.

Wait for the process to complete. A green success bar will appear in ExpressLRS Configurator.
Disconnect the STLink V2 from the TX module PCB, then reassemble the module.
Reconnect the TX module to the transmitter and use the ExpressLRS Lua script to verify that the firmware version has been updated.
———— This article is referenced from ExpressLRS Getting Started: https://www.expresslrs.org/quick-start/transmitters/frsky-r9modules/#flashingupdating-tx-module-firmware