Skip to content

ExpressLRS V3.4.0

Choose a tag to compare
@JyeSmith JyeSmith released this 18 May 11:47
· 14 commits to 3.x.x-maintenance since this release

Getting Started 3.0 Documentation

The important stuff

  • Arming must be on AUX1 for safety and feature reasons, having this fixed allows us to maintain small packet sizes and deliver better aux channel options
  • Flashing both the TX and RX are recommended but not required.
  • Lua script should be updated to elrsV3.lua and is backwards compatible with 2.x. Firmware get it here: Lua


This is a feature release version (meaning it contains new features, targets and bug-fixes) and is compatible with all V3.X versions.

Who should update from V3.3?

  • This release contains critical bugs fixes for PWM and LBT (Regulatory_Domain_EU_CE_2400) users. These users MUST upgrade.
  • Anyone who is interested in the latest and greatest features listed below

Who should NOT update from V3.3?

  • No one

Team Race

#2176 TeamRace allows multiple receivers to be connected to one transmitter at the same time, while selecting between them using a switch / 6-pos. The inactive receivers are failsafed, not outputting PWM or channel data via UART, and do not send telemetry. Don’t try to have multiple things in the air at the same time with this feature, or do, if legally allowed to.
Feature demo (eng sub available).

Added serial protocol HoTT Telemetry

#2408 First PWM receivers, then SBUS. What’s next? The ELRS team is excited to announce even more support for the growing community of ELRS enthusiasts flying fixed wing or helicopter models by providing access to external telemetry sensors without the use of flight controllers or DIY data hubs. The new serial protocol HoTT Telemetry allows connecting the wide range of readily available HoTT telemetry sensors to ESP32 and ESP8285 receivers. Even multiple HoTT sensors can be connected in parallel. See HoTT Telemetry Notes for more details.

PWM extensions

#2346 DShot output for PWM receivers
#2425 Configurable I2C pins for PWM capable (ESP32) receivers
#2535 PWM failsafe modes, like no-pulse, hold, and custom set position
#2624 WebUI: prevent multiple I2C SCL/SDA selections

Better binding experience

#2542 Allow all binding methods on RX
#2523 Support CRSF bind command from BetaFlight / EdgeTX
#2424 RX remembers last packet rate on disconnect for faster connect

  • Put a receiver into Bind Mode any time with or without bind info, and the receiver won’t leave bind mode (into wifi mode) if any request has put it there.
  • Bind from within Betaflight Configurator (10.10, BF4.5.0) or the Lua. Keep your receivers tucked away!
  • EdgeTX 2.11 will support putting a receiver into bind mode or completing a bind right from the model’s module UI.
  • Volatile Bind: Bind Info is forgotten on power-cycle. Best suited for shared crafts, and lending is much easier!

Gemini Xrossband (GemX) dual-band radio

#2540 GemX adds support for the LR1121, a 3rd generation transceiver from Semtech. With a single chip it is possible to use either 150-960MHz (sub-GHz) or 2.4GHz LoRa. The sub-GHz range is fully compatible with the current ELRS 433/868/900 range, and has the added benefit of +100mW output. It is also fully compatible with all 2.4GHz LoRa modes, but unfortunately, FLRC modes are not supported.

4 new RF modes have been added for the LR1121.

  • sub-GHz 250Hz (-111dBm)... YES we are going faster!
  • sub-GHz 200Hz Full (-111dBm) This mode is especially targeting our Mavlink users. The packet rate is double that of the current 900 SX1276 hardware.
  • Dual band X150Hz (-112dBm) Simultaneous sub-GHz and 2.4GHz transmissions in Gemini mode.
  • Dual band X100Hz Full (-112dBm) Simultaneous sub-GHz and 2.4GHz transmissions in Gemini mode.

Sentinel antenna tracker integration via wireless telemetry over ESPNOW

