• Share page
  •  
  •  
  •  
  •  

How to update ExpressLRS receiver firmware

ExpressLRS is a protocol under development, so it is being upgraded frequently. Here, we will show you how to update the firmware of the Express LRS receiver.

Two types of receiver connection form

There are two types of connection between FC and ELRS receiver. One is the receiver built into AIO (All In One) type FC, where FC and receiver are connected by SPI. And the other is an external type receiver with the receiver cabled to FC UART port. The firmware update method also differs according to these connection types.
Note: From 2022 onwards, even AIO type FC products with receivers internally connected via UART (serial) are available on the market. In this case, update using the procedure for external type receivers.
In addition, it is expected that SPI connection receivers will not be supported in the future. Please note that such FC can no longer be used.

Updating from version 2.x to 3.x: Resolving Not Enough Space error

Depending on your receiver model, you may see a "Not Enough Space" error when updating from version 2.x to 3.x. To resolve this, first upgrade to version 2.5.1 and then install version 3.x firmware.
You can check the detailed firmware update procedure by opening [Receivers]-[Flashing Receivers]-[(receiver model name)] screen from Quick Start guide screen on the ExpressLRS official site.

Update ELRS receiver built into FC

Procedure for updating receiver built into AIO (All In One) type FC, which connected to FC by SPI.

In this case, ELRS receiver firmware is included in FC firmware. Use Betaflight Configurator to upgrade FC firmware, then receiver firmware will also be updated. See Installing and using Betaflight Configurator for beginners for instructions on this procedure.
Please check the FC manufacturer's website or Betaflight website etc. to see which FC firmware version corresponds to which ELRS version. Betaflight 4.4.x or later will support ELRS3.x.
In addition, you can read the operation method of the receiver built in FC on each page below.

How to set build options


To set build options such as "Binding Phrase" on the FC built-in receiver, enter it from command line on Betaflight Configurator CLI screen. Remember to enter "save" command after entering these commands.
set expresslrs_uid = 246,137,113,221,86,15
Set Binding Phrase. See How to Bind ExpressLRS Transmitter and Receiver for more information.
set expresslrs_rate_index = [INDEX]
Set Packet Rate. Specify one of 0(500Hz) / 1(250Hz) / 2(150Hz) / 3(50Hz) for INDEX. See How to set up ExpressLRS transmitter for more information.
set expresslrs_domain = ISM2400
Set Regulatory domains. AU433, AU915, EU433, EU868, FCC915, IN866, ISM2400 can be specified as arguments. Select "ISM2400" when using the 2.4GHz band outside the EU area.

Update external ELRS receiver

Procedure for updating external type receiver with the receiver cabled to FC UART port.

Basics of update method


Update is done using ExpressLRS Configurator installed on your computer.
External receivers can be updated using a USB cable (Betaflight Passthrough), Wifi, STLink unit or USB-TTL serial converter (FTDI). However, depending on the product, the methods that can be used are limited. Please check receiver manufacturer's website.
When using a USB cable, first connect receiver to FC's UART port. Then, in Betaflight Configurator , check / configure UART port and its protocol to which the receiver is connected. Then connect FC to your computer with a USB cable and update it with ExpressLRS Configurator . This procedure is called "BetaflightPassthrough".
When using Wifi, receiver acts as an Wifi access point. If you turn on only receiver (drone) without starting radio and wait for about 20 seconds (time depends on the firmware setting), the receiver will be in Wifi mode. Connect your computer to the receiver via Wifi and upload firmware from your browser. There are two types of ELRS receivers, one that uses STM32 chip and one that uses ESP8285 chip, but the receiver that uses STM32 chip does not have a WiFi function.
When using STLink or USB to TTL Serial Converter (FTDI), first connect STLink unit or USB to TTL Serial Converter (FTDI) and receiver with wire. Then connect it to your computer's USB connector and use ExpressLRS Configurator to update. Select "STLink" for "Flashing Method" when using STLink unit, and select "UART" when using USB-TTL serial converter.

When firmware has not been written


To set up ELRS receiver with no firmware written to it, you must first write Bootloader. You can read about this on Receiver Wiring page of ELRS official site.

