# How to Flash and Configure ExpressLRS Firmware via WiFi and Configurator
ExpressLRS (ELRS) has become the dominant FPV RC protocol — but its frequent firmware updates and WiFi-based flashing process confuse many pilots. Unlike Crossfire or FrSky, ELRS updates wirelessly through a web browser, no USB cable needed. This guide walks you through flashing both your transmitter module and receiver, plus essential configuration settings.
## Understanding ExpressLRS Firmware Versions
ExpressLRS updates frequently — roughly every 2-3 months. Knowing which version you’re on is the first step:
| Version Roadmap | Status | Key Features |
|—————-|——–|————–|
| ELRS 2.x | Legacy, unsupported | Original protocol |
| ELRS 3.0-3.4 | Stable (widest adoption) | 1000Hz modes, FLRC, wider channel support |
| ELRS 3.5+ | Current stable | Gemini Xrossband, improved telemetry |
| ELRS 4.0 | Released 2025 | Full Gemini support, native MAVLink, simplified config |
**Critical rule**: Your transmitter module and receiver MUST run the same MAJOR version (e.g., both 3.x). Mixing 3.x and 4.x will not bind.
## Step 1: Flash the Transmitter Module via WiFi
Most ELRS transmitter modules (Happymodel ES24TX, Radiomaster Ranger, BetaFPV SuperG) support WiFi flashing:
### WiFi Flash Process
1. **Enable WiFi on the module**:
– Power on your radio with the module inserted
– Unplug and replug the module 3 times rapidly (within 6 seconds)
– The module LED should flash rapidly, then go solid — WiFi is active
2. **Connect to the module’s WiFi network**:
– Look for a network named `ExpressLRS TX` (password: `expresslrs`)
– Connect from your phone, tablet, or laptop
3. **Open the web interface**:
– Browse to `http://10.0.0.1`
– You’ll see the ELRS Web UI with firmware version and options
4. **Choose and flash firmware**:
– Select your target (e.g., `Happymodel_ES24TX_2400_TX`)
– Choose the version (recommended: latest stable release, not pre-release)
– Set your regulatory domain (FCC for USA, CE for EU, ISM_2400 for others)
– Click “Flash” and wait 30-60 seconds
– The module will reboot automatically
### Binding Phrase: The Most Important Setting
During flashing, you’ll see a “Binding Phrase” field. This is ELRS’s best feature — set a unique phrase (at least 8 characters, mixed case) and every receiver flashed with the same phrase auto-binds. No button-pressing required.
**Example binding phrase**: `MyRacingQuad2025` (case-sensitive!)
## Step 2: Flash the Receiver via WiFi
ELRS receivers work identically to transmitter modules for flashing:
1. **Enable WiFi on the receiver**:
– Power the receiver (via USB or flight battery with FC powered)
– Wait 60 seconds — after timeout with no TX connection, ELRS receivers automatically enter WiFi mode
– The receiver LED will flash rapidly indicating WiFi is active
2. **Connect and configure**:
– Connect to `ExpressLRS RX` WiFi network (same password: `expresslrs`)
– Browse to `http://10.0.0.1`
– Select the correct target (e.g., `Happymodel_EP1_2400_RX`)
– **CRITICAL**: Enter the EXACT SAME binding phrase as your transmitter
– Set the same regulatory domain
– Flash
3. **Verify binding**:
– Power cycle the receiver
– With your transmitter on, the receiver LED should go solid within 2-3 seconds
– In Betaflight Receiver tab, sticks should respond
## Alternative: ELRS Configurator (USB Method)
If WiFi flashing fails or your device doesn’t support it, use the ExpressLRS Configurator desktop app via USB:
| Device | USB Flashing Method |
|——–|——————-|
| TX Module (internal or external) | USB-C cable to module, select COM port in Configurator |
| Receiver | USB-C on receiver, or via FC passthrough (Betaflight CLI: `serialpassthrough`) |
| Whoop AIO boards | Betaflight passthrough method — CLI + UART passthrough |
## Essential Configuration Settings
Once flashed, these settings matter for performance:
### Packet Rate Selection
| Packet Rate | Latency | Range | Best Use |
|————-|———|——-|———-|
| 1000Hz Full | Lowest latency | Long | Racing (fastest response) |
| 500Hz | Low latency | Long | Freestyle (best all-around) |
| 250Hz | Moderate | Long | General flying |
| 150Hz | Higher | Long | Long range (with telemetry) |
| 50Hz | High | Very long | Extreme long range |
| FLRC (500Hz) | Low | Very long | Long range with low latency |
**Recommendation**: Start at 500Hz. It’s the sweet spot — low enough latency for freestyle, robust enough for range.
### Telemetry Ratio
| Setting | Effect |
|———|——–|
| 1:2 | Telemetry sent every other packet (good for OSD data) |
| 1:4 | Telemetry every 4th packet (more range, less data) |
| 1:8 | Telemetry every 8th packet (max range, minimal data) |
| Std (1:32) | Default — fine for basic RSSI/dBm display |
| Off | No telemetry (not recommended — you want RSSI) |
### Dynamic Power
ELRS supports dynamic transmission power — the module automatically adjusts from 10mW to your configured max:
“`
Max Power options: 10mW, 25mW, 50mW, 100mW, 250mW, 500mW, 1W
“`
Enable dynamic power in the ELRS Lua script (on your radio). The module starts at 10mW and only increases when needed. This saves battery and reduces heat.
## Troubleshooting Common ELRS Issues
| Problem | Likely Cause | Fix |
|———|————-|—–|
| Won’t bind after flash | Different binding phrase or version | Re-flash both TX and RX with identical phrase and version |
| Telemetry lost / “Telemetry Lost” warning | LQ drops to 0 momentarily | Reduce packet rate or increase telemetry ratio |
| WiFi doesn’t appear | Module not entering WiFi mode | Try the 3-plug method again; wait longer (up to 10s) |
| “No serial data from FC” | Wrong UART or protocol | Check Ports tab — CRSF protocol on correct UART |
| Low LQ at close range | Swamping (too much power up close) | Enable dynamic power; use “Low Power on Disarm” |
| Receiver LED blinks slowly forever | Not bound to transmitter | Re-flash with correct phrase; check version match |
For reliable ExpressLRS hardware — including the latest Gemini-capable receivers and high-power transmitter modules — browse the RC section at **uavmodel.com**. They stock genuine Happymodel, Radiomaster, and BetaFPV ELRS gear with proper FCC/CE regulatory certification.
