Activity feed
July 24, 2026 at 12:24 AM
July 21, 2026 at 5:52 PM
July 21, 2026 at 5:37 PM
July 21, 2026 at 5:24 PM
July 21, 2026 at 1:54 PM
New ADRC-based Betaflight testing: Is PID tuning dead?
Pretty much all the drones we fly utilize some implementation of the legacy PID control loop. However, even when perfectly tuned, PID controllers have inherent limitations. Luckily, there are more modern, and theoretically much more capable, alternatives like Active Disturbance Rejection Control (ADRC) aka "the PID killer". These capable, more modern controllers are already used on some proprietary military and commercial drones (industrial, agricultural, large filming rigs, etc).
But now, ADRC is finally making its way into mainstream flight controller firmware and might get featured in the 2026.12 release of Betaflight. Utilizing ADRC allows some impressive feats: safely carrying unstable, shifting payloads, hanging weights, smoothly flying with one or more propeller blades broken off, or even keeping lighter drones stable in harsh winds.
I have wanted ADRC-based drones for years but always managed to get "just usable enough" results with legacy PID control to avoid building the firmware myself. Now that other (very talented) developers are working on it, I want to support them as much as possible.
The current testing implementations are still rather primitive, buggy, and tricky to tune (basically educated trial and error at this point). Despite that, ADRC in Betaflight already shows incredible potential. I personally tested it on 7", 8", 10", and 13" drones carrying loosely suspended weights. With some tuning of the three main ADRC parameters, I got them hovering and flying buttery smooth. I also tested 65mm and 75mm tinywhoops in harsh, gusty pre-storm winds and only felt the wind at full motor saturation, which impressed me a lot.
I will publish the results shortly, but I've been swamped and haven't had time to properly sort through all the logs.
That said, aggressive freestyle flying on 3.5" and 5" drones still isn't quite as crisp with ADRC as it is with a perfectly (over)tuned PID loop control just yet. However, I got it fairly close, and the developers are confident this will soon be fixed by adjusting some hidden ADRC parameters.
There is already a Pull Request on the official Betaflight GitHub repo, but the project faces a shortage of test pilots, test platforms, and, most critically, ADRC blackbox logs. If even a couple of people become interested enough to test-fly the current implementation and upload their results (ideally with logs), it would help the development enormously.
The current state of the project can be found here in the Betaflight repo, as pull request #15400:
https://github.com/betaflight/betaflight/pull/15400
Some additional info can be found from one of the devs here (also in the Issues section):
https://github.com/danusha2345/ADRC-betaflight
There is no need for testers to compile the code locally. The latest version can be easily flashed directly from the Betaflight Master Configurator (must be the Master version, not stable release).
Simply navigate to Development → select your FC model → choose 2026.6.0-alpha [pre-release] → then select Pull Request #15400 (as shown in the screenshot), and the correct firmware will be built online.