Via USB: Check FC settings

When using BetaflightPassthrough, check settings related to connection between FC and ELRS receiver in Betaflight Configurator.
PC After connecting FC and ELRS receiver, use Betaflight Configurator to check the settings related to the connection between FC and ELRS receiver. Connect FC to your computer with USB cable, start Betaflight Configurator, and open "Ports" screen.
Then, make sure that "Serial Rx" field of the UART (port 1 in the example shown) to which the ELRS receiver is connected is ON.
PC Next, open "Receiver" screen and check that Receiver Mode field is "Serial (via UART)" and Serial Receiver Provider field is "CRSF".

Via USB: Build and update receiver firmware

When using BetaflightPassthrough, use ExpressLRS Configurator to build and update firmware.
In addition, software that uses COM port should be closed in advance, such as Betaflight Configurator.
Also, if you connect drone to your computer and leave it for a while, VTX may run away with heat. Place a small fan near the drone and work while cooling.
PC Start ExpressLRS Configurator and select "Configurator" from the left menu and "OFFICIAL RELEASES" from the Top menu.
In "Releases" field, select the firmware version to install. The latest version is selected as the initial value.
In "Device category" and "Device" fields, select the target device. For receivers, device name should contain "RX".
In "Flashing Method" field, specify how to write the firmware. Select "BetaflightPassthrough" when using USB.
Don't know device name?
If you don't know the device name to select, try accessing receiver from your computer with in WiFi mode. Then you can see target device name and current ELRS version. For more information, see Via WiFi: Connect your computer to receiver . However, some receiver do not have WiFi mode.
PC You can select options by scrolling the screen.
Regulatory domains
Select "EU_CE_2400" when using 2.4GHz band in the EU area, and select "ISM_2400" when using it outside the EU area.
Binding phrase setup
Where "Custom binding phrase" is written, specify "Binding Phrase", which is the "watchword" used to bind transmitter and receiver. If you set the same phrase for both transmitter and receiver, it will be automatically bound just by turning on the power. If you uncheck "BINDING_PHRASE", you can bind manually without using "Binding Phrase".
You can read more about other options on the following pages of the ExpressLRS official site.
Precautions when first time updating
Depending on the product, it may be necessary to switch to bootloader mode when updating the firmware for the first time after purchase using BetaflightPassthrough. Check the manufacturer's website.
If there is a Boot terminal on the receiver board, bridge it, then connect FC to USB connector (or battery) to boot. Then receiver will switch to bootloader mode. LED of the receiver will be lit all the time, and the firmware can be updated.
If there is a Bind / Firmware Upgrade button on receiver board, hold down the button and connect FC to USB connector (or battery) to boot. If you keep pressing the button, receiver will switch to bootloader mode. LED of the receiver will be lit all the time, and you can update the firmware.
These operations are required only the first time when rewriting the factory pre-installed firmware.
For detailed product-specific instructions, open Quick Start page on the ELRS official site and select [Receivers]-[Flashing Receivers]-[(Product Name)] from the menu.
If you are updating via WiFi , you do not need to do this.
PC After selecting options, scroll screen and click "BUILD & FLASH" button.
PC Then the firmware source code will be downloaded, build and write to the receiver will start. It will take a few minutes to a dozen minutes to complete.
PC If the writing is successful, "Success!" Will be displayed on a green background as shown in this figure. Power OFF -> ON the receiver (FC) and restart.
And now the firmware update is complete.

Via WiFi: Build receiver firmware

