ExpressLRS 3.x Flashing and Migration: WiFi Updating, EdgeTX Integration, and Mode Switching — 2026 Guide

ExpressLRS 3.x changed the flashing game — WiFi updating is now the default for most targets, and the bind phrase system eliminated the manual binding dance. But if you’re migrating from 2.x with custom settings, the process has traps. I bricked an HM EP2 receiver on my first 3.x flash because I skipped the bootloader update step. Here’s exactly how to avoid that.

ELRS 3.x Migration: Pre-Flash Checklist

Step 1: Identify Your Current Version and Target

Open the ELRS Lua script on your radio (SYS button → ExpressLRS). Note your current version and the device target string. Targets changed between 2.x and 3.x — for example, “HappyModel EP 2400 RX” became “HappyModel EP 2400 RX” with a different internal identifier. If you flash the wrong target, the receiver won’t boot. Recovery requires USB-UART reflash.

Snap a photo of the Lua screen before you change anything. If something goes wrong, you’ll want the exact target name you were running.

Step 2: Flash the TX Module First

Always flash your transmitter module before your receivers. ELRS 3.x TX modules can talk to 2.x receivers, but not the other way around. If you flash a receiver to 3.x and your TX is still on 2.x, you have a dead receiver until the TX catches up.

For the RadioMaster Ranger, Happymodel ES24TX, or BetaFPV Micro TX: use the ELRS Configurator on your computer, select the correct target, choose WiFi as the flash method, build, and flash. Most TX modules now ship with a bootloader that supports WiFi updating — connect to the module’s WiFi network (ExpressLRS TX) and upload at 10.0.0.1.

Step 3: Update the ELRS Lua Script on Your Radio

The 2.x Lua script won’t talk correctly to 3.x firmware. Download the latest elrsV3.lua (or just elrs.lua in newer releases) from the ExpressLRS GitHub releases page and copy it to your radio’s SD card under /SCRIPTS/TOOLS/. If you use EdgeTX, the Lua script lives in /SCRIPTS/TOOLS/ and shows up under the SYS → Tools menu.

Step 4: Flash Receivers via WiFi (Passphrase Method)

Power your receiver three times quickly (power on, off, on, off, on) to enter WiFi mode. Connect to the “ExpressLRS RX” WiFi network (password: expresslrs), navigate to 10.0.0.1 in a browser. Upload the firmware file built from ELRS Configurator. The receiver reboots automatically.

For receivers without WiFi (SPI receivers on AIO whoop boards): flash via Betaflight pass-through or USB. Check your flight controller’s ELRS SPI target in the ELRS Configurator — misidentified SPI targets are the leading cause of “no RX” after flashing.

Step 5: Verify Binding Phrase Migration

ELRS 3.x uses the same binding phrase system as 2.x, but the UID byte order changed. If you used a custom binding phrase in 2.x, enter the exact same phrase in the 3.x firmware build options. Don’t change the UID — the algorithm generates the same UID from the same phrase. If your receiver doesn’t link after flashing, the binding phrase mismatch is the problem 90% of the time.

ExpressLRS 3.x Mode Switching Cheat Sheet

Mode Packet Rate Typical Range Latency Best For
50Hz 50Hz 30km+ 20ms Extreme long range, fixed wing
150Hz 150Hz 15-25km 7ms Long range FPV, mountain surfing
250Hz 250Hz 8-15km 5ms Mid-range cruising, cinematic
500Hz 500Hz 2-5km 4ms Freestyle, racing, proximity
F1000 (Full Res) 1000Hz 1-3km 2ms Racing, low latency freestyle
D250 (DVDA) 250Hz × 2 2-4km 4ms Diversity antenna setups
FLRC 500Hz 500Hz 1-2km 2.5ms Ground vehicles, short-range speed

Common Mistakes & How to Avoid Them

Mistake 1: Skipping the Bootloader Update
ELRS 3.x on some targets requires an updated bootloader. If you flash the firmware and the receiver enters a boot loop, the bootloader is incompatible. Fix: Use ELRS Configurator’s “Flash via STLink/USB-UART” option with “Erase Before Flash” enabled. This wipes the entire flash including the old bootloader and writes the new one. Wireless flashing won’t fix a bootloader mismatch.

Mistake 2: Wrong Regulatory Domain Selection
ELRS 3.x asks you to choose a regulatory domain during firmware build. The options are ISM_2400 (global, 250mW max on LBT-required hardware) or CE_2400 (EU, Listen Before Talk). Pick the wrong one and your module may refuse to transmit above 25mW. For most pilots outside the EU: ISM_2400. If you’re in the EU and your TX module supports LBT: CE_2400. This is set at firmware build time — changing it requires a reflash.

Mistake 3: Forgetting to Re-flash EdgeTX Internal Module
If you use an internal ELRS module (Radiomaster Zorro ELRS, Boxer ELRS, TX16S ELRS), the module firmware and EdgeTX version must match. ELRS 3.x requires EdgeTX 2.8.0 or newer. If EdgeTX is outdated, the Lua script may fail to communicate with the module — you’ll see “Waiting for module” indefinitely. Fix: Update EdgeTX first via EdgeTX Buddy, then flash the internal module.

Mistake 4: Leaving Model Match Enabled Across Multiple Quads
ELRS 3.x model match is powerful — it prevents arming the wrong quad — but it binds the receiver to a specific model slot in your radio. If you copy a model and forget to update the receiver number, the new model slot won’t connect. Fix: Either disable model match in the TX firmware build options, or manually set the receiver number in the ELRS Lua script to match the one stored in the receiver. The receiver number is visible in the Lua status screen.

Mistake 5: Assuming All Receivers Support All Packet Rates
The F1000 and D250 modes require receiver hardware support. Older receivers like the Happymodel EP1 and EP2 (pre-2023 revision) max out at 500Hz. Trying F1000 on these receivers causes failsafe within 100m. Check your receiver’s specs — newer EP1 Dual TCXO and Radiomaster RP-series receivers support the full range.

⚠️ Regulatory Notice: ExpressLRS operates in the 2.4GHz ISM band and is subject to the 2026 radio regulations of your country. Transmit power limits vary: FCC (US) allows up to 1W with frequency hopping; CE (EU) limits to 100mW EIRP with Listen Before Talk (LBT) in certain sub-bands. The CAAC (China) SRRC certification requires module-level approval. Always verify your module’s regulatory domain setting matches local requirements before flying.

My Migration Workflow for 5+ Quads

I keep a spreadsheet — yes, it’s nerdy — tracking every receiver’s target, firmware version, and binding phrase. When a new ELRS release drops, I flash the TX first, verify link with one quad, then batch-flash the rest via WiFi. The longest part is walking to each quad and power cycling it three times. As covered in our ELRS binding troubleshooting guide, most connection failures after a flash are binding phrase issues — don’t panic-flash, check the phrase first. And if you manage multiple quads, our ELRS model match guide covers receiver number management in detail.

For anyone buying new ELRS hardware, the Radiomaster RP1 ExpressLRS Receiver (2.4GHz, diversity antenna, ceramic tower PA/LNA) handles F1000 at solid range and costs less than a single crash repair. Available in the receiver section at uavmodel.com — I’ve replaced my full fleet with these.


Leave a Comment

Scroll to Top