2026.6.1

Portkey-AI/gateway2026.6.1Aug 2, 2026by blckmn

AI Summary

A comprehensive update for Betaflight introducing extensive new features including Autopilot capabilities, GPS enhancements, hardware support for STM32N6 and DroneCAN, and various flight modes for wings.

Key Highlights

  • Adds Autopilot mode with flight plan guidance and navigation
  • Supports STM32N6 platform and DroneCAN protocol stack
  • Introduces collision detection and new flight modes for wings
  • Adds LED dimmer, GPS bar, and CADDX gimbal support

New Features

  • Autopilot mode with flight plan guidance
  • DroneCAN protocol stack implementation
  • STM32N6 platform support
  • Collision detection feature
  • LED dimmer
  • GPS bar and battery bar functions
  • CADDX camera GM3 gimbal driver
  • S-term support for wings
  • Chirp signal generator flight mode
  • Blackbox logging enhancements

Full Release Notes

<!-- Release notes generated using configuration in .github/release.yml at 6dbc4218fd6bc33bf16ea32c670304d4f89321d5 -->

## What's Changed
### Features
* New led functions gps bar battery bar altitude by @jonas-becker in https://github.com/betaflight/betaflight/pull/13404
* Add MSP support for gyro_cal_on_first_arm by @haslinghuis in https://github.com/betaflight/betaflight/pull/13626
* Add RSSI dBm alarm to MSP by @McGiverGim in https://github.com/betaflight/betaflight/pull/13682
* S-term (for wings) by @limonspb in https://github.com/betaflight/betaflight/pull/13679
* Add DEBUG_TASK mode by @SteveCEvans in https://github.com/betaflight/betaflight/pull/13799
* Piecewise linear interpolation routine (for wings) by @limonspb in https://github.com/betaflight/betaflight/pull/13798
* Auto-disarm on landing impact by @ctzsnooze in https://github.com/betaflight/betaflight/pull/13803
* Hyperbolic PID multiplier curve (for wings) by @limonspb in https://github.com/betaflight/betaflight/pull/13805
* Altitude hold for 4.6 by @ctzsnooze in https://github.com/betaflight/betaflight/pull/13816
* Added 'Storage mode' action in Blackbox part of OSD menu by @demvlad in https://github.com/betaflight/betaflight/pull/13899
* Minor CLI update to give a `noreboot` option so `save` and `exit`  by @blckmn in https://github.com/betaflight/betaflight/pull/13904
* Adding CLI command pass through for MSP by @blckmn in https://github.com/betaflight/betaflight/pull/13940
* Update turtle / crashflip mode by @ctzsnooze in https://github.com/betaflight/betaflight/pull/13905
* Log servos in blackbox by @henrywarhurst in https://github.com/betaflight/betaflight/pull/13944
* TPA air speed speed estimation instead of TPA delay (for wings) by @limonspb in https://github.com/betaflight/betaflight/pull/13895
* Yaw type rudder/diff_thrust for TPA calculations (for wings) by @limonspb in https://github.com/betaflight/betaflight/pull/13929
* Add PRBS checking of BB FLASH with USE_FLASH_TEST_PRBS by @SteveCEvans in https://github.com/betaflight/betaflight/pull/13987
* Driver for CADDX camera GM3 gimbal by @SteveCEvans in https://github.com/betaflight/betaflight/pull/13926
* TPA mode PDS + Wing setpoint attenuation (for wings) by @limonspb in https://github.com/betaflight/betaflight/pull/14010
* Collision Detection by @KarateBrot in https://github.com/betaflight/betaflight/pull/13010
* Position hold for 4.6 and Altitude Hold updates by @ctzsnooze in https://github.com/betaflight/betaflight/pull/13975
* PreArm allow Re-Arm (without resetting PreArm AUX) by @nerdCopter in https://github.com/betaflight/betaflight/pull/14013
* LED Dimmer by @jpmreece in https://github.com/betaflight/betaflight/pull/13776
* Chirp signal generator as flight mode by @pichim in https://github.com/betaflight/betaflight/pull/13105
* Added virtual blackbox for SITL by @demvlad in https://github.com/betaflight/betaflight/pull/14325
* hover point throttle curve adjustment by @marc-frank in https://github.com/betaflight/betaflight/pull/14229
* Add Launch Timer by @Claucdan in https://github.com/betaflight/betaflight/pull/14332
* Adds font write support over MSP DisplayPort by @freasy in https://github.com/betaflight/betaflight/pull/14391
* PICO: Adding support for standard PWM servos by @blckmn in https://github.com/betaflight/betaflight/pull/14787
* OSD: Custom text received from serial to be displayed by @blckmn in https://github.com/betaflight/betaflight/pull/14895
* Add switchable battery profiles by @jury89 in https://github.com/betaflight/betaflight/pull/14965
* Include AssistNow Autonomous into GPS features by @stsypanov in https://github.com/betaflight/betaflight/pull/14987
* Add individual servo channel forwarding support and run servo mixer for default frame types by @blckmn in https://github.com/betaflight/betaflight/pull/15013
* Upixel UP-T1-001-Plus support and optical flow position hold by @SteveCEvans in https://github.com/betaflight/betaflight/pull/14922
* Add flight plan PG configuration, CLI waypoint commands, and AUTOPILOT mode by @blckmn in https://github.com/betaflight/betaflight/pull/15030
* feat: add CAN peripheral support for STM32G4, STM32H7 and STM32C593 (ENABLE_CAN) by @blckmn in https://github.com/betaflight/betaflight/pull/15115
* Nav autopilot by @SteveCEvans in https://github.com/betaflight/betaflight/pull/15026
* feat: DroneCAN protocol stack (NodeStatus + GetNodeInfo) by @blckmn in https://github.com/betaflight/betaflight/pull/15137
* SITL: gate bridge-specific transforms on SITL_BRIDGE_GAZEBO by @blckmn in https://github.com/betaflight/betaflight/pull/15158
* feat: DroneCAN GNSS Fix2 provider (drives gpsSol) by @blckmn in https://github.com/betaflight/betaflight/pull/15143
* feat: STM32N6570-DK bring-up — LTDC backend, SSD1306 backend, dump cmd by @blckmn in https://github.com/betaflight/betaflight/pull/15153
* AUTOPILOT: Step one, Flight plan guidance implementation  by @blckmn in https://github.com/betaflight/betaflight/pull/14923
* telemetry/mavlink: add HOME_POSITION/SYSTEM_TIME/STATUSTEXT TX by @blckmn in https://github.com/betaflight/betaflight/pull/15213
* STM32N6 platform support by @blckmn in https://github.com/betaflight/betaflight/pull/15214
* telemetry/mavlink: vehicle-setup unlock + custom_mode discovery by @blckmn in https://github.com/betaflight/betaflight/pull/15220
* Add ap_stop_threshold setting and improve braking performance by @SteveCEvans in https://github.com/betaflight/betaflight/pull/15150
* telemetry/mavlink: MISSION protocol upload/download by @blckmn in https://github.com/betaflight/betaflight/pull/15224
* The MAVLink packets rates change by using Ground Control Station by @demvlad in https://github.com/betaflight/betaflight/pull/15291
* Autopilot: injected runtime plans, geofence RTH return mission, LAND loiter by @blckmn in https://github.com/betaflight/betaflight/pull/15409
* Autopilot: rescue as a synthesised mission, TAKEOFF and hold patterns, SITL fidelity by @blckmn in https://github.com/betaflight/betaflight/pull/15413
* SITL harness: per-run session id in the telemetry stream by @blckmn in https://github.com/betaflight/betaflight/pull/15417
* Autopilot: OSD waypoint elements, CLI mission status, MAVLink SET_CURRENT by @blckmn in https://github.com/betaflight/betaflight/pull/15416
* The MAVLink serial RX provider is connected to telemetry incomming message handler by @demvlad in https://github.com/betaflight/betaflight/pull/15374
* DroneCAN ESC: RawCommand output, Status telemetry, dynamic node-ID allocation by @blckmn in https://github.com/betaflight/betaflight/pull/15350
* Autopilot: position-hold stick feedforward split from damping, braking state machine by @blckmn in https://github.com/betaflight/betaflight/pull/15435
* Autopilot: in-flight waypoint capture on a switch by @morrob955 in https://github.com/betaflight/betaflight/pull/15445
* OSD: flight-plan navigation minimap element by @morrob955 in https://github.com/betaflight/betaflight/pull/15447
* Unify autopilot position control on a velocity primitive; fly GPS rescue as a flight-plan mission by @blckmn in https://github.com/betaflight/betaflight/pull/15485
### Improvements
* Add CRSF vario sensor support by @haslinghuis in https://github.com/betaflight/betaflight/pull/13558
* Make Cppcheck happier revived by @haslinghuis in https://github.com/betaflight/betaflight/pull/13566
* Display one of four logos on arming by @SteveCEvans in https://github.com/betaflight/betaflight/pull/13057
* Improve features (+ cli) by @ledvinap in https://github.com/betaflight/betaflight/pull/13494
* Tune huffman table to save nearly 500B by @daleckystepan in https://github.com/betaflight/betaflight/pull/11171
* Add support for W25N02K 2Gbit/256Mbyte FLASH by @SteveCEvans in https://github.com/betaflight/betaflight/pull/13677
* Cleanup HAL usb driver by @blckmn in https://github.com/betaflight/betaflight/pull/13669
* TPA delay in ms (for wings) by @limonspb in https://github.com/betaflight/betaflight/pull/13662
* Allow TPA_LOW to be negative (for wings) by @limonspb in https://github.com/betaflight/betaflight/pull/13661
* Move launch control default to pitchonly by @blckmn in https://github.com/betaflight/betaflight/pull/13699
* CLEANUP: small adjustment to the legacy gyro directory by @blckmn in https://github.com/betaflight/betaflight/pull/13693
* Node 16 based github actions no longer supported by @blckmn in https://github.com/betaflight/betaflight/pull/13705
* CLEANUP: MCU file locations by @blckmn in https://github.com/betaflight/betaflight/pull/13692
* CLEANUP: Move flash drivers to their own directory by @blckmn in https://github.com/betaflight/betaflight/pull/13691
* Setpoint PID attenuation (for wings) by @limonspb in https://github.com/betaflight/betaflight/pull/13719
* Add altitude variant for OSD by @haslinghuis in https://github.com/betaflight/betaflight/pull/13716
* Put gyro debug axis in header by @bw1129 in https://github.com/betaflight/betaflight/pull/13752
* at32: add PC6 and PC7 as i2c pins by @bkleiner in https://github.com/betaflight/betaflight/pull/13760
* Add FLRC F-modes to ELRS SPI implementation by @CapnBry in https://github.com/betaflight/betaflight/pull/12936
* Add SPI ELRS Model Match ID by @haslinghuis in https://github.com/betaflight/betaflight/pull/13774
* TPA gravity factor (for wings) by @limonspb in https://github.com/betaflight/betaflight/pull/13778
* Increase Number of Available Dynamic Notches to 7 by @bw1129 in https://github.com/betaflight/betaflight/pull/13750
* Add OSD display of 2nd block of debug values by @SteveCEvans in https://github.com/betaflight/betaflight/pull/13800
* Add MCU ID to blackbox by @haslinghuis in https://github.com/betaflight/betaflight/pull/13825
* Reschedule stats saving on disarm, if quad still moving by @limonspb in https://github.com/betaflight/betaflight/pull/13637
* Re-name ezDisarm variables and tidying up by @ctzsnooze in https://github.com/betaflight/betaflight/pull/13835
* CLEANUP: Removing source wild cards from makefiles by @blckmn in https://github.com/betaflight/betaflight/pull/13834
* Feedforward improvements for 4.6 by @ctzsnooze in https://github.com/betaflight/betaflight/pull/13576
* GPS GPS_home refactor by @ledvinap in https://github.com/betaflight/betaflight/pull/12870
* if USE_WING is defined then define also ADVANCED_TPA and SERVOS by @limonspb in https://github.com/betaflight/betaflight/pull/13860
* Refactor debugType by @haslinghuis in https://github.com/betaflight/betaflight/pull/13866
* pinio: add set custom string for PINIO box name  by @cvetaevvitaliy in https://github.com/betaflight/betaflight/pull/13883
* Vector library expansion by @KarateBrot in https://github.com/betaflight/betaflight/pull/12968
* CRSF Flight Mode Sensor Value update by @haslinghuis in https://github.com/betaflight/betaflight/pull/13854
* Remove d min confusion by @mituritsyn in https://github.com/betaflight/betaflight/pull/13908
* Use static idle value to set the initial dynamic idle limit before takeoff by @ctzsnooze in https://github.com/betaflight/betaflight/pull/13906
* GPS Home altitude is added to blackbox logging by @demvlad in https://github.com/betaflight/betaflight/pull/13939
* Some defines removed from USE_WING build that is not useful for planes by @limonspb in https://github.com/betaflight/betaflight/pull/13941
* Always USE_TPA_MODE by @limonspb in https://github.com/betaflight/betaflight/pull/13942
* Refactor Rx code and better support 25Hz links by @ctzsnooze in https://github.com/betaflight/betaflight/pull/13435
* Shared altitude control parameters by @ctzsnooze in https://github.com/betaflight/betaflight/pull/13884
* refactor motor idle, rename dshot_idle_value to motor_idle by @ctzsnooze in https://github.com/betaflight/betaflight/pull/13936
* Code re-organisation: src/platform/xxx for the MCU type by @blckmn in https://github.com/betaflight/betaflight/pull/13955
* Use wasThrottleRaised in place of isAirmodeActivated where appropriate by @ctzsnooze in https://github.com/betaflight/betaflight/pull/13968
* Add CRSF baro altitude sensor by @haslinghuis in https://github.com/betaflight/betaflight/pull/13840
* add spi nor flash support winbond W25Q64JW by @mywinchester in https://github.com/betaflight/betaflight/pull/13977
* Refactor gps by @ledvinap in https://github.com/betaflight/betaflight/pull/13853
* Add support external clock for gyro ICM42688P by @cvetaevvitaliy in https://github.com/betaflight/betaflight/pull/13912
* Allow configuration for ibat_lpf_period using DEFAULT_IBAT_LPF_PERIOD define by @haslinghuis in https://github.com/betaflight/betaflight/pull/13903
* removed RESCUE_COMPLETE from gps rescue since it's not used by @limonspb in https://github.com/betaflight/betaflight/pull/13993
* Refactor uart by @ledvinap in https://github.com/betaflight/betaflight/pull/13585
* Change default I2C adddress for IST8310 by @haslinghuis in https://github.com/betaflight/betaflight/pull/13995
* Angle pitch offset (for wings) by @limonspb in https://github.com/betaflight/betaflight/pull/14009
* Chainable vector operations by @KarateBrot in https://github.com/betaflight/betaflight/pull/13996
* MSP Range finder added by @ahmedsalah52 in https://github.com/betaflight/betaflight/pull/13980
* Logging of the S -term values in blackbox for Fixed wings. by @demvlad in https://github.com/betaflight/betaflight/pull/14012
* Added flight IMU  pitch, roll, yaw attitudes to blackbox log by @demvlad in https://github.com/betaflight/betaflight/pull/14020
* Adding common source location in ./src/platform by @blckmn in https://github.com/betaflight/betaflight/pull/14044
* Add Winbond W25Q512J support by @haslinghuis in https://github.com/betaflight/betaflight/pull/14036
* ./src/platform stage 3 by @blckmn in https://github.com/betaflight/betaflight/pull/14051
* Adding check for speed optimised source validity by @blckmn in https://github.com/betaflight/betaflight/pull/14055
* Update external defines for ALT / POS HOLD by @haslinghuis in https://github.com/betaflight/betaflight/pull/14069
* OSD - fix macro arguments by @ledvinap in https://github.com/betaflight/betaflight/pull/14074
* Adjust BOX3D boxname by @haslinghuis in https://github.com/betaflight/betaflight/pull/14078
* Adjust info/warning status by @SteveCEvans in https://github.com/betaflight/betaflight/pull/14088
* Corrected missed USE_ACC logic and some minor cleanup by @blckmn in https://github.com/betaflight/betaflight/pull/14093
* Improve serial_post.h by @ledvinap in https://github.com/betaflight/betaflight/pull/14096
* opticalflow mt sensor added by @ahmedsalah52 in https://github.com/betaflight/betaflight/pull/14038
* Refactoring of PR 13050 - support for custom OSD messages from external device by @ledvinap in https://github.com/betaflight/betaflight/pull/14097
* Ditching default target for `make` in favour of `make all` by @blckmn in https://github.com/betaflight/betaflight/pull/14099
* Adding support for UART0 by @blckmn in https://github.com/betaflight/betaflight/pull/14094
* Separate autopilot multirotor from autopilot wing - dummy files for wing by @limonspb in https://github.com/betaflight/betaflight/pull/14108
* Adds missing ACCGYRO defines and remove legacy drivers by @haslinghuis in https://github.com/betaflight/betaflight/pull/14087
* Moving io_def_generated to platform by @blckmn in https://github.com/betaflight/betaflight/pull/14120
* Move STM (and clone) related SPI implementation to platform by @blckmn in https://github.com/betaflight/betaflight/pull/14124
* Move STM (and clone) specific IO initialisation to platform by @blckmn in https://github.com/betaflight/betaflight/pull/14123
* Moved IO_GPIOPortIdx to platform by @blckmn in https://github.com/betaflight/betaflight/pull/14127
* Move STM (and clone) related config in flash implementation to platform by @blckmn in https://github.com/betaflight/betaflight/pull/14103
* FIX: Flash page size check is STM (or clone) specific by @blckmn in https://github.com/betaflight/betaflight/pull/14130
* FIX: explicit specification of float (build for RPI) by @blckmn in https://github.com/betaflight/betaflight/pull/14132
* FIX: Adding init for SPIDEV_0 by @blckmn in https://github.com/betaflight/betaflight/pull/14134
* FIX: Adding USE_DMA wrapper around those only available with USE_DMA active by @blckmn in https://github.com/betaflight/betaflight/pull/14133
* Add gyro and magnetic custom alignment to MSP by @haslinghuis in https://github.com/betaflight/betaflight/pull/14019
* Move STM (and clone) related UART implementation to platform by @blckmn in https://github.com/betaflight/betaflight/pull/14128
* FIX: RCC is platform specific by @blckmn in https://github.com/betaflight/betaflight/pull/14137
* Adding ability to configure USB positive data pin (PA12 is STM specific) by @blckmn in https://github.com/betaflight/betaflight/pull/14141
* h7: spi: SPI1 MISO add PG9 as AF option by @dakejahl in https://github.com/betaflight/betaflight/pull/14144
* h7: sdmmc: add SDIO_USE_PULLUP option for config.h by @dakejahl in https://github.com/betaflight/betaflight/pull/14147
* h7: sdmmc: add PG11 for SDIO_D2_PIN by @dakejahl in https://github.com/betaflight/betaflight/pull/14146
* Add IIM42653 IMU support by @dakejahl in https://github.com/betaflight/betaflight/pull/14095
* The imitation of GPS is added for SITL by @demvlad in https://github.com/betaflight/betaflight/pull/14131
* h7: sdio: allow custom clock divider by @dakejahl in https://github.com/betaflight/betaflight/pull/14167
* Refactor compass align defines by @haslinghuis in https://github.com/betaflight/betaflight/pull/14159
* Flip FM priority for ALTH / POSH (OSD, CRSF, LTM) by @haslinghuis in https://github.com/betaflight/betaflight/pull/14165
* Remove MCU name table from CLI (rely on build info), add MCU info MSP2 command by @blckmn in https://github.com/betaflight/betaflight/pull/14148
* lis2mdl: Enable OFF_CANC and BDU by @dakejahl in https://github.com/betaflight/betaflight/pull/14176
* Tidy up MSP protocol header by @SteveCEvans in https://github.com/betaflight/betaflight/pull/14166
* FIX: USE_STDPERIPH_DRIVER incorrectly defined for all targets (legacy) by @blckmn in https://github.com/betaflight/betaflight/pull/14181
* Improve accuracy of dT used to update RPM filter by @Quick-Flash in https://github.com/betaflight/betaflight/pull/14150
* Add ability to specify a config.c file for a config target by @blckmn in https://github.com/betaflight/betaflight/pull/14180
* Refactor SPI pre init to make it generic and usable from io.h by @blckmn in https://github.com/betaflight/betaflight/pull/14174
* GPS - simplify GPS baudrate handling by @ledvinap in https://github.com/betaflight/betaflight/pull/14195
* Refactoring motor to simplify implementation on other platforms by @blckmn in https://github.com/betaflight/betaflight/pull/14156
* Add 230K4 baudrate support for GPS by @haslinghuis in https://github.com/betaflight/betaflight/pull/14192
* h7: enable ports H and I by @dakejahl in https://github.com/betaflight/betaflight/pull/14199
* FIX: Missing IFDEF USE_TIMER and USE_RPM_FILTER by @blckmn in https://github.com/betaflight/betaflight/pull/14201
* h7: add timer pins by @dakejahl in https://github.com/betaflight/betaflight/pull/14153
* Remove redundant SITL ioPortDef_s array definition by @blckmn in https://github.com/betaflight/betaflight/pull/14202
* Refactor missing prototypes 2 by @ledvinap in https://github.com/betaflight/betaflight/pull/14170
* Make number of rate profiles conditional using define by @haslinghuis in https://github.com/betaflight/betaflight/pull/14239
* Consistent autopilot variable names, use alt_hold_climb_rate by @ctzsnooze in https://github.com/betaflight/betaflight/pull/14136
* Fix codestyle by @haslinghuis in https://github.com/betaflight/betaflight/pull/14245
* Reduce required motors for MIXER_CUSTOM_AIRPLANE by @haslinghuis in https://github.com/betaflight/betaflight/pull/14257
* increasing number of msp ports by @kensherman in https://github.com/betaflight/betaflight/pull/14263
* Adding simplified timer calls for enabling ESC Serial and Soft Serial for AT32 by @blckmn in https://github.com/betaflight/betaflight/pull/14228
* REFACTOR: Remove unused drivers/dma.c file by @blckmn in https://github.com/betaflight/betaflight/pull/14346
* Add variant for RTC OSD element by @haslinghuis in https://github.com/betaflight/betaflight/pull/14344
* REFACTOR: SPI segment handling by @mjs1441 in https://github.com/betaflight/betaflight/pull/14345
* Use opaque struct to define linker symbols for eeprom by @ledvinap in https://github.com/betaflight/betaflight/pull/14382
* Remove #ifdef USE_TIMER from motorConfig reset function. by @mjs1441 in https://github.com/betaflight/betaflight/pull/14389
* Increase the PINIO Limit to 8 by @heronprecision-1 in https://github.com/betaflight/betaflight/pull/14378
* PICO: Adding pico-sdk as sub module by @blckmn in https://github.com/betaflight/betaflight/pull/14400
* Add rangefinder TF-Nova by @LarryKarhu in https://github.com/betaflight/betaflight/pull/14376
* Implementation of the ICM456xx gyroscope driver by @cvetaevvitaliy in https://github.com/betaflight/betaflight/pull/14348
* Implementation of the ICM-40609D gyroscope driver by @cvetaevvitaliy in https://github.com/betaflight/betaflight/pull/14367
* Platform-dependent IO_GPIO.. functions, IO tags allow single port, more pins. by @mjs1441 in https://github.com/betaflight/betaflight/pull/14407
* rangefinderTF refactor + add TF-Nova by @ledvinap in https://github.com/betaflight/betaflight/pull/14379
* Improve 426xx detection time using soft reset by @haslinghuis in https://github.com/betaflight/betaflight/pull/14414
* Removing PICO directory, to be reinstated from RP2350 branch by @blckmn in https://github.com/betaflight/betaflight/pull/14413
* PICO: Makefile uf2 support using picotool by @blckmn in https://github.com/betaflight/betaflight/pull/14402
* Allow for builds with certain features disabled. by @mjs1441 in https://github.com/betaflight/betaflight/pull/14420
* PICO: Preparing for I2C device using I2C0 by @blckmn in https://github.com/betaflight/betaflight/pull/14422
* Adjusting SPI traits inline with recent i2c updates by @blckmn in https://github.com/betaflight/betaflight/pull/14428
* Move RCC from drivers to platform by @blckmn in https://github.com/betaflight/betaflight/pull/14430
* Add support for IIM42652 by @haslinghuis in https://github.com/betaflight/betaflight/pull/14424
* Move bus_i2c_config.c to platform by @mjs1441 in https://github.com/betaflight/betaflight/pull/14439
* PICO: Adding RP2350A MCU by @blckmn in https://github.com/betaflight/betaflight/pull/14437
* i2c changes required for I2CDEV_0 usage by @blckmn in https://github.com/betaflight/betaflight/pull/14443
* Removing -fsingle-precision-constant by @blckmn in https://github.com/betaflight/betaflight/pull/14444
* REFACTOR: Removing platform specific defines from init.c by @blckmn in https://github.com/betaflight/betaflight/pull/14463
* REFACTOR: More platform specific defines moved to platform by @blckmn in https://github.com/betaflight/betaflight/pull/14471
* Disable entering CMS menu when armed by @LukasLendvorsky in https://github.com/betaflight/betaflight/pull/14470
* Add 3+ IMU support (Gyro Fusion) by @Quick-Flash in https://github.com/betaflight/betaflight/pull/14383
* REFACTOR: Adding DMA_FIRST_HANDLER by @blckmn in https://github.com/betaflight/betaflight/pull/14474
* Add support for SPI DMA by @SteveCEvans in https://github.com/betaflight/betaflight/pull/14483
* Move beeper pwm functions to platform. by @mjs1441 in https://github.com/betaflight/betaflight/pull/14478
* Update the google olc code to not have compiler warnings by @Quick-Flash in https://github.com/betaflight/betaflight/pull/14484
* PICO: Renamed MCU FAMILY to RP2350 by @blckmn in https://github.com/betaflight/betaflight/pull/14497
* SITL: Minor changes to simplify platform by @blckmn in https://github.com/betaflight/betaflight/pull/14501
* Fix length for manufacturer and board name by @haslinghuis in https://github.com/betaflight/betaflight/pull/14518
* REFACTOR: Moving code sections to platform by @blckmn in https://github.com/betaflight/betaflight/pull/14509
* refactor dshot_decode_telemetry_value to prevent EDT data in RPM by @kedeng in https://github.com/betaflight/betaflight/pull/14490
* rename Dual Gyro to Multi Gyro by @nerdCopter in https://github.com/betaflight/betaflight/pull/14533
* SPI: Extract common preInit code from spiInternalInitStream, and fix Pico SPI implementation by @mjs1441 in https://github.com/betaflight/betaflight/pull/14525
* Add FORCE option to dshot_edt by @kedeng in https://github.com/betaflight/betaflight/pull/14532
* PICO: Implement debug pin by @blckmn in https://github.com/betaflight/betaflight/pull/14526
* REFACTOR: Remove platform specific defines from ./src/main for ADC by @blckmn in https://github.com/betaflight/betaflight/pull/14522
* PICO: Initial implementation of led strip by @blckmn in https://github.com/betaflight/betaflight/pull/14530
* Improve rc filter updating and initialization by @Quick-Flash in https://github.com/betaflight/betaflight/pull/14411
* PICO: Minor led strip clean up of logic, and rename refactoring (simplification) by @blckmn in https://github.com/betaflight/betaflight/pull/14603
* REFACTOR: Remove unused regions/aliases from linker scripts. by @blckmn in https://github.com/betaflight/betaflight/pull/14606
* REFACTOR: Renaming SPIDevice enum to the consistent pattern spiDevice_e by @blckmn in https://github.com/betaflight/betaflight/pull/14605
* Allow builds with USE_DSHOT_TELEMETRY but without USE_ESC_SENSOR. by @mjs1441 in https://github.com/betaflight/betaflight/pull/14612
* REFACTOR: Rename I2CDevice to i2cDevice_e for consistent naming pattern for enums by @blckmn in https://github.com/betaflight/betaflight/pull/14613
* REFACTOR: Corrected SOFT_I2C to USE_SOFT_I2C by @blckmn in https://github.com/betaflight/betaflight/pull/14622
* Replace powf (a, 2) with sq(a) by @ctzsnooze in https://github.com/betaflight/betaflight/pull/14609
* REFACTOR: Minor enum cleanup by @blckmn in https://github.com/betaflight/betaflight/pull/14621
* PRE-RELEASE: Preparing for beta release named 2025.12.0-beta by @blckmn in https://github.com/betaflight/betaflight/pull/14642
* allow custom define for MAX_CHANNEL_ACTIVATION_CONDITION_COUNT by @nerdCopter in https://github.com/betaflight/betaflight/pull/14630
* GYRO: Remove ability for user to set the gyro alignment at run time. by @blckmn in https://github.com/betaflight/betaflight/pull/14648
* Updating CLI device output for status command by @blckmn in https://github.com/betaflight/betaflight/pull/14650
* Ghost: adding armed status to telemetry by @MatajZ in https://github.com/betaflight/betaflight/pull/14623
* Added flow control for MAVLink telemetry by @demvlad in https://github.com/betaflight/betaflight/pull/14651
* Sanatize TARGET_BOARD_IDENTIFIER by @haslinghuis in https://github.com/betaflight/betaflight/pull/14671
* Independent D_Max Advance by @ctzsnooze in https://github.com/betaflight/betaflight/pull/14629
* Update gyro sensor info by @haslinghuis in https://github.com/betaflight/betaflight/pull/14677
* GYRO: Remove ability to set custom gyro alignment by @blckmn in https://github.com/betaflight/betaflight/pull/14688
* MAVLink serial RX provider by @demvlad in https://github.com/betaflight/betaflight/pull/14681
* PICO RP2350 bidirectional dshot by @mjs1441 in https://github.com/betaflight/betaflight/pull/14618
* Adding support for MAVlink 460K8 baudrate by @haslinghuis in https://github.com/betaflight/betaflight/pull/14697
* Safety Improvement (crashflip): Introduce explicit auto-rearm control by @nerdCopter in https://github.com/betaflight/betaflight/pull/14734
* Added flash driver def for Cypress S25FL128S. by @ThomasVestergaard in https://github.com/betaflight/betaflight/pull/14751
* QMC5883 unified driver for L and P variant by @haslinghuis in https://github.com/betaflight/betaflight/pull/14713
* MAVLink data streams rates are added into cli settings   by @demvlad in https://github.com/betaflight/betaflight/pull/14729
* Implement SPI DMA support on QSPI interface by @SteveCEvans in https://github.com/betaflight/betaflight/pull/14748
* Support for XMC flash chip XM25QH256B by @fpvfeline in https://github.com/betaflight/betaflight/pull/14737
* NED velocities are added into GPS data by @demvlad in https://github.com/betaflight/betaflight/pull/14762
* Refactor  crashflip to fix issues reported while disarmed by @ctzsnooze in https://github.com/betaflight/betaflight/pull/14777
* PICO use timeUs_t return types for time functions. by @mjs1441 in https://github.com/betaflight/betaflight/pull/14817
* Quick fix for issuix for issue 14819 by @PD45-46 in https://github.com/betaflight/betaflight/pull/14843
* Change displayed precision of max current of the post-flight statistics to float by @qubicllj in https://github.com/betaflight/betaflight/pull/14853
* delete file PICO/dshot.pio.programs by @qqqlab in https://github.com/betaflight/betaflight/pull/14863
* CLEANUP: make clean CONFIG=X by @blckmn in https://github.com/betaflight/betaflight/pull/14830
* REFACTOR: Camera Control in preparation for RP2350 implementation by @blckmn in https://github.com/betaflight/betaflight/pull/14856
* PICO: Use memfunctions.S from rp2040 bootrom source for memset, memcpy. by @mjs1441 in https://github.com/betaflight/betaflight/pull/14876
* PICO: Remove startup .S file (not in use). by @mjs1441 in https://github.com/betaflight/betaflight/pull/14886
* Report sensor hardware names per sensor type by @haslinghuis in https://github.com/betaflight/betaflight/pull/14892
* Add ACCGYRO_LSM6DSK320X by @haslinghuis in https://github.com/betaflight/betaflight/pull/14891
* Add MSP support for Attitude quaternions by @Robolightning in https://github.com/betaflight/betaflight/pull/14761
* Refactor release workflow to streamline artifact handling by @blckmn in https://github.com/betaflight/betaflight/pull/14910
* PICO: bidirectional DShot telemetry with edge detection by @andyp1per in https://github.com/betaflight/betaflight/pull/14887
* Add Nooploop TOFSense rangefinder family support by @ArturPelicho in https://github.com/betaflight/betaflight/pull/14896
* Add support for ICM42622P by @haslinghuis in https://github.com/betaflight/betaflight/pull/14918
* Add DEFAULT_BEEPER_OFF_FLAGS for reset of beeper_off_flags. by @mjs1441 in https://github.com/betaflight/betaflight/pull/14809
* Strengthen MSP/CRSF Packet Validation by @VoodooChild99 in https://github.com/betaflight/betaflight/pull/14842
* CRSF AHRS Support by @andyp1per in https://github.com/betaflight/betaflight/pull/14870
* Adding Simplifed Master Slider to Adjustments by @spatzengr in https://github.com/betaflight/betaflight/pull/14371
* MSP-adjCenter_adjScale by @spatzengr in https://github.com/betaflight/betaflight/pull/14920
* feat(driver): add MMC5603 magnetometer driver by @gintaris in https://github.com/betaflight/betaflight/pull/14924
* SITL: add -z,noexecstack linker flag to suppress RWX segment warning by @blckmn in https://github.com/betaflight/betaflight/pull/14938
* Feature/bmp580 barometer by @gintaris in https://github.com/betaflight/betaflight/pull/14925
* Flash/MT29F - First cut of support for the MT29F1G01ABAFDWB-IT:F flash chips (1Gb NAND) by @hydra in https://github.com/betaflight/betaflight/pull/14828
* SPI ExpressLRS 4.0 support by @CapnBry in https://github.com/betaflight/betaflight/pull/14932
* Move SCHEDULER_RELAX_RX/OSD STM32F411xE override from src/main to src/platform with fallback defaults by @blckmn in https://github.com/betaflight/betaflight/pull/14958
* Move GPIO_TypeDef and IO_GPIO out of common drivers into platform-specific headers to decouple IO implementation from hardware details by @blckmn in https://github.com/betaflight/betaflight/pull/14962
* CLI: Adding "options" for outputting the msp_build_info equivalent in the CLI by @blckmn in https://github.com/betaflight/betaflight/pull/14951
* Remove unused EXTITrigger_TypeDef mock definitions from SITL target and unit test platform headers by @blckmn in https://github.com/betaflight/betaflight/pull/14963
* faster cos and sin method by @Quick-Flash in https://github.com/betaflight/betaflight/pull/14790
* Move SmartAudio UART bidir push-pull prepend logic from MCU ifdef to UART_TRAIT_BIDIR_PP_PREPEND platform trait by @blckmn in https://github.com/betaflight/betaflight/pull/14956
* MSP: validate servo mixer targetChannel and inputSource bounds in MSP_SET_SERVO_MIX_RULE by @blckmn in https://github.com/betaflight/betaflight/pull/14952
* Add support for GigaDevice GD25Q16E and Zetta ZD25WQ32CE flash memories by @jwoloch in https://github.com/betaflight/betaflight/pull/14970
* BLACKBOX: log GPS epoch timestamp in H-frame and msToW in G-frame by @blckmn in https://github.com/betaflight/betaflight/pull/14950
* Sensors: Add initial support for ICM42686P by @haslinghuis in https://github.com/betaflight/betaflight/pull/14941
* SITL: Add ability to specify a command line argument and load a text file for writing config. by @blckmn in https://github.com/betaflight/betaflight/pull/14935
* Move timer functions to accept timerHardware_t*, rename platform-specific abbreviations, and relocate platform-only declarations to platform/timer.h by @blckmn in https://github.com/betaflight/betaflight/pull/14967
* flash_m25p16: Add support for GD25Q128 flash chip by @HGLRC-T in https://github.com/betaflight/betaflight/pull/14983
* Refactor DMA driver to abstract platform-specific types and functions behind a hardware-agnostic API by @blckmn in https://github.com/betaflight/betaflight/pull/14990
* Consolidate ENABLE_SDIO_INIT definitions in platform.h with explicit per-MCU family settings by @blckmn in https://github.com/betaflight/betaflight/pull/14991
* Move NVIC priority utility macros from nvic.h to per-platform platform.h headers by @blckmn in https://github.com/betaflight/betaflight/pull/14996
* Move platform-specific Bit_RESET definition from serial_4way to platform headers as GPIO_PIN_RESET by @blckmn in https://github.com/betaflight/betaflight/pull/14997
* Move expressLrsTimerEnableIRQs to platform common to remove USE_HAL_DRIVER from src/main by @blckmn in https://github.com/betaflight/betaflight/pull/14998
* Replace F7 platform guard for SERIAL_CHECK_TX with ENABLE_SERIAL_SKIP_CHECK_TX macro by @blckmn in https://github.com/betaflight/betaflight/pull/15001
* Refactor transponder IR DMA buffer type to uint32_t to remove platform dependency by @blckmn in https://github.com/betaflight/betaflight/pull/14995
* Replace STM32H7 preprocessor checks in asyncfatfs with ENABLE_AFATFS_DMA_CACHE feature flag by @blckmn in https://github.com/betaflight/betaflight/pull/14994
* Move platform-specific MSC/SDIO type abstractions and DMA init from src/main/msc to src/platform headers and common source by @blckmn in https://github.com/betaflight/betaflight/pull/14993
* Move overclock frequency options from chip-specific ifdefs in settings.c to ENABLE_OVERCLOCK_XXX_MHZ defines in platform headers by @blckmn in https://github.com/betaflight/betaflight/pull/14999
* Move hardware-specific OctoSPI/QuadSPI definitions and GPIO config from src/main headers to platform files by @blckmn in https://github.com/betaflight/betaflight/pull/14992
* Deprecate gyro_hardware and introduce cli sensor_hardware command by @haslinghuis in https://github.com/betaflight/betaflight/pull/15009
* Replace recursive submodule checkout with on-demand SDK hydration and selective per-platform caching in CI by @blckmn in https://github.com/betaflight/betaflight/pull/15021
* Improve handling of GPS messages by @stsypanov in https://github.com/betaflight/betaflight/pull/15020
* Replace SIMULATOR_BUILD with ENABLE_SIMULATOR flags in src/main and add platform stubs to eliminate simulator ifdefs from init.c by @blckmn in https://github.com/betaflight/betaflight/pull/15017
* Replace void* and MCU-specific TypeDef pointers with opaque resource types in driver interfaces by @blckmn in https://github.com/betaflight/betaflight/pull/15033
* Remove airmode lpf by @Quick-Flash in https://github.com/betaflight/betaflight/pull/15029
* Migrate UART from HAL to LL, eliminating HAL handle dependencies by @blckmn in https://github.com/betaflight/betaflight/pull/15035
* Migrate STM32 I2C from HAL to LL with register-level state machine by @blckmn in https://github.com/betaflight/betaflight/pull/15037
* STM32H5: convert lib/main/STM32H5 to STM32CubeH5 submodule (v1.6.0) by @blckmn in https://github.com/betaflight/betaflight/pull/15054
* GPS: reorder UBLOX procession to have NAV_PVT and NAV_SAT messages first by @stsypanov in https://github.com/betaflight/betaflight/pull/15044
* Add MSP2_CLI_SETTING (0x300E) command for getting and setting CLI settings over MSP by @blckmn in https://github.com/betaflight/betaflight/pull/14972
* Guard escSensorPassthrough with USE_PWM_OUTPUT in CLI serialpassthrough by @blckmn in https://github.com/betaflight/betaflight/pull/15067
* Fix SDK hydration race condition in parallel builds by @blckmn in https://github.com/betaflight/betaflight/pull/15083
* feat: add support for Macronix MX25L12845G flash by @oskarsselis in https://github.com/betaflight/betaflight/pull/15065
* Expand chirp debug channels for offline system identification by @blckmn in https://github.com/betaflight/betaflight/pull/15113
* Remove STM32 MCU-family ifdefs from src/main by @blckmn in https://github.com/betaflight/betaflight/pull/15122
* Update mt29f flash support by @hydra in https://github.com/betaflight/betaflight/pull/15134
* Add by25 q128 es memory ic support by @MatviiG in https://github.com/betaflight/betaflight/pull/15042
* Expose transponder provider and data via CLI by @blckmn in https://github.com/betaflight/betaflight/pull/15126
* SITL: Gazebo Harmonic model fixes and UDP RX path by @blckmn in https://github.com/betaflight/betaflight/pull/15140
* Add CLI 'env' command; drop compiled-in MCU type ID by @blckmn in https://github.com/betaflight/betaflight/pull/15139
* feat: LCD console subsystem for runtime debug output by @blckmn in https://github.com/betaflight/betaflight/pull/15148
* PICO: gyro_clkin platform abstraction so RP2350 can use USE_GYRO_CLKIN by @blckmn in https://github.com/betaflight/betaflight/pull/15162
* Add support for the BOYAMICRO BY25Q64 flash. by @LYNHQQ in https://github.com/betaflight/betaflight/pull/15025
* Speed up serial GPS message decoding by @stsypanov in https://github.com/betaflight/betaflight/pull/15129
* MSP: Expose additional rpm fields by @haslinghuis in https://github.com/betaflight/betaflight/pull/15144
* usb: derive product name from BOARD_NAME when a config is built by @blckmn in https://github.com/betaflight/betaflight/pull/15182
* GPS: replace full a calendar to epoch round trip with a direct field copy by @stsypanov in https://github.com/betaflight/betaflight/pull/15184
* drivers/flash: OctoSPI multichip support + MX66UW1G45G driver by @blckmn in https://github.com/betaflight/betaflight/pull/15199
* telemetry/mavlink: add RX dispatch and handshake responders by @blckmn in https://github.com/betaflight/betaflight/pull/15211
* GPS: add fast-path for UBX_PARSE_PAYLOAD_CONTENT state by @stsypanov in https://github.com/betaflight/betaflight/pull/15183
* test: compute CRSF CRC at runtime in ELRS MSP version test by @ChrisRosser in https://github.com/betaflight/betaflight/pull/15204
* feat(flash): add support for XTX XT25F128F by @gaoyu2144287 in https://github.com/betaflight/betaflight/pull/15219
* ComputeLedStripColorByVtxFreq by @ctzsnooze in https://github.com/betaflight/betaflight/pull/15135
* refactor: make ELRS V3 default, require USE_ELRSV4 for V4 by @haslinghuis in https://github.com/betaflight/betaflight/pull/15232
* Move submodules from lib/main to lib/modules by @blckmn in https://github.com/betaflight/betaflight/pull/15241
* chore: remove dead code in #if 0 blocks by @haslinghuis in https://github.com/betaflight/betaflight/pull/15237
* Improve the speed of scaleRangef by @Quick-Flash in https://github.com/betaflight/betaflight/pull/15048
* AT32: add gyro_clkin platform implementation by @blckmn in https://github.com/betaflight/betaflight/pull/15251
* PICO: Simplify pico_trace by @mjs1441 in https://github.com/betaflight/betaflight/pull/15263
* Replace Biquad with SVF by @Quick-Flash in https://github.com/betaflight/betaflight/pull/15056
* Task stats improvements for state-based tasks by @mjs1441 in https://github.com/betaflight/betaflight/pull/15276
* Share common/stm32 source list across STM32-style families by @blckmn in https://github.com/betaflight/betaflight/pull/15307
* Apply serialRxBytesWaiting-related optimization to /src/main/telemetry by @stsypanov in https://github.com/betaflight/betaflight/pull/15305
* refactor(axis): sign-bearing earth-frame axis enums (ENU/NWU/EF) across IMU & navigation by @haslinghuis in https://github.com/betaflight/betaflight/pull/15346
* fix(sitl): harden Gazebo gyro yaw sign against silent regression (follow-up to #15354) by @haslinghuis in https://github.com/betaflight/betaflight/pull/15355
* add support for FMSH FM25Q series (64Mb, 128Mb, 256Mb) SPI Flash by @ReganLai-Fudan in https://github.com/betaflight/betaflight/pull/15292
* Autopilot: flight plan safety — rx-loss policy, sanity checks, geofence, arming gate by @blckmn in https://github.com/betaflight/betaflight/pull/15408
* Autopilot: nav velocity mode with drag feedforward by @blckmn in https://github.com/betaflight/betaflight/pull/15410
* flash_w25n: Add support for MX35LF2GE4AD flash chip by @RunnyCow in https://github.com/betaflight/betaflight/pull/15008
* perf(STM32H5): enable instruction cache by @haslinghuis in https://github.com/betaflight/betaflight/pull/15421
* cli: show live GPS detail in status output by @blckmn in https://github.com/betaflight/betaflight/pull/15450
* Autopilot: cross waypoint gates at corner speed - chase-lag braking, carrot measurement filtering, governor hysteresis by @morrob955 in https://github.com/betaflight/betaflight/pull/15453
* Autopilot: don't fail position hold on a single bad GPS fix by @morrob955 in https://github.com/betaflight/betaflight/pull/15454
* perf(STM32C5): enable instruction cache by @haslinghuis in https://github.com/betaflight/betaflight/pull/15434
* Add pre-engagement Position Hold readiness OSD element by @nerdCopter in https://github.com/betaflight/betaflight/pull/15465
### Fixes
* battery - fix BATTERY_NOT_PRESENT detection, detection logic change by @ledvinap in https://github.com/betaflight/betaflight/pull/13599
* Fix ICM20469 by @haslinghuis in https://github.com/betaflight/betaflight/pull/13616
* minor define fixes found during documentation work by @ctzsnooze in https://github.com/betaflight/betaflight/pull/13631
* Update CRSF spec by @haslinghuis in https://github.com/betaflight/betaflight/pull/13614
* Remove superfluous checks of useDshotTelemetry by @SteveCEvans in https://github.com/betaflight/betaflight/pull/13633
* GPS Rescue using MSP is not getting Velocity to Home by @AZDane in https://github.com/betaflight/betaflight/pull/13639
* Do not enable features by default by @haslinghuis in https://github.com/betaflight/betaflight/pull/13608
* Fix Wstringop-overflow warning on latest ARM SDK by @haslinghuis in https://github.com/betaflight/betaflight/pull/13659
* FIX: make: Circular configs <- configs dependency dropped. by @blckmn in https://github.com/betaflight/betaflight/pull/13695
* Set next state expected time on per element basis by @SteveCEvans in https://github.com/betaflight/betaflight/pull/13706
* FIX: Broken nightly build by @blckmn in https://github.com/betaflight/betaflight/pull/13718
* Fix redundant debug by @haslinghuis in https://github.com/betaflight/betaflight/pull/13711
* FIX: Release build asset name change by @blckmn in https://github.com/betaflight/betaflight/pull/13722
* Update to LSM6DSV16X gyro driver by @SteveCEvans in https://github.com/betaflight/betaflight/pull/13724
* Fixes #13664 - Smartaudio don't work with Softserial  by @Hochmueller in https://github.com/betaflight/betaflight/pull/13715
* fix at32 serial bidir pp od init and smart audio by @bkleiner in https://github.com/betaflight/betaflight/pull/13764
* Read gyro data from correct lsm6dsv16x registers by @SteveCEvans in https://github.com/betaflight/betaflight/pull/13784
* Fix unused variable compile time error by @SteveCEvans in https://github.com/betaflight/betaflight/pull/13707
* Fix flash_scan by @SteveCEvans in https://github.com/betaflight/betaflight/pull/13789
* FIX: make: Circular configs <- configs dependency dropped. #13695 by @blckmn in https://github.com/betaflight/betaflight/pull/13815
* Fix telemetry for Spektrum/SRXL by @haslinghuis in https://github.com/betaflight/betaflight/pull/13814
* Modify STM32F405 UID Address for MSC Enumeration by @ainosukii in https://github.com/betaflight/betaflight/pull/13769
* Fix searching a resource by @anti-social in https://github.com/betaflight/betaflight/pull/13826
* bbx 3d speed when gps_use_3d_speed==true by @limonspb in https://github.com/betaflight/betaflight/pull/13831
* Fix d adjustment by @mituritsyn in https://github.com/betaflight/betaflight/pull/13822
* Split OSD element rendering into draw and display states by @SteveCEvans in https://github.com/betaflight/betaflight/pull/13813
* Disable SPA for angle mode - fix (for wings) by @limonspb in https://github.com/betaflight/betaflight/pull/13848
* Fix angle mode rate profile change bug by @ctzsnooze in https://github.com/betaflight/betaflight/pull/13862
* Apply iterm_windup per-axis by limiting iTerm based on pidSum by @ctzsnooze in https://github.com/betaflight/betaflight/pull/13543
* Fix sbufReadData by @haslinghuis in https://github.com/betaflight/betaflight/pull/13869
* cli - fix gpspassthrouh when GPS port is not open by @ledvinap in https://github.com/betaflight/betaflight/pull/13878
* MSP - fix buffers in MSP_MULTIPLE_MSP by @ledvinap in https://github.com/betaflight/betaflight/pull/13881
* Fix FEATURE_RX_PPM by @haslinghuis in https://github.com/betaflight/betaflight/pull/13891
* rc-modes bugfix - prevent buffer overflow when serializing box names by @ledvinap in https://github.com/betaflight/betaflight/pull/13880
* Fix MSP output buffer overflow by @haslinghuis in https://github.com/betaflight/betaflight/pull/13879
* OSD background rendering by @SteveCEvans in https://github.com/betaflight/betaflight/pull/13897
* Fix: the wrong ability to turn on HORIZON_MODE without ACC sensors by @demvlad in https://github.com/betaflight/betaflight/pull/13892
* Fixes #13220: Fix kiss esc passthrough, Fix castle (escprog cc) command. by @KissUltra in https://github.com/betaflight/betaflight/pull/13911
* Don't consider a prior I2C NACK to indicate the bus to be busy by @SteveCEvans in https://github.com/betaflight/betaflight/pull/13917
* Fix: Hyperbolic TPA curve initialization (for wings) by @limonspb in https://github.com/betaflight/betaflight/pull/13932
* Fix DMax calculations by @ctzsnooze in https://github.com/betaflight/betaflight/pull/13933
* Fix custom box names by @haslinghuis in https://github.com/betaflight/betaflight/pull/13935
* Fix build when using SRXL telemetry by @haslinghuis in https://github.com/betaflight/betaflight/pull/13947
* Make telemetry default for jeti by @haslinghuis in https://github.com/betaflight/betaflight/pull/13951
* Fixes #13934: Fix motor(PWM protocol) spin while fc reset. by @kedeng in https://github.com/betaflight/betaflight/pull/13937
* Make the imuGyroFilter actually filter by @Quick-Flash in https://github.com/betaflight/betaflight/pull/13961
* Fix pt2 and pt3 filter initialization in gyro_init.c by @Quick-Flash in https://github.com/betaflight/betaflight/pull/13960
* Fixes #13930: fix timer based bidirectional dshot command not working issue by @kedeng in https://github.com/betaflight/betaflight/pull/13978
* Fix SITL build by @haslinghuis in https://github.com/betaflight/betaflight/pull/13972
* Fix SmartAudio (STM32F4) by @haslinghuis in https://github.com/betaflight/betaflight/pull/13797
* Make three attempts to not only write to FLASH, but also validate it by @SteveCEvans in https://github.com/betaflight/betaflight/pull/14001
* Serial refactor fix by @ledvinap in https://github.com/betaflight/betaflight/pull/14007
* Revert restriction of reading across page boundary by @SteveCEvans in https://github.com/betaflight/betaflight/pull/14015
* Workaround: SERIAL_CHECK_TX is broken on F7 by @ledvinap in https://github.com/betaflight/betaflight/pull/14052
* Fixed FLIGHT_MODE(PASSTHRU_MODE) not displayed in OSD by @vmzhivetyev in https://github.com/betaflight/betaflight/pull/14054
* Fix arming disable flag and OSD warning buffer size by @haslinghuis in https://github.com/betaflight/betaflight/pull/14057
* AT32 SD card support by @SteveCEvans in https://github.com/betaflight/betaflight/pull/14070
* Fix PPM feature by @haslinghuis in https://github.com/betaflight/betaflight/pull/14072
* MAKE - improvement by @ledvinap in https://github.com/betaflight/betaflight/pull/14079
* Don't handle non-MSP characters on VTX MSP port by @SteveCEvans in https://github.com/betaflight/betaflight/pull/14091
* Position hold depends on GPS by @haslinghuis in https://github.com/betaflight/betaflight/pull/14101
* update serTcpOpen declaration to fix compile errors by @DrAtomic in https://github.com/betaflight/betaflight/pull/14113
* AT32F435 SD card support by @SteveCEvans in https://github.com/betaflight/betaflight/pull/14018
* Initialize all assigned servos even if some are missing (fix) by @limonspb in https://github.com/betaflight/betaflight/pull/14121
* Fixed - reset all PID controller terms when PASSTHRU_MODE is active by @vmzhivetyev in https://github.com/betaflight/betaflight/pull/14058
* FIX: Adding RP2350B as MCU type and correcting lookup table error by @blckmn in https://github.com/betaflight/betaflight/pull/14138
* FIX: Missing USE_DMA conditions by @blckmn in https://github.com/betaflight/betaflight/pull/14139
* Leave SPI CPOL/CPHA at default for SD card by @SteveCEvans in https://github.com/betaflight/betaflight/pull/14142
* FIX: Invalid references when neither DSHOT nor PWM_OUTPUT is defined. by @blckmn in https://github.com/betaflight/betaflight/pull/14135
* Don't waste time displaying an empty OSD string by @SteveCEvans in https://github.com/betaflight/betaflight/pull/14152
* lis2mdl: fix align define typo by @dakejahl in https://github.com/betaflight/betaflight/pull/14154
* mag: lis2mdl: fix axes by @dakejahl in https://github.com/betaflight/betaflight/pull/14155
* Fix STM32G4 SPI2/SPI3 busses running at double intended clock rate by @SteveCEvans in https://github.com/betaflight/betaflight/pull/14160
* Serial - BUGFIX - USART10 instead of UART10 by @ledvinap in https://github.com/betaflight/betaflight/pull/14171
* AT32 - invalid names of timer IRQ handlers by @ledvinap in https://github.com/betaflight/betaflight/pull/14172
* config submodule - follow master by @ledvinap in https://github.com/betaflight/betaflight/pull/14175
* Fix missing ACCGYRO custom alignment defines (used in config) by @haslinghuis in https://github.com/betaflight/betaflight/pull/14092
* By default mark OSD element as rendered in case it's in the off blink state (#14188) by @SteveCEvans in https://github.com/betaflight/betaflight/pull/14189
* FIX: REVISION length not more than 7 symbols by @Stepandrr in https://github.com/betaflight/betaflight/pull/14151
* Fix GPS UART representation (status command) by @haslinghuis in https://github.com/betaflight/betaflight/pull/14193
* Update mag_declination range in settings.c by @ot0tot in https://github.com/betaflight/betaflight/pull/14206
* Fix G4 SPI clock being double what it should be by @SteveCEvans in https://github.com/betaflight/betaflight/pull/14207
* Fix GYRO_CLKIN by @haslinghuis in https://github.com/betaflight/betaflight/pull/14213
* FIX: Serial ESC communication when using digital protocols by @blckmn in https://github.com/betaflight/betaflight/pull/14214
* FIX: AT32 not reading ESC by @blckmn in https://github.com/betaflight/betaflight/pull/14220
* Fix MSP memory issue by @jefffhaynes in https://github.com/betaflight/betaflight/pull/14221
* fix compilation without ACC by @ledvinap in https://github.com/betaflight/betaflight/pull/14218
* Fix PG ID and corruption in MSP_SET_SENSOR_CONFIG by @haslinghuis in https://github.com/betaflight/betaflight/pull/14230
* lis2mdl: fix read by @dakejahl in https://github.com/betaflight/betaflight/pull/14227
* Fix opticalflow detection (msp) by @haslinghuis in https://github.com/betaflight/betaflight/pull/14241
* CLI - prevent serial overflow by @ledvinap in https://github.com/betaflight/betaflight/pull/14251
* STM32G4: Add option to use external 26 MHz clock by @crteensy in https://github.com/betaflight/betaflight/pull/14261
* Maintain state for i2c_ev_handler() for each i2c bus by @SteveCEvans in https://github.com/betaflight/betaflight/pull/14268
* Blackbox - IMU quaternion - fix case when w is negative by @ledvinap in https://github.com/betaflight/betaflight/pull/14275
* Update io_preinit.c by @haslinghuis in https://github.com/betaflight/betaflight/pull/14273
* Properly handle HSI if selected by @crteensy in https://github.com/betaflight/betaflight/pull/14259
* Fix virtualled by @ledvinap in https://github.com/betaflight/betaflight/pull/14276
* fix: led strip not working (#14279) by @fluke9 in https://github.com/betaflight/betaflight/pull/14286
* Change airborne default by @haslinghuis in https://github.com/betaflight/betaflight/pull/14271
* Fix gimbalCmdIn.u.crc to gimbalCmdIn.u.gimbalCmd.crc by @nerdCopter in https://github.com/betaflight/betaflight/pull/14311
* Add NULL check for vTable->decodeTelemetry by @kedeng in https://github.com/betaflight/betaflight/pull/14321
* fix: missing sitl motor count by @AJ92 in https://github.com/betaflight/betaflight/pull/14319
* Revert GPS flight model change by @haslinghuis in https://github.com/betaflight/betaflight/pull/14333
* Jetiexbus -> function unused without GPS enabled. by @blckmn in https://github.com/betaflight/betaflight/pull/14336
* fix rtc6705 drive by @LYNHQQ in https://github.com/betaflight/betaflight/pull/14296
* Properly handle USE_BARO_LPS22DF by @SteveCEvans in https://github.com/betaflight/betaflight/pull/14340
* Fix ATRN by @haslinghuis in https://github.com/betaflight/betaflight/pull/14360
* Fix turtle mode motor direction on rearm by @haslinghuis in https://github.com/betaflight/betaflight/pull/14362
* throttle lookup table increase size, fix linear interpolation and improve bezier interpolation logic by @marc-frank in https://github.com/betaflight/betaflight/pull/14356
* fix format overflow in blackboxVirtualBeginLog by @DrAtomic in https://github.com/betaflight/betaflight/pull/14373
* Update pwm_output_hw.c by @hmz06967 in https://github.com/betaflight/betaflight/pull/14385
* Fix compiler errors if you remove -flto=auto from standard build flags by @mjs1441 in https://github.com/betaflight/betaflight/pull/14381
* Fix osd_esc_rpm_alarm by @haslinghuis in https://github.com/betaflight/betaflight/pull/14361
* Changed logical OR to bitwise OR in register value definitions by @katzfey in https://github.com/betaflight/betaflight/pull/14395
* Added float specifier to literal to prevent compile error by @katzfey in https://github.com/betaflight/betaflight/pull/14396
* Added missing GCC diagnostic push pragma by @katzfey in https://github.com/betaflight/betaflight/pull/14397
* Fix inevitable timer overflow by @haslinghuis in https://github.com/betaflight/betaflight/pull/14374
* Initialized a local variable that could otherwise be used uninitialized by @katzfey in https://github.com/betaflight/betaflight/pull/14399
* Move flash_read arguments around in CLI help by @osirisinferi in https://github.com/betaflight/betaflight/pull/14404
* EXTI priority by @SteveCEvans in https://github.com/betaflight/betaflight/pull/14401
* Only wait for ESC to recognise DSHOT signal once at startup by @SteveCEvans in https://github.com/betaflight/betaflight/pull/14408
* Ensure that crash flip behaviour is consistent on every arm attempt by @SteveCEvans in https://github.com/betaflight/betaflight/pull/14410
* Add missing OCTOX8P definition by @SteveCEvans in https://github.com/betaflight/betaflight/pull/14418
* Fix ICM40609D reset register by @haslinghuis in https://github.com/betaflight/betaflight/pull/14415
* Fix misplaced #else/#endif in accgyro_spi_icm456xx.c by @mjs1441 in https://github.com/betaflight/betaflight/pull/14445
* Removed extraneous parentheses to resolve compiler warning by @katzfey in https://github.com/betaflight/betaflight/pull/14441
* Pico - fix getCycleCounter by @mjs1441 in https://github.com/betaflight/betaflight/pull/14446
* Remove duplicate files from source.mk by @katzfey in https://github.com/betaflight/betaflight/pull/14448
* Fix uninitialised loop variable in msp.c by @mjs1441 in https://github.com/betaflight/betaflight/pull/14479
* Fix ICM426XX_RA_DEVICE_CONFIG by @SteveCEvans in https://github.com/betaflight/betaflight/pull/14487
* Move DMA IRQ acknowledge to before the callback as it's edge triggered by @SteveCEvans in https://github.com/betaflight/betaflight/pull/14514
* Fix missing #if for PINIO_COUNT by @mjs1441 in https://github.com/betaflight/betaflight/pull/14515
* Fix a CLI status crash when no gyro present by @mjs1441 in https://github.com/betaflight/betaflight/pull/14524
* accgyro_mpu initialise gyro->segments. by @mjs1441 in https://github.com/betaflight/betaflight/pull/14528
* Fix incorrect TIMUP DMA configuration dump on H743 by @kedeng in https://github.com/betaflight/betaflight/pull/14502
* FIX: Skip undetected gyros (blocking VCP connection) by @haslinghuis in https://github.com/betaflight/betaflight/pull/14543
* Fix IMU switching by @haslinghuis in https://github.com/betaflight/betaflight/pull/14552
* 🔧 Fix timer wraparound issue when tring to arm by @haslinghuis in https://github.com/betaflight/betaflight/pull/14562
* Fix QMC5883L oversampling by @haslinghuis in https://github.com/betaflight/betaflight/pull/14555
* Add missing DMA request for PB9 on STM32G4 by @haslinghuis in https://github.com/betaflight/betaflight/pull/14557
* Backport Jeti fixes by @haslinghuis in https://github.com/betaflight/betaflight/pull/14578
* PICO Fix: don't use IO_Pin(0) in exti_pico.c. Implement EXTIRelease by @mjs1441 in https://github.com/betaflight/betaflight/pull/14583
* Fix ADC by @haslinghuis in https://github.com/betaflight/betaflight/pull/14584
* Fix camera control by @haslinghuis in https://github.com/betaflight/betaflight/pull/14580
* Enable telemetry by default by @haslinghuis in https://github.com/betaflight/betaflight/pull/14579
* BUG: CAMERA_CONTROL_SOFTWARE_PWM_AVAILABLE not available on F411 (only F405) by @blckmn in https://github.com/betaflight/betaflight/pull/14597
* Default to 2 point FF averaging and alter debug by @ctzsnooze in https://github.com/betaflight/betaflight/pull/14600
* Fix RPM alarm check by @haslinghuis in https://github.com/betaflight/betaflight/pull/14566
* Fix configurator status crash when no osdDisplayPort. by @mjs1441 in https://github.com/betaflight/betaflight/pull/14614
* BUGFIX: Inoperative ADC due to internal readings returning 0 by @blckmn in https://github.com/betaflight/betaflight/pull/14628
* IBUS: Add defensive bounds checking to extended channel parsing by @valeriyvan in https://github.com/betaflight/betaflight/pull/14631
* fix-undefined-customAlignment1-variable by @bradselph in https://github.com/betaflight/betaflight/pull/14644
* Fix mag custom alignment configuration by @haslinghuis in https://github.com/betaflight/betaflight/pull/14637
* Fix FrSky OSD by @haslinghuis in https://github.com/betaflight/betaflight/pull/14640
* Switch to ODR 10Hz and 512 sample averaging at STMicroelectronics' request by @SteveCEvans in https://github.com/betaflight/betaflight/pull/14633
* Prioritise SPI RX DMA over TX to prevent overrun by @SteveCEvans in https://github.com/betaflight/betaflight/pull/14656
* Add a NOP to give processor time to handle interrupts by @SteveCEvans in https://github.com/betaflight/betaflight/pull/14658
* Fix tautological comparison in APM32F4 USB wake-up handler by @ledvinap with @Copilot in https://github.com/betaflight/betaflight/pull/14653
* sensors: esc: fix temperature encoding, int8 to uint8 by @dakejahl in https://github.com/betaflight/betaflight/pull/14657
* Fix MSP OSD initialization stuck in OSD_STATE_INIT by @chibaron in https://github.com/betaflight/betaflight/pull/14675
* BUG: Custom config location (when using BETAFLIGHT_CONFIG) throws errors if not a valid git repo by @blckmn in https://github.com/betaflight/betaflight/pull/14674
* Use octal escape for preprocessor guard hash by @SupaflyFPV in https://github.com/betaflight/betaflight/pull/14676
* Fix gyro enable mask field by @haslinghuis in https://github.com/betaflight/betaflight/pull/14684
* Fix RC smoothing by @haslinghuis in https://github.com/betaflight/betaflight/pull/14683
* Correctly right align new version string in OSD by @SteveCEvans in https://github.com/betaflight/betaflight/pull/14696
* Resolved mavlink telemetry transmit data issue by @demvlad in https://github.com/betaflight/betaflight/pull/14700
* Fix Dshot Beacon Logic by @SupaflyFPV in https://github.com/betaflight/betaflight/pull/14672
* Initialize 8 servos when available in the target (instead of 4) by @limonspb in https://github.com/betaflight/betaflight/pull/14703
* Fix BEEPER_GET_FLAG macro by @KarateBrot in https://github.com/betaflight/betaflight/pull/14704
* Added MAVLink telemetries battery status data send by @demvlad in https://github.com/betaflight/betaflight/pull/14701
* Fix: add non-string attribute to prevent unterminated string initialization warning by @haslinghuis in https://github.com/betaflight/betaflight/pull/14708
* MAVLink serial RX providers improvement by @demvlad in https://github.com/betaflight/betaflight/pull/14702
* PICO IOConfigGPIO don't change output level when calling a second time by @mjs1441 in https://github.com/betaflight/betaflight/pull/14707
* The radio links quality is added into MAVLink serial RX provider by @demvlad in https://github.com/betaflight/betaflight/pull/14719
* fix(icm456xx): Remove invalid bank select register writes and add proper initialization by @nerdCopter in https://github.com/betaflight/betaflight/pull/14733
* Fix QMC5883P detection by @haslinghuis in https://github.com/betaflight/betaflight/pull/14782
* Fix detection for QMC5883L using mode mask by @haslinghuis in https://github.com/betaflight/betaflight/pull/14785
* Fix ICM45686 by @haslinghuis in https://github.com/betaflight/betaflight/pull/14766
* Fix openEscSerial by @haslinghuis in https://github.com/betaflight/betaflight/pull/14794
* Fix MSPv2 over SmartPort: repeated START frames after header-only first chunk  by @robthomson in https://github.com/betaflight/betaflight/pull/14749
* cli: strToPin: handle Port I by @dakejahl in https://github.com/betaflight/betaflight/pull/14802
* FIX: Return initialisation to exact order for AT32 by @blckmn in https://github.com/betaflight/betaflight/pull/14804
* fix bug in crashflip auto rearm mode  by @ctzsnooze in https://github.com/betaflight/betaflight/pull/14803
* Fix QSPI flash detection on STM32 MCUs. by @hydra in https://github.com/betaflight/betaflight/pull/14824
* Cli - Fix a bug with `flash_write`. by @hydra in https://github.com/betaflight/betaflight/pull/14826
* Fix w25n flash read by @hydra in https://github.com/betaflight/betaflight/pull/14827
* Added backwards compatibility for motor protocols by @haslinghuis in https://github.com/betaflight/betaflight/pull/14840
* Fix CLI flash_erase command (for W25N01G) by @haslinghuis in https://github.com/betaflight/betaflight/pull/14839
* Fix custom mag_align_yaw by @haslinghuis in https://github.com/betaflight/betaflight/pull/14849
* Fix ICM-40609D accelerometer reading 0.5g instead of 1.0g by @nerdCopter in https://github.com/betaflight/betaflight/pull/14834
* PICO dshot timing update - fix erratic motor movement when disarmed by @qqqlab in https://github.com/betaflight/betaflight/pull/14864
* Scheduler - upgrade taskCount and lateTaskCount to uint32_t. by @mjs1441 in https://github.com/betaflight/betaflight/pull/14889
* CRSF: fix race condition in subset frame handling by @andyp1per in https://github.com/betaflight/betaflight/pull/14893
* [RX] Fix RX_MSP: missing CLI feature name and RX rate always 0 by @Remenby31 in https://github.com/betaflight/betaflight/pull/14861
* Fix error in blackbox.c when building without LTO by @mjs1441 in https://github.com/betaflight/betaflight/pull/14816
* Fix battery percentage calculation with battery capacity set to 0 by @michaeldebacker in https://github.com/betaflight/betaflight/pull/14899
* Define USE_LED_STRIP if USE_LED_STRIP_64 is defined by @osirisinferi in https://github.com/betaflight/betaflight/pull/14916
* fix: remove beacon timestamp update when blocked by @nerdCopter in https://github.com/betaflight/betaflight/pull/14904
* Fix motor output not restored after ESC passthrough exit by @kedeng in https://github.com/betaflight/betaflight/pull/14917
* PICO DShot bidir - clarify code to prevent build error with DEBUG=GDB by @mjs1441 in https://github.com/betaflight/betaflight/pull/14926
* Fix use of uninitialised variables in acceleration.c, gyro.c by @mjs1441 in https://github.com/betaflight/betaflight/pull/14928
* Remove linker script for SITL target on MacOS x86-64 by @tstibor in https://github.com/betaflight/betaflight/pull/14934
* FIX: Virtual GPS provider does not need a serial port by @blckmn in https://github.com/betaflight/betaflight/pull/14936
* Update camera control condition in common_post.h by @haslinghuis in https://github.com/betaflight/betaflight/pull/14948
* CLI: fix NULL pointer dereference in help search by @jury89 in https://github.com/betaflight/betaflight/pull/14947
* FIX: dshot beacon by @haslinghuis in https://github.com/betaflight/betaflight/pull/14869
* PICO DSHOT (bidir) - fix for telemetry sampling. by @mjs1441 in https://github.com/betaflight/betaflight/pull/14968
* Constrain GYRO_CLKIN to supported IMU sensors by @haslinghuis in https://github.com/betaflight/betaflight/pull/14971
* fix: initialize vtxtable powerlabels buffer to prevent strncpy stack corruption (#14835) by @nerdCopter in https://github.com/betaflight/betaflight/pull/14979
* Drivers: correct LSM6DSV16X FS_G_4000DPS encoding by @zebulon-86 in https://github.com/betaflight/betaflight/pull/15043
* Fix calib arm disable flag for SITL by @haslinghuis in https://github.com/betaflight/betaflight/pull/15073
* SITL: move .pg_registry out of the executable segment by @blckmn in https://github.com/betaflight/betaflight/pull/15116
* Pico Fix UART issues and implement SERIAL_CHECK_TX option by @mjs1441 in https://github.com/betaflight/betaflight/pull/15117
* Display altitude in sensors tab even if not armed by @SteveCEvans in https://github.com/betaflight/betaflight/pull/15119
* fix: escprog ki 255 (KISSALL) broken on DShot builds (fixes #15114) by @nerdCopter in https://github.com/betaflight/betaflight/pull/15132
* Resolved wrong string buffers size issue by @demvlad in https://github.com/betaflight/betaflight/pull/15141
* Send 0x03 gps time CRSF message by @ot0tot in https://github.com/betaflight/betaflight/pull/15167
* drivers/bus: NULL-check dev->bus in busBusy() by @blckmn in https://github.com/betaflight/betaflight/pull/15188
* Fix QMC5883P by @haslinghuis in https://github.com/betaflight/betaflight/pull/15174
* Fix CLI entry race condition in MSP serial processing (fixes #14169, #15071) by @nerdCopter in https://github.com/betaflight/betaflight/pull/15193
* fix(config): unconditionally clamp failsafe_procedure to valid range by @nerdCopter in https://github.com/betaflight/betaflight/pull/15192
* telemetry/mavlink: send GLOBAL_POSITION_INT.hdg in centidegrees by @blckmn in https://github.com/betaflight/betaflight/pull/15205
* Improve OSD VTX information in non factory band by @chibaron in https://github.com/betaflight/betaflight/pull/15175
* fix(uart): guard half-duplex pinless UART modes by @kedeng in https://github.com/betaflight/betaflight/pull/15218
* CRSF: bound subset RC channel unpacking by @Symmetricity in https://github.com/betaflight/betaflight/pull/15249
* cli: NULL-safe nextArg, fix CLI null-deref crashes in aux/color/led by @blckmn in https://github.com/betaflight/betaflight/pull/15253
* fix(common): guard atoi() with PLATFORM_NO_LIBC by @katzfey in https://github.com/betaflight/betaflight/pull/15260
* fix: IST8310 magnetometer check DRDY before reading data by @haslinghuis in https://github.com/betaflight/betaflight/pull/15243
* Fix duplicate PG ID by @haslinghuis in https://github.com/betaflight/betaflight/pull/15225
* PICO: Fix unsafe use of naive MAX, MIN macros by @mjs1441 in https://github.com/betaflight/betaflight/pull/15269
* STM32H5: fix SPEEDYBEEH5 bring-up (clock tree, SPI kernel clock, ADC null-deref) by @haslinghuis in https://github.com/betaflight/betaflight/pull/15293
* Althold fixes by @ctzsnooze in https://github.com/betaflight/betaflight/pull/15299
* allow for POS_HOLD in SITL by @ehenry344 in https://github.com/betaflight/betaflight/pull/15280
* Ensure heading is known before enabling GPS based position hold by @SteveCEvans in https://github.com/betaflight/betaflight/pull/15240
* STM32C5: C562 platform bring-up (I3C-as-I2C, SPA06 baro, ADC mux, baro pacing) by @blckmn in https://github.com/betaflight/betaflight/pull/15302
* Adjust PIDs and fix FF scaling in Altitude Hold by @ctzsnooze in https://github.com/betaflight/betaflight/pull/15303
* STM32C5: fix I3C legacy-I2C register reads for the SPA06 baro by @blckmn in https://github.com/betaflight/betaflight/pull/15328
* STM32C5: bound ADC internal-sensor waits so a stalled ADC can't hang the scheduler by @blckmn in https://github.com/betaflight/betaflight/pull/15329
* Fix GPS distance calculation and sign of accelEast by @SteveCEvans in https://github.com/betaflight/betaflight/pull/15321
* fix(accgyro): IIM-42652 FSR/AAF + restore IIM-42653 AAF placement by @haslinghuis in https://github.com/betaflight/betaflight/pull/15261
* fix(baro): close negation around all default-baro defines by @katzfey in https://github.com/betaflight/betaflight/pull/15259
* fix(msp): cancel pendingRequest on '$' only, restoring per-byte lastActivityMs by @nerdCopter in https://github.com/betaflight/betaflight/pull/15323
* fix(dshot): remove stale requestTelemetry bridge in AT32/APM32 bitbang bbWriteInt by @tracycam in https://github.com/betaflight/betaflight/pull/15326
* dshot_bitbang: replace telemetry busy-wait with non-blocking DMA abort by @ChrisRosser in https://github.com/betaflight/betaflight/pull/15332
* Fix OSD RTC short timezone offset by @anoshyn in https://github.com/betaflight/betaflight/pull/15312
* fix(position): correct East-West inversion in getLinearAccelENU by @haslinghuis in https://github.com/betaflight/betaflight/pull/15342
* fix(sitl): restore Gazebo gyro Z sign lost in #15280 by @nerdCopter in https://github.com/betaflight/betaflight/pull/15354
* RX MSP Override: require fresh MSP RC data before substituting channels by @EdikSimonian in https://github.com/betaflight/betaflight/pull/15217
* Position hold =Update 2026-6 by @ctzsnooze in https://github.com/betaflight/betaflight/pull/15361
* fix(h5): use correct system bootloader address for software DFU entry by @haslinghuis in https://github.com/betaflight/betaflight/pull/15369
* serial: +++ escape to exit passthrough on DTR-less links by @dmboyd in https://github.com/betaflight/betaflight/pull/15357
* Position  hold small improvements by @ctzsnooze in https://github.com/betaflight/betaflight/pull/15366
* Display battery usage estimation in OSD when battery capacity is set to 0 by @michaeldebacker in https://github.com/betaflight/betaflight/pull/15038
* msp: bound stream reads against payload length to prevent OOB reads by @blckmn in https://github.com/betaflight/betaflight/pull/15379
* Fix start frame detection for fast refresh (1 mS between frames) by @Grinzzz in https://github.com/betaflight/betaflight/pull/14322
* fix(dshot): guard spurious pullup edge in decodeTelemetryPacket by @nerdCopter in https://github.com/betaflight/betaflight/pull/15343
* fix(x32m7b): fix spi and sdmmc by @Romin0615 in https://github.com/betaflight/betaflight/pull/15371
* fix(vtx): apply all active VTX activation conditions (#15362) by @haslinghuis in https://github.com/betaflight/betaflight/pull/15363
* docs: accgyro_spi_icm20689.c 8Mhz comment correction by @nerdCopter in https://github.com/betaflight/betaflight/pull/15365
* fix(filter): correct fq comment in svfNotchFilter_t by @nerdCopter in https://github.com/betaflight/betaflight/pull/15300
* fix(barometer): replace VLA with fixed array in dps310 coefficient read by @nerdCopter in https://github.com/betaflight/betaflight/pull/15266
* Fix CRSF frame length validation by @Symmetricity in https://github.com/betaflight/betaflight/pull/15254
* Set d_max_advance default to 0 to match configurator guidance by @ChrisRosser in https://github.com/betaflight/betaflight/pull/15221
* FIX: BEEPER_USB suppression when battery present and configurator active by @haslinghuis in https://github.com/betaflight/betaflight/pull/14976
* GPS Rescue2026_6a by @ctzsnooze in https://github.com/betaflight/betaflight/pull/15382
* fix: the request parser writes data into a fixed-siz... in rcdevice.c by @orbisai0security in https://github.com/betaflight/betaflight/pull/15389
* fix(flashfs): avoid blocking MSP during NOR chip erase by @kedeng in https://github.com/betaflight/betaflight/pull/15273
* fix(crsf): rate-limit crsfTelemetryUpdateCheck to prevent scheduler starvation by @nerdCopter in https://github.com/betaflight/betaflight/pull/15358
* rx: detect sbus frame boundary via interbyte timeout by @blckmn in https://github.com/betaflight/betaflight/pull/15388
* Fix inverted timeout condition in W25Q128FV write-enable poll by @nerdCopter in https://github.com/betaflight/betaflight/pull/15396
* bus_quadspi_hal: capture HAL status in quadSpiSequence() by @nerdCopter in https://github.com/betaflight/betaflight/pull/15397
* flash_w25n: remove dead/buggy BBLUT read/write code by @nerdCopter in https://github.com/betaflight/betaflight/pull/15398
* fix: prevent spurious blackbox erase before RX link by @nerdCopter in https://github.com/betaflight/betaflight/pull/15404
* STM32C5: correct timer AF tables and complete timer coverage by @blckmn in https://github.com/betaflight/betaflight/pull/15405
* Fix H7 FDCAN bring-up: kernel clock query and transceiver silent pin by @blckmn in https://github.com/betaflight/betaflight/pull/15429
* STM32H5: ADC circular GPDMA so battery/current track live values by @haslinghuis in https://github.com/betaflight/betaflight/pull/15419
* RTC is not set from GPS time using UBLOX M10 by @stsypanov in https://github.com/betaflight/betaflight/pull/15394
* STM32H5/N6: drive WS2811 LED strip correctly on GPDMA by @haslinghuis in https://github.com/betaflight/betaflight/pull/15438
* PICO: Allow non-inverted BEC enable on GPIOs, add missing dma include by @mjs1441 in https://github.com/betaflight/betaflight/pull/15444
* STM32: align MPU regions to actual size by @morrob955 in https://github.com/betaflight/betaflight/pull/15441
* fix(cli): don't dereference NULL sensor hardware names by @haslinghuis in https://github.com/betaflight/betaflight/pull/15456
* optimize at32f43x vbat and current more accurate when punch throttle  by @shanggl in https://github.com/betaflight/betaflight/pull/15418
* fix: keep the beeper and RX_LOST beacon alive after a USB session by @haslinghuis in https://github.com/betaflight/betaflight/pull/15477
* Align BMI270 axes to ICM42688 on shared-footprint boards by @blckmn in https://github.com/betaflight/betaflight/pull/15484
* X32M7B: relocate CLI command handlers from ITCM to AHB_SRAM by @nerdCopter in https://github.com/betaflight/betaflight/pull/15463
* PICO: Fix up RP2350.mk to find extra linker file in new config folder by @mjs1441 in https://github.com/betaflight/betaflight/pull/15503
* fix(h5): correct USART10 AF, drop invalid I2C4 pin, add missing UART/I2C pins by @haslinghuis in https://github.com/betaflight/betaflight/pull/15506
* fix(g4,n6): correct alternate-function errors in the I2C and UART tables by @haslinghuis in https://github.com/betaflight/betaflight/pull/15508
* fix(crsf): don't gate chunked MSP replies on inbound frames by @haslinghuis in https://github.com/betaflight/betaflight/pull/15501
* fix(STM32C5): bound I3C-as-I2C flag waits by time, not loop count by @haslinghuis in https://github.com/betaflight/betaflight/pull/15479
* fix(spi): re-assert CS when repeating a DMA segment by @haslinghuis in https://github.com/betaflight/betaflight/pull/15478
* Flash/MT29F - Add support for multi-plane variants. by @hydra in https://github.com/betaflight/betaflight/pull/15474
* Optimize timer-based bidirectional DShot on F4 MCUs to reduce scheduler jitter by @ot0tot in https://github.com/betaflight/betaflight/pull/15437
* GT25Q-series flash updates by @somethingjustlike in https://github.com/betaflight/betaflight/pull/15402
* fix(osd): use battery state when battery capacity is unset by @michaeldebacker in https://github.com/betaflight/betaflight/pull/15415
* Fix beeper never sounding when BEEPER_USB off-flag is set (restores battery gate) by @nerdCopter in https://github.com/betaflight/betaflight/pull/15424
* Bound VCP TX waits to fix TASK_SERIAL maxload corruption by @nerdCopter in https://github.com/betaflight/betaflight/pull/15449
* cli.c: Average reported task rates for consistent status output by @ot0tot in https://github.com/betaflight/betaflight/pull/15436
### Targets
* Fix stm32h730 hardcoded target IO by @hydra in https://github.com/betaflight/betaflight/pull/13604
* Adding initial H563 target files in preparation by @blckmn in https://github.com/betaflight/betaflight/pull/13686
* Initiate APM32F40X MCU Support in Betaflight by @LuckkMaker in https://github.com/betaflight/betaflight/pull/13709
* Add apm32f405/f407 support by @LuckkMaker in https://github.com/betaflight/betaflight/pull/13796
* Update timer_at32f43x.c by @ot0tot in https://github.com/betaflight/betaflight/pull/13909
* Move USE_SOFTSERIAL to build options by @haslinghuis in https://github.com/betaflight/betaflight/pull/13305
* Adding RP2350 SDK and target framework by @blckmn in https://github.com/betaflight/betaflight/pull/13988
* PICO changes by @blckmn in https://github.com/betaflight/betaflight/pull/14105
* Add SPI_DEVICE_4 to AT32 targets by @haslinghuis in https://github.com/betaflight/betaflight/pull/14255
* Add PB0 to AT32 SPI3 mosi pins by @haslinghuis in https://github.com/betaflight/betaflight/pull/14324
* STM32H7 add UART4 pins by @AlexKlimaj in https://github.com/betaflight/betaflight/pull/14341
* PICO: Adding PICO tooling to CI by @blckmn in https://github.com/betaflight/betaflight/pull/14503
* Allow OSD on RP2350B target by @SteveCEvans in https://github.com/betaflight/betaflight/pull/14538
* PICO RP2350 target updates by @mjs1441 in https://github.com/betaflight/betaflight/pull/14588
* PICO: Adding ADC by @blckmn in https://github.com/betaflight/betaflight/pull/14587
* PICO trace use defines from config to select UART pins. by @mjs1441 in https://github.com/betaflight/betaflight/pull/14610
* PICO: Adding reboot to flashing rom (like DFU) by @blckmn in https://github.com/betaflight/betaflight/pull/14634
* Add support for PICO onboard QSPI FLASH by @SteveCEvans in https://github.com/betaflight/betaflight/pull/14607
* stm32g4: add QSPI support by @Jorropo in https://github.com/betaflight/betaflight/pull/14586
* PICO - New PIO-based UART devices PIOUART0, PIOUART1 by @mjs1441 in https://github.com/betaflight/betaflight/pull/14635
* H735 working (on the CHONKERH735 hardware) by @RubberQuads in https://github.com/betaflight/betaflight/pull/14669
* Enable SPI6 on H7 by @haslinghuis in https://github.com/betaflight/betaflight/pull/14717
* Add SPI pins for larger H7 packages by @osirisinferi in https://github.com/betaflight/betaflight/pull/14711
* Fix AT32F435 I2C GPIO MUX by @ot0tot in https://github.com/betaflight/betaflight/pull/14778
* Add multi-core support offloading interrupt handling to the second core by @SteveCEvans in https://github.com/betaflight/betaflight/pull/14796
* Enable important features for RP2350B by @andyp1per in https://github.com/betaflight/betaflight/pull/14875
* Update mk/config.mk to allow include of board-specific config.mk by @mjs1441 in https://github.com/betaflight/betaflight/pull/14810
* Add STM32N6 HAL/LL drivers and USB device library by @blckmn in https://github.com/betaflight/betaflight/pull/15000
* STM32N6: move vendor HAL to STM32CubeN6 submodule (v1.3.0) by @blckmn in https://github.com/betaflight/betaflight/pull/15011
* Add ESP32-S3 platform scaffold with stub drivers, build system integration, and split platform-specific tools into platform mk directories by @blckmn in https://github.com/betaflight/betaflight/pull/15016
* STM32H5: add SPI bus support with GPDMA infrastructure by @blckmn in https://github.com/betaflight/betaflight/pull/15063
* Add ESP32 interrupt infrastructure, harden UART driver, and fix opaque resource types by @blckmn in https://github.com/betaflight/betaflight/pull/15064
* STM32H5: add UART driver support with CLI enabled by @blckmn in https://github.com/betaflight/betaflight/pull/15068
* Add GDMA-backed SPI DMA transfers for ESP32-S3 by @blckmn in https://github.com/betaflight/betaflight/pull/15069
* Update APM32F4 and USB libraries by @LuckkMaker in https://github.com/betaflight/betaflight/pull/15098
* PICO: Initial commit for framebuffer OSD displayport device (FB_OSD) with RP2350 implementation. by @mjs1441 in https://github.com/betaflight/betaflight/pull/14882
* Add apm32f425/427 support by @LuckkMaker in https://github.com/betaflight/betaflight/pull/15138
* add gd32h7xx firmware library support by @jianpingwu1 in https://github.com/betaflight/betaflight/pull/14985
* STM32C5: add STM32C562 platform support (NUCLEO-C562RE bring-up) by @blckmn in https://github.com/betaflight/betaflight/pull/15172
* STM32C5: source SYSCLK from HSE via PSI (with HSI fallback) by @blckmn in https://github.com/betaflight/betaflight/pull/15177
* Add STM32H757 dual-core MCU support by @andyp1per in https://github.com/betaflight/betaflight/pull/15234
* STM32N6: working CONFIG_IN_MEMORY_MAPPED_FLASH on OPENN657V1 by @blckmn in https://github.com/betaflight/betaflight/pull/15246
* Add xcore32m7 platform support by @LYNHQQ in https://github.com/betaflight/betaflight/pull/15169
* STM32N6 OBL + BF NS bring-up: USB VCP enumerates, CLI responsive by @blckmn in https://github.com/betaflight/betaflight/pull/15257
* STM32C5: enable SPI DMA on the STM32C562 target by @blckmn in https://github.com/betaflight/betaflight/pull/15322
* STM32C5: config partition at end of flash; C591 UART pins by @blckmn in https://github.com/betaflight/betaflight/pull/15335
* STM32H5: enable UART2-8 on H562/H563 and fix UART open hard fault by @haslinghuis in https://github.com/betaflight/betaflight/pull/15367
* feat(h5): enable LED_STRIP and remaining peripherals, drop VIRTUAL_GYRO by @haslinghuis in https://github.com/betaflight/betaflight/pull/15368

## New Contributors
* @jonas-becker made their first contribution in https://github.com/betaflight/betaflight/pull/13404
* @AZDane made their first contribution in https://github.com/betaflight/betaflight/pull/13639
* @Hochmueller made their first contribution in https://github.com/betaflight/betaflight/pull/13715
* @LuckkMaker made their first contribution in https://github.com/betaflight/betaflight/pull/13709
* @ainosukii made their first contribution in https://github.com/betaflight/betaflight/pull/13769
* @anti-social made their first contribution in https://github.com/betaflight/betaflight/pull/13826
* @kedeng made their first contribution in https://github.com/betaflight/betaflight/pull/13841
* @demvlad made their first contribution in https://github.com/betaflight/betaflight/pull/13899
* @KissUltra made their first contribution in https://github.com/betaflight/betaflight/pull/13911
* @henrywarhurst made their first contribution in https://github.com/betaflight/betaflight/pull/13944
* @mywinchester made their first contribution in https://github.com/betaflight/betaflight/pull/13977
* @ahmedsalah52 made their first contribution in https://github.com/betaflight/betaflight/pull/13980
* @vmzhivetyev made their first contribution in https://github.com/betaflight/betaflight/pull/14054
* @timmyfpv made their first contribution in https://github.com/betaflight/betaflight/pull/14065
* @jpmreece made their first contribution in https://github.com/betaflight/betaflight/pull/13776
* @DrAtomic made their first contribution in https://github.com/betaflight/betaflight/pull/14113
* @dakejahl made their first contribution in https://github.com/betaflight/betaflight/pull/14144
* @Stepandrr made their first contribution in https://github.com/betaflight/betaflight/pull/14151
* @ggabriel-airmod made their first contribution in https://github.com/betaflight/betaflight/pull/14212
* @jefffhaynes made their first contribution in https://github.com/betaflight/betaflight/pull/14221
* @kensherman made their first contribution in https://github.com/betaflight/betaflight/pull/14263
* @fluke9 made their first contribution in https://github.com/betaflight/betaflight/pull/14286
* @LYNHQQ made their first contribution in https://github.com/betaflight/betaflight/pull/14296
* @marc-frank made their first contribution in https://github.com/betaflight/betaflight/pull/14229
* @Claucdan made their first contribution in https://github.com/betaflight/betaflight/pull/14332
* @The-Real-Thisas made their first contribution in https://github.com/betaflight/betaflight/pull/14284
* @AlexKlimaj made their first contribution in https://github.com/betaflight/betaflight/pull/14341
* @mjs1441 made their first contribution in https://github.com/betaflight/betaflight/pull/14345
* @hmz06967 made their first contribution in https://github.com/betaflight/betaflight/pull/14385
* @heronprecision-1 made their first contribution in https://github.com/betaflight/betaflight/pull/14378
* @katzfey made their first contribution in https://github.com/betaflight/betaflight/pull/14395
* @osirisinferi made their first contribution in https://github.com/betaflight/betaflight/pull/14404
* @LarryKarhu made their first contribution in https://github.com/betaflight/betaflight/pull/14376
* @LukasLendvorsky made their first contribution in https://github.com/betaflight/betaflight/pull/14470
* @bradselph made their first contribution in https://github.com/betaflight/betaflight/pull/14644
* @chexov made their first contribution in https://github.com/betaflight/betaflight/pull/14647
* @Jorropo made their first contribution in https://github.com/betaflight/betaflight/pull/14586
* @ledvinap with @Copilot made their first contribution in https://github.com/betaflight/betaflight/pull/14653
* @MatajZ made their first contribution in https://github.com/betaflight/betaflight/pull/14623
* @RubberQuads made their first contribution in https://github.com/betaflight/betaflight/pull/14669
* @ThomasVestergaard made their first contribution in https://github.com/betaflight/betaflight/pull/14751
* @jianpingwu1 made their first contribution in https://github.com/betaflight/betaflight/pull/14519
* @fpvfeline made their first contribution in https://github.com/betaflight/betaflight/pull/14737
* @robthomson made their first contribution in https://github.com/betaflight/betaflight/pull/14749
* @PD45-46 made their first contribution in https://github.com/betaflight/betaflight/pull/14843
* @qqqlab made their first contribution in https://github.com/betaflight/betaflight/pull/14863
* @andyp1per made their first contribution in https://github.com/betaflight/betaflight/pull/14875
* @Remenby31 made their first contribution in https://github.com/betaflight/betaflight/pull/14861
* @b-r-y made their first contribution in https://github.com/betaflight/betaflight/pull/14829
* @michaeldebacker made their first contribution in https://github.com/betaflight/betaflight/pull/14899
* @Robolightning made their first contribution in https://github.com/betaflight/betaflight/pull/14761
* @ArturPelicho made their first contribution in https://github.com/betaflight/betaflight/pull/14896
* @VoodooChild99 made their first contribution in https://github.com/betaflight/betaflight/pull/14842
* @spatzengr made their first contribution in https://github.com/betaflight/betaflight/pull/14371
* @gintaris made their first contribution in https://github.com/betaflight/betaflight/pull/14924
* @jury89 made their first contribution in https://github.com/betaflight/betaflight/pull/14946
* @jwoloch made their first contribution in https://github.com/betaflight/betaflight/pull/14970
* @remete618 made their first contribution in https://github.com/betaflight/betaflight/pull/14982
* @HGLRC-T made their first contribution in https://github.com/betaflight/betaflight/pull/14983
* @Manwe-777 made their first contribution in https://github.com/betaflight/betaflight/pull/14945
* @stsypanov made their first contribution in https://github.com/betaflight/betaflight/pull/14987
* @hanneskaeufler made their first contribution in https://github.com/betaflight/betaflight/pull/15045
* @zebulon-86 made their first contribution in https://github.com/betaflight/betaflight/pull/15043
* @oskarsselis made their first contribution in https://github.com/betaflight/betaflight/pull/15065
* @MatviiG made their first contribution in https://github.com/betaflight/betaflight/pull/15042
* @gaoyu2144287 made their first contribution in https://github.com/betaflight/betaflight/pull/15219
* @Romin0615 made their first contribution in https://github.com/betaflight/betaflight/pull/15242
* @Symmetricity made their first contribution in https://github.com/betaflight/betaflight/pull/15249
* @ehenry344 made their first contribution in https://github.com/betaflight/betaflight/pull/15280
* @anoshyn made their first contribution in https://github.com/betaflight/betaflight/pull/15312
* @EdikSimonian made their first contribution in https://github.com/betaflight/betaflight/pull/15217
* @dmboyd made their first contribution in https://github.com/betaflight/betaflight/pull/15357
* @ReganLai-Fudan made their first contribution in https://github.com/betaflight/betaflight/pull/15292
* @Grinzzz made their first contribution in https://github.com/betaflight/betaflight/pull/14322
* @orbisai0security made their first contribution in https://github.com/betaflight/betaflight/pull/15389
* @somethingjustlike made their first contribution in https://github.com/betaflight/betaflight/pull/15310
* @marcusamery made their first contribution in https://github.com/betaflight/betaflight/pull/15395
* @RunnyCow made their first contribution in https://github.com/betaflight/betaflight/pull/15008
* @morrob955 made their first contribution in https://github.com/betaflight/betaflight/pull/15445
* @shanggl made their first contribution in https://github.com/betaflight/betaflight/pull/15418

**Full Changelog**: https://github.com/betaflight/betaflight/compare/4.5.0...2026.6.1