Build receiver firmware using ExpressLRS Configurator on your computer in the same way as the procedure via BetaflightPassthrough (USB)
PC Start ExpressLRS Configurator and select "Configurator" from the left menu and "OFFICIAL RELEASES" from the Top menu.
In "Releases" field, select the firmware version to install. The latest version is selected as the initial value.
In "Device category" and "Device" fields, select the target device. For receiver, device name should contain "RX".
In "Flashing Method" field, specify how to write the firmware. Select "WiFi" when using WiFi.
Also, specify the options in the same way as for the procedure via USB .
Don't know device name?
If you don't know the device name to select, try accessing receiver from your computer with in WiFi mode. Then you can see target device name and current ELRS version. For more information, see Via WiFi: Connect your computer to receiver . However, some receiver do not have WiFi mode.
PC After selecting options, scroll screen and click "BUILD" button.
If you have written firmware with the options "HOME_WIFI_SSID" and "HOME_WIFI_PASSWORD" in the past, the transmitter will be connected to your home LAN when it goes into WiFi mode. In this case, you can click "BUILD & FLASH" button to build and write the firmware at once.
PC If the build is successful, you will see "Success!" on a green background, as shown in this figure.
PC Then Explorer will start and the folder containing completed firmware binary file will open. Two files, "firmware.bin" and "(device name)-(version) .bin", are stored here. Both of these are the same.
Leave this explorer screen unclosed for later writing to the receiver.

Via WiFi: Switch receiver to WiFi mode

Connect only FC (receiver) to battery and start without starting radio. After waiting about 20 seconds (time depends on the firmware settings), the receiver will be in Wifi mode. LED on the receiver start flashes fast.
If you turn on the drone and leave it for a while, VTX may run away with heat. Place a small fan near the drone and work while cooling.
You can read the lighting pattern of the LED attached to the receiver and its meaning on LED Status (expresslrs.org) page of the ELRS official site.

Via WiFi: Connect your computer to receiver

PC When ELRS receiver goes into WiFi mode, an access point named "ExpressLRS RX" will appear. Open WiFi connection screen on your computer, select "Express LRS RX" and click "Connect". WiFi signal of the ELRS receiver is very weak, so place your computer near the receiver.
PC Then you will be asked for the network security key (password), so enter "expresslrs" and click "Next".
PC If your computer successfully connects to the receiver, browser will automatically start and IP address "10.0.0.1" will open, and you will see a screen like this.
On this screen, you can check the current receiver firmware version and target device name.
If you have written firmware with the options "HOME_WIFI_SSID" and "HOME_WIFI_PASSWORD" in the past, the receiver will be connected to your home LAN when it goes into WiFi mode. In this case, open "http://elrs_tx.local" from your browser.

Via WiFi: Update receiver firmware

PC Scroll the browser screen of ELRS receiver.
PC As you scroll, "Firmware Update" field will appear. You can update firmware by clicking "Browse" button to specify binary file of the built firmware, and pressing "Update" button.
In "Model Match" field below, you can specify "Receiver number" to connect to specific MODEL set in radio. When using "Model Match" function, set a value between 0 and 63 here. If you do not want to use "Model Match" function, set 255 here. For more information on Model Match feature, see How to set up ExpressLRS transmitter .
By the way, in "Join Network" field below, you can connect receiver to your home LAN by entering SSID and password of your home WiFi access point.
PC You can specify the file by dragging and dropping the firmware binary file to "Browse" button from the explorer opened when build is completed.
PC Press "Update" button to start updating the receiver firmware. It takes tens of seconds to minutes to update.
PC If the update is successful, you will see "Update Succeeded" like this. Power OFF -> ON the FC (receiver) and restart.
And now the firmware update is complete.

Update failed! Escape from Bricking

If firmware update fails and receiver stops working, the hardware is still intact. If you can rewrite firmware, you can escape from bricking.
If your receiver has an ESP8285 chip, you can rehash the firmware using ExpressLRS Configurator by switching it to bootloader mode.
If there is a Boot terminal on the receiver board, bridge it, then boot the receiver. Then receiver will switch to bootloader mode. LED of the receiver will be lit all the time, and the firmware can be updated.
If there is a Bind / Firmware Upgrade button on receiver board, hold down the button and boot the receiver. If you keep pressing the button, receiver will switch to bootloader mode. LED of the receiver will be lit all the time, and you can update the firmware.
In either case , receiver with ESP8285 chip has a GPIO0 pin somewhere on the board. After grounding this (connecting to GND), boot the receiver. Then receiver will switch to bootloader mode. LED of the receiver will be lit all the time, and the firmware can be updated.
Then write firmware using BetaflightPassthrough procedure or USB-TTL serial converter (FTDI) procedure. See below for details.