Betaflight 2025.12.1 brings a massive range of new features, improvements, fixes, and new hardware support, making this one of the most significant updates yet. This release continues to expand Betaflight's capabilities for both multirotors and wings, adds new hardware targets, and refines the core codebase for maintainability and performance.
Please use the online Betaflight App for configuring this release. It can be found here: https://app.betaflight.com
π Key New Features
Autonomous & Safety Features: New capabilities include Altitude Hold, Position Hold, Collision Detection, and an auto-disarm function that triggers on landing impact.
Fixed-Wing Enhancements: A major focus of this release, with many new tools for wings, such as an S-term for smoother flight, Throttle and PID Attenuation (TPA) modes based on airspeed, and specialized PID multiplier curves.
Flight & User Experience:
Updated Turtle/Crashflip Mode: Improvements to the mode that helps you flip your drone back over after a crash.
Launch Timer: A new timer specifically for launches.
LED Dimmer & Functions: Added an LED dimmer and new LED bar indicators for GPS, battery, and altitude.
β¨ Improvements & Optimizations
Hardware Support: Support has been added for new gyros (like IIM42653, ICM456xx), flash memory chips, rangefinders, and a CADDX camera gimbal.
Protocols & Communication: Enhancements have been made to various communication protocols, including CRSF (vario and barometer support), ELRS (FLRC F-modes, Model Match ID), and MAVLink. MSP has been expanded to support more commands and pass-through CLI commands.
Blackbox & OSD: Blackbox logging is now more comprehensive, with the ability to log servo data, GPS home altitude, IMU attitude, and MCU ID. The On-Screen Display (OSD) also gains new elements and display options.
Code Refactoring: A massive effort was undertaken to clean up and reorganize the codebase. This involves moving platform-specific code (for different microcontrollers) into dedicated directories, which simplifies future development and improves maintainability.
π οΈ Bug Fixes
This release addresses a vast number of bugs. Check the full change log below for a comprehensive list.
π― New Hardware Targets
Support has been added for new microcontrollers, significantly expanding the range of compatible flight controllers. This includes initial support for:
Raspberry Pi PICO (RP2350)
APM32F40X series
Contributor Thanks
π New Contributors
Special thanks to our new contributors for this release! The Betaflight community continues to grow and thrive thanks to your efforts.
A huge thank you to our regular and returning contributors, who continue to drive Betaflight forward with ongoing improvements, feature development, bugfixes, reviews, and community support. Your dedication is what makes Betaflight possible!
(For a full, up-to-date list, see https://github.com/betaflight/betaflight/graphs/contributors)
Upgrading & Feedback
As always, we recommend backing up your configuration before upgrading. Please report any issues via GitHub or join our Discord for discussions and troubleshooting. Thank you for flying Betaflight!
Full Changelog
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
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
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 @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
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
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
@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
Full Changelog: https://github.com/betaflight/betaflight/compare/4.5.0...2025.12.1