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