Flashing ExpressLRS Firmware to IRC Ghost Receivers Using STlink Tool

by Oscar
Flash Immersionrc Irc Ghost Rx Receiver Expresslrs Stm32 Stlink Tool

In this tutorial, we will guide you through the process of flashing ExpressLRS firmware to your ImmersionRC Ghost Receiver using the STlink V2 Tool. This method also applies to other receivers, like Jumper or Frsky R9. We will break down the process into easy-to-follow steps.

Some of the links on this page are affiliate links. I receive a commission (at no extra cost to you) if you make a purchase after clicking on one of these affiliate links. This helps support the free content for the community on this website. Please read our Affiliate Link Policy for more information.

Warning: as far as I know, there’s no going back. Once you flash ExpressLRS there’s no easy way to flash Ghost firmware.

Purchasing a STLink Tool

Stm32 St Link V2 Program Usb Tool Pinout 3.3v 5v Dio Clk

You will need a STM32 STLink Tool that allows you to upload firmware file directly to the processor via the STM32 ST-Link Utility program.

Buy the ST-Link V2 Tool here:

Preparing the Receiver

Immersionrc Ghost Receivers Rx Stlink Pinout Dio Clk 3.3v Gnd

If your receiver is connected to a flight controller, remove it from the drone so you can easily access the four small solder pads as labelled in the above image.

Identify the pinout on the receiver for 3.3V, ground (GND), I/O (DIO), and Clock (CLK). Do not power the receiver from both 5V and 3.3V at the same time, pick one. Connect the receiver to the STlink V2 Tool:

  • 3.3V to 3.3V
  • GND to GND
  • SWCLK to CLK
  • SWDIO to DIO

Stm32 St Link V2 Program Usb Tool Pinout 3.3v 5v Dio Clk

Flash Immersionrc Irc Ghost Rx Receiver Expresslrs Stm32 Stlink Tool

Removing Protection

Download and install the STM32 ST-Link Utility: https://www.st.com/en/development-tools/stsw-link004.html

Connect the receiver to the STLink tool, and plug it into your computer and launch the STM32 Link Utility. Go to Target > Option Bytes.

Flash Immersionrc Irc Ghost Rx Receiver Expresslrs Stm32 Stlink Utility Target Option Bytes

Remove the read protection by switching “Read out Protection” to level 0.

Flash Immersionrc Irc Ghost Rx Receiver Expresslrs Stm32 Stlink Utility Option Bytes Readout Protection Level 0 1

Then click “Unselect all” under Flash sectors protection, and click ‘Apply’ to save the changes.

Flash Immersionrc Irc Ghost Rx Receiver Expresslrs Stm32 Stlink Utility Option Bytes Readout Protection Level 0 Unselect Flash Sectors

After getting the “Option bytes udated successfully” message, you can now close the STM32 ST-LINK Utility program.

Flash Immersionrc Irc Ghost Rx Receiver Expresslrs Stm32 Stlink Utility Option Bytes Update Success

Flashing ExpressLRS

Download and install the ExpressLRS Configurator: https://oscarliang.com/setup-expresslrs-2-4ghz/#Download-ExpressLRS-Configurator

Open the configurator and select the appropriate branch and target for your receiver, in this case, ImmersionRC Ghost and GHOST ATTO 2400 RX. Under Flashing method, select STLink.

Flash Immersionrc Irc Ghost Rx Receiver Expresslrs Configurator Stlink

Configure your binding phrase, connection options, and telemetry settings as desired. This section explains what the settings mean: https://oscarliang.com/setup-expresslrs-2-4ghz/#Compile-and-Flash-TX-Firmware

Click ‘Build and Flash’ to start the flashing process.

Wait for the process to complete, during flashing, the status LED on the ST-Link programmer should blink rapidly. This should only take less than a minute to complete.

Testing and Final Steps

Connect the receiver to your flight controller and ensure it works properly in Betaflight: https://oscarliang.com/setup-expresslrs-2-4ghz/#Connect-ELRS-Receiver-to-FC

From now on, you should be able to flash ExpressLRS to the receiver via Betaflight Pass-through as documented here: https://oscarliang.com/setup-expresslrs-2-4ghz/#Flash-RX-Firmware-via-Betaflight-Passthrough

That’s it.

Leave a Comment

By using this form, you agree with the storage and handling of your data by this website. Note that all comments are held for moderation before appearing.

3 comments

deadmoo 21st April 2023 - 5:43 pm

I would like to know if this can be done on zepto and the builtin rx on new beebrain v4.

Reply
Adrian 19th April 2023 - 12:38 am

Hi Oscar, thank you for such a tutorial, anyway in the picture shown, is it okay if we power up the receiver without any antennae attached? (it may overheat the chip and burn) CMIIW..

Thank you

Reply
Oscar 19th April 2023 - 2:15 am

They do have telemetry (transmitter), so yea it’s best to have antenna attached. This is a bad example i guess.

Reply