Logo
Explore Help
Sign in
danik/ADRC-betaflight
Watch
1
0
Fork
You've already forked ADRC-betaflight
0
Code Issues Pull requests Projects Releases 13 Packages Wiki Activity
13 releases 319 tags
  • adrc-v0.2.0 7f8ef64d66

    ADRC firmware adrc-v0.2.0 — prebuilt hex Stable

    danik released this 2026-07-05 11:02:38 +03:00 | 111 commits to master since this release

    Ready-to-flash Betaflight-ADRC firmware for flight testing — no compiling needed.

    What's new in v0.2.0

    This round came out of the first whoop test data and a second independent tester. Four experimental fixes on top of v0.1.0 — full detail in ADRC_FIXES.md (#10–#12):

    • #10 throttle-scaled b0 — the system gain (D → b0) is now scaled by (throttle / hover)² above hover, because motor authority rises with RPM (thrust ≈ throttle²). Keeps the model calibrated across the throttle range; aimed at the whoop takeoff-drift and "floaty" feel. New CLI adrc_hover_throttle (%, default 35 — set it near your real hover throttle). The square is deliberately conservative and may feel slightly soft near full throttle; raise adrc_hover_throttle toward your top throttle if you dislike it.
    • #10 liftoff-gate re-arm — the takeoff gate (v0.1.0 fix #8) now re-arms after a sustained return to idle and stillness, so every ground-test / re-takeoff in one arm is gated, not just the first.
    • #11 z3 leaky decay — the observer's disturbance estimate now bleeds a transient bump back to zero (adrc_sigma_decay, default 3, mild). Set 0 for the classic pure integrator. Leave adrc_sigma_decay_sched at 0 (unvalidated).
    • #12 blackbox z3 no longer clips — raw z3 used to saturate the int16 debug field on takeoff ("debug 5/6 go nuts"); it's now logged ÷16 so the trace stays readable. For disturbance magnitude the I channel (−z3/b0) is the clean signal.

    What helps most — please fly with blackbox logs

    The single most useful thing you can send is a blackbox log with the ADRC observer enabled:

    set debug_mode = ADRC
    save
    

    Then, if you can:

    • A/B the takeoff gate (#8/#10): a clean, near-vertical takeoff is what isolates it — indoor bumping into furniture swamps the signal. Fly the tip build, then a build with the gate reverted, same craft/tune.
    • A hard flip or punch-out with debug_mode = ADRC — shows z3 vs the anti-windup clamp under saturation.
    • Note your adrc_b0_scale and adrc_hover_throttle when sharing a tune (the same D means a different b0 at a different scale).

    debug layout: roll z1/z2/z3 = debug 0–2, pitch z1/z2/z3 = 3–5, yaw z3 = 6, throttle-scaled b0 ×100 (sign = liftoff latch) = 7. Decode with blackbox-tools and plot with adrc_log_plot.py. Post logs in issue #1.

    How to flash: Betaflight Configurator → Firmware Flasher → Load Firmware [Local] → pick the .hex for your board → Flash Firmware (Full chip erase recommended on the first flash).

    Before the first flight: read the README — ADRC parameters go into the ordinary P/I/D cells of the PID Tuning tab (P = control bandwidth, I = observer bandwidth, D = system gain), and set pid_at_min_throttle = off is strongly recommended. The tuning procedure and example tunes are in the README; what changed vs the original ADRC code is in ADRC_FIXES.md.

    Your board is not in the named list? Use the generic hex for your board's MCU — e.g. STM32F7X2 for any F722 board, STM32F405 for F405 boards, STM32H743, AT32F435M/G, etc. (this is exactly how official Betaflight releases ship). On first connect the Configurator will offer to Apply custom defaults for your board — accept it. If you'd rather have a board-baked build, open an issue and we'll add it to the matrix, or build it yourself with make <TARGET>.

    ⚠️ Experimental flight-controller firmware, so far tested by a handful of pilots. Fly in an open area, keep props away from people, and please report results (good or bad) in issue #1.

    Downloads
    • Source code (ZIP)
      0 downloads
    • Source code (TAR.GZ)
      0 downloads

    • betaflight_2026.6.0-alpha_AT32F435G.hex
      0 downloads · 2026-09-05 17:53:58 +03:00 · 1.5 MiB
    • betaflight_2026.6.0-alpha_AT32F435M.hex
      0 downloads · 2026-09-05 17:53:58 +03:00 · 1.5 MiB
    • betaflight_2026.6.0-alpha_STM32F405.hex
      0 downloads · 2026-09-05 17:53:58 +03:00 · 1.7 MiB
    • betaflight_2026.6.0-alpha_STM32F405_CRAZYBEEF405.hex
      0 downloads · 2026-09-05 17:53:58 +03:00 · 1.5 MiB
    • betaflight_2026.6.0-alpha_STM32F405_DAKEFPVF405.hex
      0 downloads · 2026-09-05 17:53:58 +03:00 · 1.4 MiB
    • betaflight_2026.6.0-alpha_STM32F405_MATEKF405TE.hex
      0 downloads · 2026-09-05 17:53:59 +03:00 · 1.4 MiB
    • betaflight_2026.6.0-alpha_STM32F405_SPEEDYBEEF405V3.hex
      0 downloads · 2026-09-05 17:53:59 +03:00 · 1.5 MiB
    • betaflight_2026.6.0-alpha_STM32F405_SPEEDYBEEF405V4.hex
      0 downloads · 2026-09-05 17:53:59 +03:00 · 1.4 MiB
    • betaflight_2026.6.0-alpha_STM32F411.hex
      0 downloads · 2026-09-05 17:53:59 +03:00 · 1.3 MiB
    • betaflight_2026.6.0-alpha_STM32F446.hex
      0 downloads · 2026-09-05 17:53:59 +03:00 · 1.3 MiB
    • betaflight_2026.6.0-alpha_STM32F745.hex
      0 downloads · 2026-09-05 17:53:59 +03:00 · 1.7 MiB
    • betaflight_2026.6.0-alpha_STM32F7X2.hex
      0 downloads · 2026-09-05 17:53:59 +03:00 · 1.3 MiB
    • betaflight_2026.6.0-alpha_STM32F7X2_AXISFLYINGF7PRO.hex
      0 downloads · 2026-09-05 17:53:59 +03:00 · 1 MiB
    • betaflight_2026.6.0-alpha_STM32F7X2_FOXEERF722V4.hex
      0 downloads · 2026-09-05 17:53:59 +03:00 · 1 MiB
    • betaflight_2026.6.0-alpha_STM32F7X2_GEPRCF722.hex
      0 downloads · 2026-09-05 17:53:59 +03:00 · 1 MiB
    • betaflight_2026.6.0-alpha_STM32F7X2_IFLIGHT_BLITZ_F722.hex
      0 downloads · 2026-09-05 17:54:00 +03:00 · 1 MiB
    • betaflight_2026.6.0-alpha_STM32F7X2_MAMBAF722.hex
      0 downloads · 2026-09-05 17:54:00 +03:00 · 1 MiB
    • betaflight_2026.6.0-alpha_STM32F7X2_MATEKF722SE.hex
      0 downloads · 2026-09-05 17:54:00 +03:00 · 1.1 MiB
    • betaflight_2026.6.0-alpha_STM32F7X2_SPEEDYBEEF7V3.hex
      0 downloads · 2026-09-05 17:54:00 +03:00 · 1.1 MiB
    • betaflight_2026.6.0-alpha_STM32F7X2_TMOTORF7.hex
      0 downloads · 2026-09-05 17:54:00 +03:00 · 1 MiB
    • betaflight_2026.6.0-alpha_STM32G47X.hex
      0 downloads · 2026-09-05 17:54:00 +03:00 · 1.2 MiB
    • betaflight_2026.6.0-alpha_STM32G47X_BETAFPVG473_V2.hex
      0 downloads · 2026-09-05 17:54:00 +03:00 · 1 MiB
    • betaflight_2026.6.0-alpha_STM32G47X_BETAFPVG473_V3.hex
      0 downloads · 2026-09-05 17:54:00 +03:00 · 1.1 MiB
    • betaflight_2026.6.0-alpha_STM32H723.hex
      0 downloads · 2026-09-05 17:54:00 +03:00 · 1.8 MiB
    • betaflight_2026.6.0-alpha_STM32H725.hex
      0 downloads · 2026-09-05 17:54:00 +03:00 · 1.8 MiB
    • betaflight_2026.6.0-alpha_STM32H730.hex
      0 downloads · 2026-09-05 17:54:00 +03:00 · 2.8 MiB
    • betaflight_2026.6.0-alpha_STM32H735.hex
      0 downloads · 2026-09-05 17:54:00 +03:00 · 1.8 MiB
    • betaflight_2026.6.0-alpha_STM32H743.hex
      0 downloads · 2026-09-05 17:54:01 +03:00 · 1.8 MiB
    • betaflight_2026.6.0-alpha_STM32H743_KAKUTEH7.hex
      0 downloads · 2026-09-05 17:54:01 +03:00 · 1.6 MiB
    • betaflight_2026.6.0-alpha_STM32H750.hex
      0 downloads · 2026-09-05 17:54:01 +03:00 · 1.4 MiB
    • betaflight_2026.6.0-alpha_STM32H757.hex
      0 downloads · 2026-09-05 17:54:01 +03:00 · 1.7 MiB
Powered by Forgejo Version: 16.0.3 Page: 341ms Template: 13ms
English
Bahasa Indonesia Dansk Deutsch English Español Esperanto Filipino Français Italiano Latviešu Magyar nyelv Nederlands Plattdüütsch Polski Português de Portugal Português do Brasil Slovenščina Suomi Svenska Türkçe Čeština Ελληνικά Български Русский Українська فارسی 日本語 简体中文 繁體中文(台灣) 繁體中文(香港) 한국어
Licenses API