How to update IMRC Ghost receiver firmware
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 computational resources and feature gaps in the STM32 platform (such as WiFi, Bluetooth, and expansion modules), the ExpressLRS version performs poorly, creating a disproportionate maintenance burden for the development team.
I. Updating Receiver Firmware via STLink
Important
The only method to initially flash Ghost Atto/Zepto with ExpressLRS is using STLink. This is a one-way process. After flashing, you cannot return to factory firmware.
- Disconnect the receiver from the flight controller.
- Connect the receiver to the STLink V2 dongle. Locate the CLK, DIO, 3v3, and Gnd pads and connect them to the corresponding pins on the dongle.

- Launch ExpressLRS Configurator on your computer, ensure the Official Releases tab is active, and select the Released version to flash to the RX module.

- Select the Device Category and Device target that match your hardware.
- Device Category: ImmersionRC 2.4 GHz
- Device: Ghost Atto 2.4GHz RX

- Set the Flashing Method to STLink

- 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)
- Local WiFi Network Credentials (optional. Will be used when the device next enters WiFi mode).

- Click the Flash button.

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

- After a few seconds, the LED on the receiver should return to slow-blink LED mode.

- Reconnect the receiver to the flight controller.
II. Updating Receiver Firmware via Passthrough
Important
This method can only be used to update ExpressLRS firmware on Ghost Atto/Zepto.
- Ensure you have properly completed the receiver wiring and your flight controller is configured. Also, ensure the bootloader has been flashed to the R9 receiver (if applicable).
Important
This is an important step to ensure the update is successful. If you haven't completed these steps, please go back.
- Disconnect and close your FC Configurator application (Betaflight Configurator, INAV Configurator, etc.).
- If your receiver only powers on when connected to the flight controller via USB, unplug it. Hold the boot button on the receiver (not the FC), then plug in the USB. Release the button when the green and red LEDs are blinking alternately.
- If your receiver only powers on when connected to the flight controller's battery, unplug it. Then unplug and reinsert the USB data cable into your flight controller. Do not reconnect the battery for now.
- Launch ExpressLRS Configurator on your computer, ensure the Official Releases tab is active, and select the Released version to flash to the RX module.

- Select the Device Category and Device target that match your hardware.
- Device Category: ImmersionRC 2.4 GHz
- Device: Ghost Atto 2.4GHz RX

- Set the Flashing Method to BetaflightPassthrough

- 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)
- Local WiFi Network Credentials (optional. Will be used when the device next enters WiFi mode).

- Click the Flash button.

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

- After a few seconds, the LED on the receiver should return to slow-blink LED mode.

—— This article is referenced from ExpressLRS Getting Started: https://www.expresslrs.org/quick-start/receivers/ghost2400/