T

testerfpv

Last seen: Jul 24, 00:32
Followers
2
Following
1
Upvotes
0
Posts
1
No bio yet...

Activity feed

July 24, 2026 at 12:24 AM

Commented on post
Thank you for your testing! The current implementation is extremely experimental, but you should be able to get a much better tune than this. Aside from tinywhoops, the smallest quad I have access to is a 6S 3.5", which means that your Pavo20 should be somewhere in between, still lightweight, but powerful for its size. 
Firstly, if you hadn't done so already, try flashing the latest b5 prebuilt version from here: https://github.com/danusha2345/ADRC-betaflight/releases


For the ADRC parameters, I would guess something like this should be fine (you can copy/paste all at once): 


set pid_type = ADRC
set adrc_wc_roll = 40
set adrc_wc_pitch = 40
set adrc_wc_yaw = 40
set adrc_wo_roll = 120
set adrc_wo_pitch = 120
set adrc_wo_yaw = 100
set adrc_b0_roll = 5000
set adrc_b0_pitch = 5000
set adrc_b0_yaw = 5000
set adrc_b0_law = SQRT


Depending on the filters and noise level, this should be a decently safe starting point. Just make sure to set your Feed Forward to something reasonable for that quad, in my experience slightly lower than the original PID tune for respective craft works best with ADRC. On my drones, I can generally get away with overestimating b0 in the begining (safe, stable just lazier performance). If you get oscillations, use the same CLI commands for wo, just decrease each one by like 20-30 and retest. And for wc, I would guess that you will find a usable value somewhere from 30 to 70. 
But as I said, I have no idea how quiet the Pavo20 frame is when it comes to vibrations, and what your filter setup is. With proper filtering, you might be able to run much higher wo (and consequently wc) than this.


For changing the values during tuning and flight testing, you unfortunately still have to use CLI, as opposed to something more convenient like a Betaflight script on your radio (could not find a way to get it working), which is somewhat annoying. To see the current ADRC parameters for the current profile (I often forget what values I changed), you can just type: 


get adrc

July 21, 2026 at 5:52 PM

Commented on post
Rust kills bearings, and sometimes also the magnets (neodymium magnets are super reactive and prone to corrosion, if something scratches/damages the shiny silver protective coating). 
Take your motors apart and clean them with some rust protective lubricant (actual lubricant, not just some water displacer like WD40). If you fly (or crash) in dusty environments, don't leave excess oil in the motors, as it might collect dirt. Spraying it and then wiping everything down (leaving just an oil film) is generally enough.

July 21, 2026 at 5:37 PM

Commented on post
I am a drone dev, and like 95% of ESC failures I've encountered were from knockoff or under-spec'd capacitors. Even a brief power-up with motors connected can cause damage (I have seen an ESC die from a Dshot beep) if you don't have a proper capacitor, and the ESC does not have TVS diodes for emergency protection. Sometimes it's one channel, sometimes the whole ESC fails. 
Depending on how and when it fails, it can burn to a crisp (including half the drone) or show absolutely no visible damage whatsoever. 
Also, check your wiring, and all the pins inside the connector (if it's solderless), one bad solder joint or a bent pin inside a connector might take down a single ESC channel.

July 21, 2026 at 5:24 PM

Commented on post
The skepticism is valid. The current experimental Betaflight-ADRC work-in-progress implementation definitely isn't as crisp and snappy on 3,5/5" drones as a perfectly tuned PID loop with perfectly tuned filters. But I got both the tinywhoops and larger drones flying shockingly well (all had blackbox validated optimal PID tunes before). The 75mm whoop was especially nice after setting higher b0 and playing with the wc/wo a bit. Very stable and precise in wind. If someone handed me just the controller and goggles, I would have guessed it must be something larger and more powerful than a mere 1S tinywhoop. 
I like how many things can ADRC compensate for. With legacy PIDs, your optimal tune is really only optimal for one weight, one CG, one battery voltage, one type/size/pitch of propellers, one ASL altitude... On typical freestyle hobby drones, the differences might not be that noticeable - as long as the frame is stiff enough and everything is secured properly, it will fly mostly okay within a reasonable range of PID values. But for larger drones with heavy payloads, or on other hand for light tinywhoops flown outside, you are literally fighting the laws of physics, if you are trying to only compensate for past error, instead of trying to actively reject all disturbances. 
The theory is definitely there, although a fully optimized implementation might take a long time and a ton of work.
Also, some proprietary commercial (and military) stuff had already been using ADRC-like controllers for years, both on heavy lifters (for obvious reasons) but also on fast and agile drones. The latency shouldn't be inherently higher compared to legacy PIDs (at least once it's optimized in Betaflight), and the computational requirements also aren't as bad as I originally thought. 
It definitely won't be a 100% replacement for everyone and everything, but I'm glad it's finally gaining some traction. You can find discussions and studies about the limits of PID loop control from 10 or more years ago, some even focusing specifically on multi-rotors, but aside from some obscure Ardupilot forks, it never found its way into mainstream open-source firmware until now.

July 21, 2026 at 1:54 PM

Created a post

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.

Image posted by user

Let's take flight together and elevate the world of FPV drones to new heights.

© 2026 DIYFPV. All rights reserved.