#2370 The Sentinel AAT now supports wireless tracking from the ExpressLRS backpack. There is also a DIY ExpressLRS Option. In addition, all telemetry items (Position, Attitude, Battery, LinkStats) are now broadcast from the backpack using ESPNOW. Telemetry broadcast can also be disabled from the Lua.

Move targets to separate repository

#2400 This allows the dev team to add new targets as soon as they have been tested/passed, if they don't require firmware changes to support them.

New Targets

With the separation of the targets from the main firmware repository we will list only those targets that are only supported from this release onwards.
Any new targets that have been added that can be supported by older firmware will just show up in Configurator.

"Match TX" telemetry power option

#2242 The Lua’s Other Devices -> RX -> Tlm Power now contains MatchTX as an option if the receiver supports changing power. It will attempt to match the transmitter’s output power, which is available in Fullres mode and Wide switch mode, but starts at default power until an update from the transmitter is received. Your Gemini 1W RX may not catch fire while waiting for a GPS lock.

Added US433 domains

#2309 Adds 2 new regulatory domains, US433 and US433-Wide. US433 is 8 hops in the 4.75MHz between 433.25MHz and 438MHz, while US433-Wide is 20 hops in the 14.5MHz between 423.5MHz and 438MHz. Expanding these bands will reduce the chance of interference while running 433MHz ExpressLRS links, enable Gemini 433MHz to run without self-interference, and allow more 433MHz ExpressLRS users to run simultaneously without concern.

ESP32-S3 target support

#2410 Support for ESP32-S3 targets
#2463 Get thermal info from S3 if no LM75A
#2472 Fix esp32s3 and backpack passthrough flashing settings
#2494 Allow flashing of the backpack on S3 via USB

OLED/TFT menu updates

#2322 Configurable OLED/TFT startup splash screen
#2432 Added switch-mode and Gemini settings

UDP/WiFi Joystick support

#2444 Adds a Joystick that sends data via UDP/WIFI that allows adding joystick support to simulators on platforms that don’t allow or support the existing Bluetooth/USB joystick options. The WiFi joystick support is implemented in the simulator itself and so the restrictions of iOS can be avoided. The protocol is described in the PR and all simulators can add support for this feature.

SPI VTx control

#2515 VTX SPI output calibration routine and initial PWM value config
#2583 Fixed VTX PWM array initialization for unified ESP32 targets

Support for non-EdgeTX handsets

#2528 PPM handset support

Support for BMP280/BME280 I2C barometers on receivers

#2480 Add BMP280/BME280 I2C barometer support


#2316 Allow SPI VTx operation without an FC, for use with planes/cars etc that do not use a flight controller
#2322 Display a logo on OLED/TFT boot


#2323 Fix backpack on Gemini 900 target
#2324 Disable MSP VTx after no comms on boot
#2365 Bring back full 16 Channel support
#2406 Work around hardware bug in ESP32-S3 SPI implementation for SPI connected VTx
#2415 Add float support to Lua
#2416 Fix Lua for SELECT types with only one value
#2422 Various web UI fixes and improvements
#2429 Hide Lua backpack items if the backpack is disabled
#2478 SUMD not working at packet rates above 100Hz
#2522 Pin AsyncTCP to a specific version (The upstream released a broken version!)
#2520 Allow screen rotation for TFT screens
#2525 Disable processing MSP VTX commands if there is no SPI VTx
#2536 Pick SSID with strongest RSSI in mesh networks with multiple identical SSIDs
#2550 Allow setting the destination for CRSF MSP packets (fixes integration with rotorflight)
#2567 Fix error when radio chip failed to read
#2568 Update the wifi power levels
#2588 PWM testing/fixes
#2589 Increase SX1276 SyncPktIntervalDisconnected for 25Hz
#2590 Add file drag-and-drop to web UI update tab
#2615 Pass through handset channels if headtracking switch is off
#2619 Fix "Not set" UID badge in web UI
#2622 Fix antenna value for Diversity/Gemini receivers
... and Numerous LBT fixes

Dropped/Deprecated Features

  • Loan Model (superseded by the New Binding Features; see #2542)

Known Issues