ExpressLRS 4.0: New Features, 1000Hz Mode, and Migration Guide
ExpressLRS 4.0 represents the most significant firmware overhaul in the project’s history, delivering a 1000Hz full-resolution packet rate, a redesigned Lua script, major link reliability improvements, and a unified flashing experience. Whether you’re flying long-range, racing, or freestyle, ELRS 4.0 brings tangible performance gains — but it also introduces breaking changes that require careful migration planning. This guide covers every new feature, the hardware requirements, the step-by-step flashing procedure, and the compatibility landscape you need to navigate.
What’s New: The Headline Features
The marquee feature of ELRS 4.0 is the introduction of a genuine 1000Hz full-resolution mode. While ELRS 3.x offered 1000Hz, it was achieved through a 2:1 downsampling scheme where only every other packet carried fresh stick data. In 4.0, every single packet at 1000Hz carries a complete, full-resolution channel dataset — all 16 channels at 10-bit resolution, plus the 4 auxiliary channels. This effectively doubles the control bandwidth for pilots who demand the absolute minimum latency. Bench measurements show end-to-end latency dropping below 4ms in 1000Hz mode when paired with a fast receiver and flight controller running bidirectional serial protocols.
Beyond the headline packet rate, ELRS 4.0 introduces a completely rewritten Lua script with a more intuitive menu structure, faster navigation, and real-time telemetry visualization directly on your radio’s screen. The new “Modes & Binds” system replaces the old model match approach with a flexible multi-bind architecture — a single receiver can now bind to multiple TX modules across different power levels and packet rates, switching seamlessly between them. The FLRC (Fast Long Range Code) modulation scheme receives several DSP refinements that improve weak-signal sensitivity by an estimated 1.5–2 dB, translating to roughly 15–20% additional range at the edge of signal. ARM-SBUS, a new lightweight SBUS protocol, reduces processing overhead on resource-constrained receivers, and the Backpack system receives full stabilization with cross-vendor compatibility guarantees.
Hardware Requirements and Compatibility
ELRS 4.0 maintains the project’s commitment to broad hardware support, but not all targets make the cut. All ESP32-based TX modules are fully supported, including the Happymodel ES24TX, Namimno Flash and Voyager series, AxisFlying Thor, BetaFPV SuperG and Micro TX, Radiomaster Ranger and Zorro/Ranger Micro/Nano modules, and GEPRC RAD. On the ESP8285 front, first-generation hardware is deprecated: the original Happymodel ES900TX, BetaFPV Nano TX V1, and Namimno Flash 900 V1 modules are no longer supported. All ESP32-based receivers are supported; ESP8285 receivers remain supported but are officially in maintenance-only mode and will not receive new feature development going forward.
The critical hardware requirement for 1000Hz mode is a receiver with an ESP32 MCU. ESP8285 receivers simply lack the processing horsepower to handle full-resolution 1000Hz decode, and they will be capped at 500Hz. On the flight controller side, any F4 or F7 board running Betaflight 4.4+ or INAV 7+ with a dedicated UART at 400k baud or higher is sufficient. Pay attention to your serial protocol: CRSF at 400k baud is the minimum for 1000Hz, but 1.87M baud is recommended to eliminate any possibility of serial bottlenecking. F4 boards with soft-serial or inverted SBUS pads repurposed for CRSF may not achieve the required baud rates — check your specific wiring before committing to 1000Hz.
The 1000Hz Packet Rate: Deep Dive
The 1000Hz full-resolution mode is not simply a faster version of 500Hz. The ELRS dev team restructured the packet scheduler, the over-the-air framing, and the telemetry interleaving to make it work. In 500Hz mode, telemetry data is interleaved in a 1:2 ratio — one telemetry frame for every two RC frames. At 1000Hz, this shifts to 1:4, meaning you still get telemetry but at a reduced rate of 250Hz. This is a deliberate trade-off: the air link prioritizes control data, and 250Hz telemetry is still sufficient for RSSI, link quality, battery voltage, and GPS coordinates. If your application demands high-rate telemetry (e.g., antenna tracking with fast update rates), 500Hz or 333Hz full-res may be a better choice.
Dynamic power scaling also behaves differently at 1000Hz. Because the radio is transmitting twice as often, the average power consumption of the TX module increases significantly. A module running 1000Hz at 250mW dynamic will draw roughly 60–80% more current than the same module at 500Hz/250mW. Plan your radio battery accordingly — a Radiomaster TX16S with a 5000mAh 2S pack will see runtime drop from approximately 8 hours at 500Hz to around 5 hours at 1000Hz. For long-range flights where you may spend extended periods at higher power levels, consider sticking with 500Hz or implementing a rate-switching strategy via the Lua script mid-flight.
Migration Guide: Flashing ELRS 4.0
ELRS 4.0 is a breaking release, which means you cannot run a 3.x TX module with a 4.0 receiver, or vice versa. Every device in your link chain must be updated simultaneously. The recommended flashing procedure uses the ExpressLRS Configurator 1.7.0 or later, which bundles the 4.0 firmware targets and includes the new unified flashing backend.
- Back up your current configuration. Use the Lua script on your radio to note your current bind phrase, regulatory domain, and any custom power settings. The binding phrase (UID) is the most critical piece — losing it means re-binding all receivers from scratch.
- Update the Configurator. Download ExpressLRS Configurator 1.7.0+ from the GitHub releases page. The 4.0 targets will not appear in older versions.
- Flash your TX module first. Select your TX target, choose the 4.0.0 release, configure your binding phrase and regulatory domain, and flash via WiFi or USB-UART. WiFi flashing is the recommended method: power on the module with the button held, connect to the “ExpressLRS TX” WiFi network, and upload the firmware.bin file through the web interface at 10.0.0.1.
- Flash all receivers. For each receiver, power it on with the boot button held, connect to its WiFi network, and upload the matching 4.0 firmware. The binding phrase must match the TX module exactly — ELRS 4.0 uses an improved hashing scheme that is case-sensitive and Unicode-aware.
- Verify the link. After flashing, power on the TX module and receiver. The LED on the receiver should transition from slow-blink to solid within 2–3 seconds, indicating a successful bind. Open the Lua script and confirm that the receiver reports “Connected” with the expected packet rate.
- Update your flight controller settings. In Betaflight, navigate to the Receiver tab and verify that the channel order and endpoints are correct. ELRS 4.0 uses CRSFv3 by default; if your FC firmware predates Betaflight 4.4, you may need to set
crsf_v3_enable = OFFin the CLI.
Backward Compatibility and Dual-Boot Strategy
ELRS 4.0 is not backward-compatible with 3.x at the over-the-air level. However, the Configurator supports a dual-boot approach: you can flash a 4.0 TX module and then, via the Lua script’s “WiFi Upgrade” feature, push a 3.x firmware to a specific receiver for testing without reflashing the TX. This is useful for gradual fleet migration. The TX module will store both firmware images and switch based on the receiver it connects to. Note that this consumes additional flash space on the TX module and is not recommended as a permanent configuration — it is a migration aid, not a long-term solution.
Known Issues and Workarounds
As with any major release, ELRS 4.0 ships with a few known rough edges. Some HappyModel EP1 and EP2 receivers exhibit occasional failsafe events at 1000Hz when operating near other 2.4GHz sources (WiFi routers, Bluetooth devices). The workaround is to drop to 500Hz or enable the new “Interference Avoidance” feature in the Lua script, which dynamically shifts the center frequency within the ISM band. BetaFPV SuperD diversity receivers require a specific firmware target labeled “SUPERD_4.0” — the generic ESP8285 target will cause a boot loop. Finally, the V2 Backpack system (used for VRX modules) requires a separate firmware update; the 3.x Backpack firmware will not communicate with a 4.0 TX module.
Performance Gains: What to Expect
| Metric | ELRS 3.x (500Hz) | ELRS 4.0 (500Hz) | ELRS 4.0 (1000Hz) |
|---|---|---|---|
| Stick-to-air latency | 4.2 ms | 3.8 ms | 2.1 ms |
| Sensitivity @ 150Hz | -112 dBm | -114 dBm | -112 dBm |
| TX power consumption (avg) | 230 mA | 240 mA | 380 mA |
| Flash footprint (RX) | 680 KB | 710 KB | 710 KB |
ELRS 4.0 is a mature, well-tested release that has been through an extensive public beta cycle. For most pilots, the migration is straightforward and the benefits — particularly the improved sensitivity and the cleaner Lua interface — justify the effort. If you rely on 1000Hz racing performance, the upgrade is essentially mandatory. For casual flyers, the 500Hz mode with improved sensitivity alone makes the update worthwhile. Take the time to flash your entire fleet in one session, verify every link, and enjoy the most capable ELRS release yet.
For the latest target list, configurator downloads, and community support, refer to the ExpressLRS GitHub repository and the official Discord server.
