PX4-Autopilot v1.18.0 Release Notes
BetaPX4 v1.18 builds on PX4 v1.17
WARNING
PX4 v1.18 is in beta testing. Update these notes with features that are going to be in v1.18. For new features that aren't going into v1.18, update main.
Прочитайте перед оновленням
Please continue reading for upgrade instructions.
Основні зміни
- New Guided Course flight mode (Fixed-Wing). Holds a constant ground-track bearing, altitude, and airspeed with no manual input, controllable in flight from a GCS via
MAV_CMD_GUIDED_CHANGE_HEADING,MAV_CMD_DO_CHANGE_ALTITUDE, andMAV_CMD_DO_CHANGE_SPEED. (PX4-Autopilot#27156) - Software Bill of Materials (SBOM). Every firmware build now automatically generates an SPDX 2.3 SBOM describing the sources that went into it (opt out with
PX4_SBOM_DISABLE=1). (PX4-Autopilot#26731) - MAVLink signing is now spec-compliant (breaking change). Signing activates only when a valid key is present on the SD card,
SETUP_SIGNINGis accepted on any link (not just USB) but rejected while armed, and signing can be disabled with a signed all-zero key. The non-standardMAV_SIGN_CFGparameter was removed, and there is zero CPU/bandwidth overhead when signing is inactive. (PX4-Autopilot#26894) - Manual control (RC) override reworked (breaking change). The pilot now regains control based on how fast a stick is moved rather than by how far it is deflected. New MAN_OVERRIDE_SPD (normalized stick travel per second, default
1, negative to disable) replaces the removedCOM_RC_OVERRIDEbitmask andCOM_RC_STICK_OVthreshold; override now applies uniformly across auto and offboard modes. ExistingCOM_RC_OVERRIDE=0settings migrate toMAN_OVERRIDE_SPD=-1. Affects multicopters and VTOLs in MC mode. (PX4-Autopilot#27041) - Runtime EKF2 sensor fusion control over MAVLink. Fusion sources can now be toggled at runtime (
VEHICLE_CMD_ESTIMATOR_SENSOR_ENABLE), a new EKF2_SENS_EN bitmask (replacingEKF2_EN_BOOT) selects enabled fusion sources, and a newESTIMATOR_SENSOR_FUSION_STATUSMAVLink stream reports intended and active fusion masks to the GCS. (PX4-Autopilot#26739) - Per-receiver GPS configuration. Antenna lever-arm offsets, measurement delay, and device-ID matching moved from single global EKF2 parameters to per-receiver
SENS_GPS{0,1}_*sets, enabling correct multi-GPS blending. RemovesEKF2_GPS_POS_X/Y/ZandEKF2_GPS_DELAY(auto-migrated). (PX4-Autopilot#26634, PX4-Autopilot#26660) - UAVCAN node firmware flashing from the SD card. The UAVCAN server can now flash connected CAN nodes directly from
.binfiles on the SD card, tracking versions in anFW.dbdatabase and reflashing any node whose version does not match. (PX4-Autopilot#27043) - Serial Passthrough over MAVLink. The new
serialpassthroughdriver lets MAVLink clients read from and write to flight controller serial ports (TEL1/2, GPS1/2, TEL3/4) viaSERIAL_CONTROL, so connected devices can be configured without unplugging them from the vehicle. On STM32F7/H7 boards, ESC signal pins can also be written via a software bit-bang UART. (PX4-Autopilot#27605) - PX4 for ModalAI VOXL 2 ships as a Debian package. The separate VOXL 2 board variants were merged into a single build, packaged as
voxl-px4_*_arm64.debin CI and published with every PX4 release. (PX4-Autopilot#26727) - Hardware bench testing (px4bench). New toolkit (
Tools/bench_test/) for automated firmware qualification on a real flight controller over USB: it flashes and verifies the firmware identity, runs boot, communication, storage, parameter-persistence, and serial-loopback checks, and can fly a full SIH auto mission on the FMU itself, writing machine-readable reports with full firmware traceability. See Hardware Bench Testing. (PX4-Autopilot#27823)
Інструкції для оновлення
For users upgrading from v1.17, please take a moment to review the following before flying:
Re-check manual control override behaviour. The pilot now regains control based on how fast a stick is moved rather than by how far it is deflected, and override applies uniformly across auto and offboard modes. The
COM_RC_OVERRIDEbitmask andCOM_RC_STICK_OVthreshold are replaced by MAN_OVERRIDE_SPD (normalized stick travel per second, default1, negative to disable).COM_RC_OVERRIDE=0is migrated toMAN_OVERRIDE_SPD=-1; any other customization must be re-tuned. Affects multicopters and VTOLs in MC mode. (PX4-Autopilot#27041)Re-provision MAVLink signing. Signing is now spec-compliant: it activates only when a valid key is present on the SD card, and the non-standard
MAV_SIGN_CFGparameter has been removed.SETUP_SIGNINGis accepted on any link but rejected while armed. If you used signing in v1.17, re-provision the key from your GCS and confirm it supports the standard flow. (PX4-Autopilot#26894)Migrate EKF2 fusion source selection.
EKF2_EN_BOOTis replaced by the EKF2_SENS_EN bitmask selecting which sensor fusion sources are enabled; fusion sources can additionally be toggled at runtime over MAVLink. (PX4-Autopilot#26739)Verify per-receiver GPS configuration. Antenna lever-arm offsets and measurement delay moved from the global
EKF2_GPS_POS_X/Y/ZandEKF2_GPS_DELAYparameters to per-receiverSENS_GPS0_*/SENS_GPS1_*sets matched by device ID. Values are auto-migrated, but multi-GPS setups should verify each receiver's offsets after upgrading. (PX4-Autopilot#26634, PX4-Autopilot#26660)Review log rotation defaults. Log rotation is now enabled by default: each log file is capped at SDLOG_MAX_SIZE (default
1024MB) and cleanup keeps at least(100 - SDLOG_ROTATE)%of the disk free (default 10%), running at log start rather than boot.SDLOG_DIRS_MAXis now an orthogonal directory-count cap defaulting to0(disabled) and no longer enforces the old implicit ~300 MB free-space floor; if you relied on that floor, set SDLOG_ROTATE instead. See Log Cleanup.Update custom logger topic files.
etc/logging/logger_topics.txton the SD card is now appended on top of the selected logging profile instead of replacing the entire topic set. Keep only the extra topics you want in the file. (PX4-Autopilot#27462)Check removed commander parameters.
COM_FLT_PROFILE,COM_KILL_DISARM,COM_MOT_TEST_EN,COM_TAKEOFF_ACT,COM_HLDL_REG_T,COM_ARM_SDCARD,COM_IMB_PROP_ACT,COM_OBC_LOSS_T, andCOM_LKDOWN_TKOare removed and their previous default behaviour is now fixed (see the removed-parameters table under Common). In particular, the vehicle now always switches to Hold after takeoff; if you relied onCOM_TAKEOFF_ACTto continue into a mission, take off in Mission mode instead.Migrate landing yaw/position nudging.
MPC_LAND_RC_HELPis replaced by Bit 1 of MPC_AUTO_NUDGING (auto-migrated). Bit 0 enables the new yaw nudging in all auto modes. (PX4-Autopilot#27691)Re-tune motor failure detection offsets.
MOTFAIL_LOW_OFFandMOTFAIL_HIGH_OFFare replaced by a single MOTFAIL_OFF (default10A) triggering on absolute current deviation. (PX4-Autopilot#26990)Update GCS/companion software that uses deprecated MAVLink request commands.
MAV_CMD_REQUEST_AUTOPILOT_CAPABILITIES,MAV_CMD_REQUEST_PROTOCOL_VERSION,MAV_CMD_GET_HOME_POSITION,MAV_CMD_REQUEST_FLIGHT_INFORMATION, andMAV_CMD_REQUEST_STORAGE_INFORMATIONare removed; useMAV_CMD_REQUEST_MESSAGEinstead. (PX4-Autopilot#27251, PX4-Autopilot#27252)Update AFBR-S50 startup scripts. The
-rcommand-line rotation flag is removed; set the mounting orientation via SENS_AFBR_ROT instead. (PX4-Autopilot#27385)
Підтримка обладнання
New Flight Controllers
- CUAV X25-MEGA: STM32H743 autopilot for commercial integration, with triple-redundant heated IMUs (ADIS16607 primary), dual barometers, and an RM3100 compass. (PX4-Autopilot#26664)
- CUAV X25-SUPER: STM32H743 autopilot in the same family as the X25-MEGA, with a Murata SCH16T primary IMU, triple-redundant heated IMUs, dual barometers, and an RM3100 compass. (PX4-Autopilot#26474)
- Corvon V5: Pixhawk FMUv5-standard board (STM32F765) with triple IMUs (ICM-20689, ICM-20602, BMI088), IST8310 magnetometer, and MS5611 barometer. (PX4-Autopilot#26286)
- Corvon 743v2: upgrade of the 743v1 with dual IMUs (ICM-42688P, BMI088), BMP581 barometer, a DJI O4 Air Unit connector, and onboard Bluetooth. (PX4-Autopilot#27569)
- AEDROX AEDROXH7: STM32H743-based FPV/racing flight controller (ICM-42688-P IMU, DPS310 barometer, W25N NAND flash, MAX7456 OSD, 8 bidirectional-DShot outputs). (PX4-Autopilot#27226)
- CBUnmanned H753-SOM: System-on-Module built around the STM32H753 with dual ICM-42670-P IMUs, designed to be mounted on a vehicle-specific carrier board. (PX4-Autopilot#27234)
- 3DR Control N1: compact low-profile STM32H743 flight controller (dual IIM-42653 IMUs, AK09940A magnetometer, DPS368 barometer) for use with a carrier board. This board bring-up also introduced the AKM AK09940A magnetometer driver. (PX4-Autopilot#27395)
- ARK FMU-v6s: a low-cost variant of the ARK V6X (single IIM-42653 IMU, IIS2MDC magnetometer, BMP390 barometer). (PX4-Autopilot#26631)
- Gear Up AirBrainH743: STM32H743 flight controller with DPS310 barometer, LIS2MDL magnetometer, and 128 MB NAND flash for SD-card-free logging. (PX4-Autopilot#26239)
- X-MAV AP-H743r1: STM32H743 autopilot with a dedicated STM32F103 IO processor, dual IMUs (ICM-42688-P or BMI270 depending on version), and SPL06 barometer. (PX4-Autopilot#25967)
- MicoAir H743-Lite: compact STM32H743 flight controller with an ICM-45686 IMU and integrated Bluetooth telemetry. (PX4-Autopilot#25777)
- SVehicle-E2: STM32H753 autopilot with a dedicated STM32F103 IO processor, triple IMUs (BMI088, ICM-42688-P, ICM-20649), and dual ICP-20100 barometers. (PX4-Autopilot#25578)
New Build Targets for Existing Hardware
- Airship build variant for the FMU-v6x (
make px4_fmu-v6x_airship), enabling the airship attitude controller and Cloudship airframe while disabling the multicopter, fixed-wing, and VTOL controllers. (PX4-Autopilot#27739) - Firmware-release build target for the SAAM saampixv1_1 flight controller.
New Sensors & Peripherals
- ARK MAG DroneCAN magnetometer node. (PX4-Autopilot#25822)
- sbgECom INS driver for SBG Systems inertial navigation sensors. (PX4-Autopilot#24137)
- Sony AS-DT1 distance sensor driver, with mounting orientation configurable via a rotation parameter (enabled on FMU-v6XRT). (PX4-Autopilot#27769)
- Analog Devices ADIS1657x IMU driver. (PX4-Autopilot#27239)
- Analog Devices ADIS1650x IMU driver (ADIS16500/16501/16505/16507 family). (PX4-Autopilot#27240)
- ST LSM6DSV16X IMU driver, enabled as a probe-based alternative IMU on Pixhawk 6C. (PX4-Autopilot#26951)
- LSM6DSV 32X and DSK320X variant support in the ST LSM6DSV IMU driver. (PX4-Autopilot#27523)
- Hiwonder 4-channel encoder motor module driver, enabled via HIWONDER_EMM_EN (started from
rc.rover). (PX4-Autopilot#27229) - TI ADS7128 I2C ADC driver. (PX4-Autopilot#26471)
- AUAV L60D support in the AUAV differential pressure sensor driver. (PX4-Autopilot#27219)
- Infineon DPS368 support in the DPS310 barometer driver, selectable with the
-8start flag. (PX4-Autopilot#27724) - VectorNav INS driver: added options to select the IMU output rate and the serial output port. (PX4-Autopilot#27318)
- AFBR-S50 rangefinder: mounting orientation is now set via SENS_AFBR_ROT instead of the removed
-rcommand-line flag. (PX4-Autopilot#27385)
Existing Boards: Improvements
- Accton Godwit GA1: ICM45686 IMU support. (PX4-Autopilot#27281)
- ZeroOne X6 Series V2: TDK IIM42652 IMU and Bosch BMP581 barometer support. (PX4-Autopilot#27475)
- ZeroOne X6: BMM350 compass compatibility. (PX4-Autopilot#26870)
- Pixhawk 6C: RM3100 fallback for the internal compass. (PX4-Autopilot#27299)
- ModalAI VOXL 2: the separate board variants were merged into a single build, and PX4 for VOXL 2 is now packaged as a Debian package (
voxl-px4_*_arm64.deb) that is built in CI and published with every PX4 release. (PX4-Autopilot#26727) - ModalAI VOXL 2: INA226 and INA228 power monitor support, selectable via the
POWER_MANAGERstartup option, and the Lightware laser rangefinder driver enabled. (PX4-Autopilot#26840, PX4-Autopilot#27620)
Notable Fixes
- STM32H7 bootloaders rebuilt with the uncorrectable-flash-ECC scrub, preventing a torn parameter-flash write from bricking the board on every subsequent boot. The
bl_updatecommand is now included so fielded boards can apply the new bootloader via SYS_BL_UPDATE without a debugger. (PX4-Autopilot#27715) - DShot 3D mode: deadzone inputs now send an explicit motor-stop command instead of spinning the motor at minimum throttle, and the deadband is inclusive on both ends. (PX4-Autopilot#26685)
- Multi-bank Invensense IMUs (IIM-426xx/ICM-42xxx families) no longer get stuck failing to probe until a power cycle when a soft reset leaves a non-zero register bank selected. (PX4-Autopilot#27117)
- SPL06 barometer: fixed an SPI read off-by-one that dropped data bytes. (PX4-Autopilot#27074)
- PAW3902/PAA3905 optical flow sensors now report the actual accumulated integration timespan instead of a hardcoded per-mode interval, fixing flow scaling whenever reads span more than one frame period. (PX4-Autopilot#27418)
- VL53L0X rangefinder: invalid 8.19 m readings are filtered out and measurements now carry a quality field; VL53L1X maps its range status to the quality field. (PX4-Autopilot#27214, PX4-Autopilot#27355, PX4-Autopilot#27308)
- PCA9685 PWM output board now uses the correct internal oscillator frequency, so configured servo PWM rates match the actual output. (PX4-Autopilot#27425)
- MAVLink OpenDroneID Basic ID messages are now forwarded to DroneCAN Remote ID peripherals. (PX4-Autopilot#27274)
Загальні
Remote ID (Open Drone ID) in-flight failsafe: extended COM_ARM_ODID to also trigger a configurable failsafe action (Return, Land, or Terminate) if the Remote ID heartbeat is lost while airborne. Users previously on
COM_ARM_ODID=2retain the same arming behaviour; set to3or higher to enable the in-flight action. (PX4-Autopilot#27029)QGroundControl Bootloader Update via the SYS_BL_UPDATE parameter has been re-enabled after being broken for a number of releases. (PX4-Autopilot#25032: build: romf: fix generation of rc.board_bootloader_upgrade).
Feature: Allow prioritization of manual control inputs based on their instance number in ascending or descending order. (PX4-Autopilot#25602: Ascending and descending manual control input priorities).
Quick magnetometer calibration now supports specifying an arbitrary initial heading (PX4-Autopilot#24637)
Removed parameters:
Назва Примітки COM_FLT_PROFILEUnused (PX4-Autopilot#26735) COM_KILL_DISARMAutopilot now always disarms if still killed after 5 seconds (previous default). (PX4-Autopilot#26736) COM_MOT_TEST_ENMotor tests now always possible (was the default). (PX4-Autopilot#26775) COM_TAKEOFF_ACTVehicle always switches to Hold mode when the takeoff is done. If you want to automatically do a mission, take off in Mission mode. (PX4-Autopilot#26808) COM_HLDL_REG_TWhen a high latency link is regained it's always considered regained immediately (was the default). (PX4-Autopilot#26809) COM_ARM_SDCARDThere's now always a warning when the autopilot SD card is missing (was the default). Boards that don't have an SD card need to skip the check with a compile time define. (PX4-Autopilot#27259) COM_IMB_PROP_ACTThere's now always a warning when imbalanced propellers (high vibration) is detected (was the default). (PX4-Autopilot#27260) COM_OBC_LOSS_TTimeout for missing heartbeats from the onboard computer is always 5 seconds (was the default). (PX4-Autopilot#27261) COM_LKDOWN_TKOTakeoff failure detection always runs for 3 seconds (was the default). (PX4-Autopilot#27262) Serial Passthrough (MAVLink SERIAL_CONTROL): new
serialpassthroughdriver enables MAVLink clients to read from and write to FC serial ports (TEL1/2, GPS1/2, TEL3/4). On STM32F7/H7 boards, ESC signal pins can also be written via a software bit-bang UART (device IDs 20–27): note that a bridge application is also required, so this functionality is not usable out of the box. (PX4-Autopilot#27605: feat(drivers): implemented serial passthrough).UAVCAN: firmware can now be flashed onto connected CAN nodes directly from the SD card. Place node firmware
.binfiles at the card root or in/fs/microsd/ufw_staging/; on boot the UAVCAN server migrates them into/fs/microsd/ufw/, tracks them in anFW.dbdatabase, and flashes any connected node whose firmware version does not match. (PX4-Autopilot#27043)
Управління
- Added new flight mode(s): Altitude Cruise (MC), Altitude Cruise (FW). For fixed-wing the mode behaves the same as Altitude mode but you can disable the manual control loss failsafe. (PX4-Autopilot#25435: Add new flight mode: Altitude Cruise).
- Multicopter attitude control gains an optional feed-forward reference model: a 2nd-order critically-damped model smooths the attitude setpoint and feeds its angular-rate derivative onto the rate setpoint, removing the steady-state ramp-tracking lag of the pure-P attitude law. Configured via MC_REF_W_N, MC_REF_FF (default
0= disabled), and MC_REF_FF_MAX. Shipped disabled by default;MC_REF_FF=0is the exact legacy behavior. (PX4-Autopilot#27255) - New COM_FLTMODE_BOOT sets the flight mode the vehicle boots into before any RC input or mode command is received. Default is Hold; Manual, Altitude, Position, Mission, Stabilized, Takeoff, and external modes can also be selected. (PX4-Autopilot#27641)
- Stick inputs are now ignored while an arm or kill gesture is being held: during an arm gesture the throttle and yaw sticks are neutralized, and during a kill gesture all four channels are neutralized, so holding the sticks in the gesture corners no longer feeds spurious commands into the controller.
- New MPC_Z_ERR_MAX (default
1.0m) caps how far the smoothed vertical trajectory may lead the vehicle, the vertical analog ofMPC_XY_ERR_MAX. This suppresses altitude overshoots caused by a noisy altitude reference, such as a mission setpoint jittering as the home altitude estimate is refined in flight. (PX4-Autopilot#27607)
Безпека
- Rotary-wing vehicles now support uncommanded altitude loss detection: if the vehicle descends more than FD_ALT_LOSS meters below its setpoint in altitude-controlled flight, flight termination (and parachute deployment) is triggered. See Altitude Loss Trigger. (PX4-Autopilot#26837)
- Parachute health failsafe: extended COM_PARACHUTE from a boolean into a configurable in-flight failsafe action (Return or Land) parameter. The previously enabled value
COM_PARACHUTE=1causes a warning like before. (PX4-Autopilot#26918) - GNSS check failsafe: new failsafe that monitors the number of usable GNSS receivers with a 3D fix and their position consistency. The required number of receivers is set via SYS_HAS_NUM_GNSS and the failsafe action via COM_GNSSLOSS_ACT. (PX4-Autopilot#26863)
- New companion computer over-temperature warning: COM_CC_TEMP_WARN (default
80C, set-1to disable) raises a warning when the reported companion computer temperature exceeds the threshold. (PX4-Autopilot#27637) - New ESC over-temperature warning: COM_ESC_OT_WARN (default
90C, set-1to disable) raises a warning when a reported ESC temperature exceeds the threshold. (PX4-Autopilot#27626) - New actuator group preflight check verifies configured functional actuator groups (torque/thrust/tilt) before arming. (PX4-Autopilot#27283)
- Motor under/over-current failure detection offsets
MOTFAIL_LOW_OFFandMOTFAIL_HIGH_OFFare replaced by a single MOTFAIL_OFF parameter (default10A); the check now triggers on the absolute current deviation. (PX4-Autopilot#26990) - Rejected missions now report the reason to the GCS (e.g. empty mission, dataman read failure) instead of failing silently. (PX4-Autopilot#27254)
- Arming with RTL_TYPE set to
5(safe points only) no longer requires a rally point to be uploaded: the vehicle falls back to returning to the home position when no rally point is defined. (PX4-Autopilot#27773) - GCS connection-loss failsafe no longer triggers flight termination while the vehicle is disarmed, preventing a termination state from latching before or at arming after a ground station link loss. (PX4-Autopilot#26820)
- New NAV_RCL_ACT option
7(Hold without failsafe): on manual control (RC) loss the vehicle holds position but does not enter a failsafe state, so an external mode or offboard controller can keep commanding it. (PX4-Autopilot#27792) - Control allocator now stops the motors when it receives a NaN thrust setpoint, instead of forwarding invalid values to the ESCs. (PX4-Autopilot#26494)
Оцінки
- Added EKF2_POS_LOCK to force constant position fusion while landed, useful for vehicles relying on dead-reckoning sensors (airspeed, optical flow) that provide no aiding on the ground.
- EKF2 fusion sources can now be toggled at runtime over MAVLink (
VEHICLE_CMD_ESTIMATOR_SENSOR_ENABLE), and the new EKF2_SENS_EN bitmask (replacingEKF2_EN_BOOT) selects which sensor fusion sources are enabled. A newESTIMATOR_SENSOR_FUSION_STATUSMAVLink stream reports the intended and active fusion source bitmasks to the GCS. (PX4-Autopilot#26739) - EKF2 now uses latitude-dependent normal gravity (Somigliana model) in the state and output predictor instead of a fixed 9.80665 m/s^2, removing a ~0.5% error that fed directly into the vertical-velocity prediction. Before a global latitude is known it stays at the constant value, preserving prior behavior. (PX4-Autopilot#27602)
- EKF2 now limits the maximum heading change rate from magnetometer fusion to prevent rapid convergence to a wrong heading when heading variance is high. (PX4-Autopilot#27551)
- EKF2 adds ranging beacon (range-only) fusion support, with a MAVLink
RANGING_BEACONparser and new parameters EKF2_RNGBC_CTRL, EKF2_RNGBC_DELAY, EKF2_RNGBC_GATE, and EKF2_RNGBC_NOISE. Beacon range is fused horizontally only (no altitude correction). (PX4-Autopilot#26772) - GPS antenna position offsets are now configured per receiver via SENS_GPS0_OFFX/
_OFFY/_OFFZ(and theSENS_GPS1_*set), matched to a physical receiver by device ID (SENS_GPS0_ID/SENS_GPS1_ID), replacing the singleEKF2_GPS_POS_X/Y/Zset. (PX4-Autopilot#26634) - GPS measurement delay is now configured per receiver via SENS_GPS0_DELAY and SENS_GPS1_DELAY, replacing
EKF2_GPS_DELAY(automatically migrated). The delay is applied before receiver blending; PPS time correction, when active, takes priority. (PX4-Autopilot#26660) - PPS time synchronization can now select which GPS receiver to correlate against by device ID via the new PPS_CAP_GPS_ID parameter (reboot required), avoiding dependence on uORB instance ordering in multi-GPS setups. See PPS Time Synchronization. (PX4-Autopilot#26719)
- DroneCAN GNSS receivers can now provide UTC-coherent timestamps: a new leaky-min clock-offset estimator maps a node's PPS-anchored
Fix2.timestampinto the flight controller's HRT and subtracts the node's processing delay. Nodes that do not provide a valid UTC timestamp fall back to theSENS_GPS*_DELAYpath. (PX4-Autopilot#27427) - EKF2 can now use GNSS height as the height reference when GNSS is in dead-reckoning mode, provided it can start without requiring a reset. (PX4-Autopilot#27766)
- EKF2 now counts NED-frame external vision velocity fusion as a horizontal (NE) aiding source (and only counts vision position when it is in the NED frame), so vehicles aided only by vision velocity are no longer treated as dead-reckoning. (PX4-Autopilot#27538)
RC
- Parse ELRS Status and Link Statistics TX messages in the CRSF parser.
- Manual control (RC) override reworked: the pilot now regains control based on how fast a stick is moved rather than by how far it is deflected, so a statically-held or trimmed-off stick can no longer trigger an unwanted takeover. New MAN_OVERRIDE_SPD (normalized stick travel per second, default
1, negative to disable) replaces the removedCOM_RC_OVERRIDEbitmask andCOM_RC_STICK_OVthreshold; override now applies uniformly across auto and offboard modes. ExistingCOM_RC_OVERRIDE=0settings are migrated toMAN_OVERRIDE_SPD=-1on import. Only affects multicopters and VTOLs in MC mode. (PX4-Autopilot#27041) - CRSF receivers can now be put into bind mode from QGroundControl or the NSH console via
MAV_CMD_START_RX_PAIR; the driver sends the CRSF bind frame over UART and rejects binding while armed or on singlewire setups. (PX4-Autopilot#26790)
Vehicle-Specific
Мульти-Ротор
Removed parameters:
Назва Примітки MPC_LAND_RC_HELPReplaced by Bit 1 of MPC_AUTO_NUDGING. (PX4-Autopilot#27691) Yaw stick nudging in auto modes (MPC_AUTO_NUDGING). Bit 0 lets the yaw stick rotate vehicle heading during any auto mode (mission, RTL, hold, landing, takeoff) without switching modes. The heading is held when the stick is released and cleared on a flight mode switch. Requires stick override to be disabled (MAN_OVERRIDE_SPD = -1). (PX4-Autopilot#27691)
VTOL
- Return mode VTOL Rally Point Approach Loiters: VTOLs returning in fixed-wing mode can now use the approach loiter associated with the selected home/rally landing location (instead of home) to choose the most wind-aligned valid approach (if several are defined). (PX4-Autopilot#27004: fix(navigator): rtl compute wind angle to select best land approach based on rally point location instead of home location)
Fixed-wing
- New Guided Course mode: maintains a constant ground-track bearing, altitude, and airspeed with no manual stick input. Activated over MAVLink and accepts in-flight updates via
MAV_CMD_GUIDED_CHANGE_HEADING(course),MAV_CMD_DO_CHANGE_ALTITUDE(altitude), andMAV_CMD_DO_CHANGE_SPEED(airspeed). (PX4-Autopilot#27156) - Rate feed-forward parameters FW_RR_FF, FW_PR_FF, and FW_YR_FF now accept negative values (min lowered from
0to-10). Negative values reduce setpoint-tracking aggressiveness while preserving disturbance rejection and are scaled quadratically with airspeed, whereas positive values compensate aerodynamic damping and scale linearly. (PX4-Autopilot#27736) - New FW_WP_RST_DIST parameter (default
-1, disabled): if a horizontal position reset larger than this distance occurs while flying between two mission waypoints, the vehicle flies directly to the current waypoint instead of rejoining the original line. (PX4-Autopilot#27722) - Internal combustion engine control gains a feed-forward PI idle-RPM governor, enabled by setting ICE_IDLE_RPM above
0(disabled by default). New gains ICE_IDLE_RPM_P, ICE_IDLE_RPM_I, and feed-forward throttle ICE_IDLE_THR_FF tune the idle hold. (PX4-Autopilot#27650) - The performance model now warns when FW_R_LIM is infeasible because the roll-compensated airspeed range is empty, prompting the user to raise the maximum airspeed. See Weight and Altitude Tuning. (PX4-Autopilot#27547)
- TECS default for the height-rate feed-forward FW_T_HRATE_FF increased from
0.3to0.5. (PX4-Autopilot#27218) - Catapult/hand launch detection now uses total acceleration magnitude instead of only the body-forward component, making detection insensitive to launcher mounting orientation. (PX4-Autopilot#26857)
Rover
- Added a rover build target for the ARK Pi6X (
make ark_pi6x_rover), enabling the Ackermann, differential, and mecanum rover modules and the RoboClaw motor driver. (PX4-Autopilot#26296)
Дирижабль
- Added a Generic Airship airframe with two forward thrusters and a cruciform tail (elevators and rudders), alongside the existing Cloudship geometry. (PX4-Autopilot#27697)
MAVLink
- Removed support for deprecated request commands
MAV_CMD_REQUEST_AUTOPILOT_CAPABILITIES,MAV_CMD_REQUEST_PROTOCOL_VERSION,MAV_CMD_GET_HOME_POSITION,MAV_CMD_REQUEST_FLIGHT_INFORMATION,MAV_CMD_REQUEST_STORAGE_INFORMATION(Replaced byMAV_CMD_REQUEST_MESSAGE). (PX4-Autopilot#27251: fix(mavlink): Remove deprecated MAV_CMD_REQUEST_AUTOPILOT_CAPABILITIES, PX4-Autopilot#27252: fix(mavlink): Remove legacy mavlink message requestors#27252) - MAVLink signing is now spec-compliant: signing activates only when a valid key is present on the SD card,
SETUP_SIGNINGis accepted on any link (not just USB) but rejected while armed, and signing can be disabled with a signed all-zero key. The non-standardMAV_SIGN_CFGparameter was removed and there is zero CPU/bandwidth overhead when signing is inactive. (PX4-Autopilot#26894) - MAVLink FTP now maps the
@MAV_LOGvirtual directory (per the MAVLink FTP spec) to the flight-stack log root, so a GCS can browse logs without knowing the on-disk path. (PX4-Autopilot#27151) - MAVLink FTP adds support for the
ListDirectoryWithTimecommand, returning each file's last-modification time alongside the listing so a GCS can retrieve log timestamps without downloading the files (clients fall back to plainListDirectorywhen unsupported). (PX4-Autopilot#27542) - Fragmented
GPS_RTCM_DATAmessages are now reassembled before injection to the GPS receiver, with a compatibility fallback for older QGroundControl builds that omit the final zero-length fragment, fixing RTK correction handling for multi-fragment RTCM streams. See RTK GPS. (PX4-Autopilot#27084) - New
ESTIMATOR_SENSOR_FUSION_STATUSMAVLink stream exposes per-sensor intended and active fusion bitmasks to the GCS. (PX4-Autopilot#26739) - The mission protocol now resends
MISSION_COUNTif noMISSION_ACKis received, recovering from a droppedMISSION_COUNTduring upload. (PX4-Autopilot#26872) - The MAVLink development dialect (
development.xml) is no longer built into default targets; dedicatedmavlink-devbuild variants (fmu-v6x, sitl) are provided for prototyping unstable messages. (PX4-Autopilot#25834) - Added support for the
MAV_CMD_DO_SET_GLOBAL_ORIGINcommand, letting a GCS set the global origin used to convert local to global position. Enabled in release builds. (PX4-Autopilot#24697, PX4-Autopilot#27789) - The
cellular_statusuORB message and MAVLinkCELLULAR_STATUSstream gained extended fields for richer modem/link reporting. (PX4-Autopilot#27760)
Ethernet & Networking
- MAVLink over UDP on NuttX now sets a send timeout on the socket, so a saturated or stalled network link can no longer block the MAVLink sender indefinitely while waiting for IO buffers. (PX4-Autopilot#26988)
- The uXRCE-DDS client no longer stalls under high UDP load. (PX4-Autopilot#26161)
ROS 2
- External modes can now negotiate their setpoint type with PX4: a mode publishes a
SetpointConfigdeclaring which setpoint it will send (direct actuators, goto, trajectory, rates, attitude, rover, 6-DOF trajectory, thrust/torque, position triplet, etc.) and PX4 replies with aSetpointConfigReplyindicating whether the configuration is valid for the current vehicle, along with a configurable setpoint timeout. (PX4-Autopilot#27683)
uXRCE-DDS
- uXRCE-DDS, add support for DDS
v3, ROS 2 Lyrical and Rolling (PX4-Autopilot#27597) - uXRCE-DDS topic bridging gained per-topic drain and unlimited-rate options, letting a topic be published as fast as it updates instead of at a fixed interval. (PX4-Autopilot#27688)
Zenoh
- Zenoh publisher options (reliability, priority, congestion control, express) are now configurable, both as common defaults and per-publisher overrides gated by the
ZENOH_PUB_OPTION_OVERRIDEbuild option. (PX4-Autopilot#27157) - Added a Zenoh build variant (
zenoh.px4board) for the ARKV6X flight controller. (PX4-Autopilot#25887)
Симуляція
SITL
- X-Plane SITL: new SITL integration with airframes for the Cessna 172, Bayraktar TB2, EHang 184, Alia-250, and a quad tailsitter. (PX4-Autopilot#22493)
- RotorPy SITL: added support for the RotorPy multirotor simulator, launchable via the standard simulator start scripts. (PX4-Autopilot#27116)
- MAVLink can now be bound to a specific network interface by setting the
PX4_NET_INTERFACEenvironment variable. (PX4-Autopilot#26385) - The simulated GPS (
sensor_gps_sim) now supports failure injection viaMAV_CMD_INJECT_FAILURE(FAILURE_UNIT_SENSOR_GPS) with off, stuck, and wrong modes, selectable per receiver. (PX4-Autopilot#27396) - The simulated airspeed sensor (
sensor_airspeed_sim) now supports off, stuck, and wrong failure injection viaMAV_CMD_INJECT_FAILURE. (PX4-Autopilot#27006)
Gazebo
- Add ridge world for testing terrain following with 1D lidar. (PX4-Autopilot#27600)
- The gstreamer plugin now supports streaming video from multiple cameras/vehicles simultaneously over UDP (base port plus instance offset); RTMP remains single-stream. (PX4-Autopilot#27275)
SIH
- Add option to set wind velocity (PX4-Autopilot#26467)
- Added a quadratic thrust model and a hexacopter (
sihsim_hex) airframe for more realistic multirotor simulation. (PX4-Autopilot#26587) - Added a propeller aerodynamic model with advance ratio, plus new HIL airframes including a hexacopter (
1105_rc_hexa_x_sih). (PX4-Autopilot#26720) - Added ranging-beacon simulation with configurable measurement noise via SIH_RNGBC_NOISE (default
30m). (PX4-Autopilot#26772) - The simulator now publishes ESC telemetry (per-motor RPM and temperature) for testing ESC status handling in SITL. (PX4-Autopilot#27626)
- Added a dedicated SIH SITL build target (
px4_sitl_sih) that disables the Gazebo bridge/plugins, and taughtsitl_multiple_run.shto accept model and build-target arguments for multi-instance SIH runs. (PX4-Autopilot#26672)
HIL
- Sensor calibration is now disabled while running in hardware-in-the-loop, preventing accidental calibration of simulated sensors. (PX4-Autopilot#26942)
Debug & Logging
Логування
- Logger: reworked log rotation and cleanup. Log rotation is now on by default, and cleanup runs at log start rather than boot so logs can be downloaded via FTP before being deleted.
- New SDLOG_MAX_SIZE (default
1024MB) caps the size of a single log file; once reached, the logger closes the current file and starts a new one. - New SDLOG_ROTATE (default
90) sets the maximum disk usage percentage. Cleanup guarantees(100 - SDLOG_ROTATE)%of the disk stays free at all times, even while writing a new log file. Set0to disable space-based cleanup,100to allow filling the disk completely. SDLOG_DIRS_MAXis now an orthogonal cap on the number of log directories (default0= disabled), on top of the space-based cleanup driven bySDLOG_ROTATEandSDLOG_MAX_SIZE. SITL defaults to7.
- New SDLOG_MAX_SIZE (default
- Logger: support for small flash storage (e.g. 128 MB W25N NAND on kakuteh7mini, kakuteh7v2, airbrainh743). Logs can now be written directly to an internal littlefs volume instead of requiring an SD card.
- Logger: topics listed in
etc/logging/logger_topics.txton the SD card are now appended on top of the selected logging profile instead of replacing the entire topic set. Previous behavior (the file overriding all profile topics) is gone; add only the extra topics you want. (PX4-Autopilot#27462) - Logger: the high-rate sensors logging profile now records
sensor_baro,sensor_mag,sensor_gps,sensor_gnss_relative,distance_sensor,sensor_optical_flow,vehicle_air_data,vehicle_magnetometer,vehicle_thrust_setpoint, andestimator_aid_src_baro_hgtat 100 Hz. (PX4-Autopilot#26922) - Asset Tracking: Automatic tracking and logging of external device information including vendor name, firmware and hardware version, serial numbers. Currently supports DroneCAN devices. (PX4-Autopilot#25617)
Storage
- MTD/storage: added NOR flash support (with bulk erase) to the
mtdsubsystem and manifest, allowing NOR flash to be used as a storage backend (e.g. for parameters and littlefs volumes) on boards that provide it, such as FMU-v6s. - New
mklittlefssystemcmd for reformatting a littlefs volume from the NSH console, analogous tomkfatfsfor FAT filesystems.
Infrastructure
- SPDX 2.3 SBOM (software bill of materials) generation is now integrated into the firmware build via
cmake/sbom.cmake. SBOMs are produced automatically as part of the build and can be disabled by setting thePX4_SBOM_DISABLE=1environment variable. (PX4-Autopilot#26731) - New
px4benchhardware bench testing suite (Tools/bench_test/) qualifies a firmware build on a real NuttX board over USB: it flashes and verifies the firmware identity, then runs boot, communication, storage, parameter-persistence, and serial-loopback checks, plus an optional SIH auto mission flown on the FMU itself, writing machine-readable reports with full firmware traceability. Addsbenchtest build variants (e.g. FMU-v6XRT). (PX4-Autopilot#27823) - SITL can now be built with AddressSanitizer and ThreadSanitizer to catch memory errors and data races; a series of data races found this way in MAVLink and the lockstep scheduler were fixed. (PX4-Autopilot#27606)
- Firmware upload now works from WSL2. When building inside WSL2, the uploader detects and uses the Windows Python interpreter (
python.exe) to reachCOM<N>serial ports that WSL2 cannot expose directly. (PX4-Autopilot#27674) - SITL Debian packages now declare their runtime dependencies (including Gazebo Harmonic) via
.debDepends, soaptresolves everything needed to run the simulator. (PX4-Autopilot#27162, PX4-Autopilot#27178) - macOS development setup reworked: the toolchain installs via inline Homebrew dependencies in
Tools/setup/macos.sh(thepx4-devmeta-formula is deprecated), Python dependencies can install into a virtual environment, and Gazebo SITL works out of the box with Homebrew 4.5+. (PX4-Autopilot#27127, PX4-Autopilot#27148, PX4-Autopilot#26702) - PX4-OpticalFlow is now a git submodule instead of a build-time download, making SITL builds reproducible and offline-friendly. (PX4-Autopilot#27184)
- New
make format_changedtarget formats only files that differ fromHEAD(via astyle), which is much faster thanmake formatscanning the whole tree. (PX4-Autopilot#27122) - Added DroneCAN sensor latency calibration scripts under
Tools/dronecan_calibration/(range_sensor_latency.py,flow_sensor_latency.py) that cross-correlate CAN sensor signals against the FC's directly-connected IMU in flight logs to estimate CAN transport/pipeline delay.