| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| elrs.lua | 2026-07-16 | 30.5 kB | |
| ExpressLRS 4.1.0 source code.tar.gz | 2026-07-14 | 1.6 MB | |
| ExpressLRS 4.1.0 source code.zip | 2026-07-14 | 1.8 MB | |
| README.md | 2026-07-14 | 8.3 kB | |
| Totals: 4 Items | 3.5 MB | 0 | |
Compatibility
Compatible with all hardware running any ExpressLRS 4.x version
Highlights
Dynamic Power Goes Down
[#3577] The statistical dynamic power algorithm introduced in 4.0 had a tendency to keep the power level high once it raised it, this change allows it to be a little less cautious. The power down threshold has been lowered from +1.5 SD to +0.5 SD, resulting in more opportunities to lower the power when the signal is good enough. A bug was also fixed where the output would get wonky if you lowered the config power while armed and dynpower also was changing the power (#3639)
Set Bindphrase From Handset
[#3554] You can now set a bindphrase on a transmitter or receiver directly from a Lua script. For users that share models by swapping bind phrases, this can be managed directly from the handset without going to wifi now. Lua tool in ZIP in first post
Less "Telemetry Lost"
[#3550] How do you know when someone is flying ExpressLRS? Their handset keeps calling out "Telemetry Lost" while they are flying! 🫣 Our behavior of immediately reporting downlink signal instability to the handset upsets a lot of new users, who believe this means they've failsafed, however it only means that we've missed a few telemetry packets. We've switched to a linearly-scaled grace period which will substantially decrease this callout.
Tighter PWM timings for 8285
[#3504] The ESP8285 servos twitch and jitter a little, since it has got a lot going on, and all 6 PWM outputs all have to run from a single timer multiplexed in software. This made the timings less accurate than they could be if developers just spent a full week refactoring and hand-tuning the code. 8285 will also stop outputting pulses if the main loop locks up, or the ESP32 browns out (#3681). There should now be less servo jitter on these devices, although they can never be as good as the ESP32-based receivers which run the PWM output in hardware.
WebUI VBAT Calibration and Features
[#3644] For receivers with built-in VBAT measurements, a calibration interface has been added to the webui to let you fix that 0.05V error that's been driving you nuts. Many receivers also get updated calibration values, and support was added for multiple simultaneous VBAT sensors.
https://github.com/user-attachments/assets/c9958b73-7491-4fe6-bfde-01f89df70fac
The wifi signal strength is also shown now on the main information page (#3526), and the wifi password box got a revealer so all the friends you have gathered behind you can see your password as you type (#3590). And don't look now, there's also a favicon (#3606).
New Telemetry
- All VBAT-measuring receivers will also report millivolt-precision voltage as a new sensor e.g. 11.987V vs 12.0V.
- GPS Time sync using the new CRSF sensor type to set the handset time from a flight controller (e.g Betaflight 2026.06) (#3642) or a serial-connected GPS (#3662)
- HoTT protocol gets new Aspd sensor (#3528)
Core Refactoring for LR2021
Semtech's new 4th generation LoRa chip is now in production and much work has been done to better generalize our RF paths to support it. The new chip supports LoRa, FLRC, and FSK on both sub-Ghz and 2.4GHz bands, making it the first chip to support all current ExpressLRS modes. Full LR2021 support coming soon.
Minor Changes
- VTX Admin's "Band" field renamed to "Band/Enabled" and Off is renamed to Disabled, which will hide all the other VTX Admin fields
- Receiver will now refuse to change modes if the TX requests it to switch to a mode that it does not support. Previously, it would soft lock the connection because the two would be in incompatible modes [#3610]
- Wait until all channels have been received at least once before sending them to the flight controller. Previously a value of 0 was sent, which was ignored by all major flight controller softwares [#3645]
- Fix
Antenna Mode: Switchfavoring one antenna in 1:2 telemetry mode [#3675] - For local builds, the last hardware config is saved per-target to save remembering the number [#3449], 8285 firmwares are built with the file suffix the webui expects [#3634], and vite testing can proxy data to a real piece of hardware [#3487]
- elrs.lua supports nesting folder more than 1 deep if needed [#3474], 16/32 bit integer editing [#3491], hiding irrelevant fields when in MAVLink mode [#3565]
- Support for "output only" buffered PWM pins [#3624], OLED screen mirrored mode [#3649]
Changes Since RC1
- Do not display parens in lua subfolder titles [#3696]
- Add receiver antenna group select [#3684]