Betaflight 4.5 → 2025.12: CLI changes
Betaflight 2025.12.5 against 4.5.5: 136 new settings, 28 removed,
1 renamed and 20 with a new range, value list or default.
A diff all from 4.5 pasted into 2025.12 fails on every removed or renamed name below.
Renamed
| 4.5 | 2025.12 | Note |
|---|---|---|
dshot_idle_value | motor_idle |
DShot users set motor_idle to their old dshot_idle_value; minthrottle was removed in the same change. source |
A rename is listed only where the firmware's own change says the old and new name are the same setting. Every other name that disappeared is under “Removed”, even if a new one looks like its successor.
Gyro and D-term filters
Changed
| Setting | 4.5 → 2025.12 |
|---|---|
dyn_notch_count | max 5 → 7 |
PID tuning
New in 2025.12
| Setting | Type | Range or values | Default |
|---|---|---|---|
chirp_amplitude_pitch |
uint16 PID profile |
0 to 500 | depends on the build |
chirp_amplitude_roll |
uint16 PID profile |
0 to 500 | depends on the build |
chirp_amplitude_yaw |
uint16 PID profile |
0 to 500 | depends on the build |
chirp_frequency_end_deci_hz |
uint16 PID profile |
1 to 10000 | depends on the build |
chirp_frequency_start_deci_hz |
uint16 PID profile |
1 to 1000 | depends on the build |
chirp_lag_freq_hz |
uint8 PID profile |
0 to 255 | depends on the build |
chirp_lead_freq_hz |
uint8 PID profile |
0 to 255 | depends on the build |
chirp_time_seconds |
uint8 PID profile |
1 to 255 | depends on the build |
d_max_pitch |
uint8 PID profile |
0 to 250 | 46 |
d_max_roll |
uint8 PID profile |
0 to 250 | 40 |
d_max_yaw |
uint8 PID profile |
0 to 250 | 0 |
feedforward_yaw_hold_gain |
uint8 PID profile |
0 to 100 | 15 |
feedforward_yaw_hold_time |
uint8 PID profile |
10 to 250 | 100 |
s_pitch |
uint8 PID profile |
0 to 250 | depends on the build |
s_roll |
uint8 PID profile |
0 to 250 | depends on the build |
s_yaw |
uint8 PID profile |
0 to 250 | depends on the build |
simplified_d_max_gain |
uint8 PID profile |
0 to 200 | 100 |
spa_pitch_center |
uint16 PID profile |
0 to 65535 | depends on the build |
spa_pitch_mode |
uint8 global |
OFF, I_FREEZE, I, PID, PD_I_FREEZE | depends on the build |
spa_pitch_width |
uint16 PID profile |
0 to 65535 | depends on the build |
spa_roll_center |
uint16 PID profile |
0 to 65535 | depends on the build |
spa_roll_mode |
uint8 global |
OFF, I_FREEZE, I, PID, PD_I_FREEZE | depends on the build |
spa_roll_width |
uint16 PID profile |
0 to 65535 | depends on the build |
spa_yaw_center |
uint16 PID profile |
0 to 65535 | depends on the build |
spa_yaw_mode |
uint8 global |
OFF, I_FREEZE, I, PID, PD_I_FREEZE | depends on the build |
spa_yaw_width |
uint16 PID profile |
0 to 65535 | depends on the build |
tpa_curve_expo |
int8 PID profile |
-100 to 100 | depends on the build |
tpa_curve_pid_thr0 |
uint16 PID profile |
0 to 1000 | depends on the build |
tpa_curve_pid_thr100 |
uint16 PID profile |
0 to 1000 | depends on the build |
tpa_curve_stall_throttle |
uint8 PID profile |
0 to 100 | depends on the build |
tpa_curve_type |
uint8 PID profile |
CLASSIC, HYPERBOLIC | depends on the build |
tpa_speed_adv_drag_k |
uint16 PID profile |
1 to 65535 | depends on the build |
tpa_speed_adv_mass |
uint16 PID profile |
1 to 65535 | depends on the build |
tpa_speed_adv_prop_pitch |
uint16 PID profile |
0 to 65535 | depends on the build |
tpa_speed_adv_thrust |
uint16 PID profile |
1 to 65535 | depends on the build |
tpa_speed_basic_delay |
uint16 PID profile |
1 to 65535 | depends on the build |
tpa_speed_basic_gravity |
uint16 PID profile |
1 to 65535 | depends on the build |
tpa_speed_max_voltage |
uint16 PID profile |
0 to 65535 | depends on the build |
tpa_speed_pitch_offset |
int16 PID profile |
-32768 to 32767 | depends on the build |
tpa_speed_type |
uint8 PID profile |
BASIC, ADVANCED | depends on the build |
yaw_type |
uint8 global |
RUDDER, DIFF_THRUST | depends on the build |
Removed in 2025.12
d_min_pitch, d_min_roll, d_min_yaw, iterm_limit, simplified_dmax_gain
Changed
| Setting | 4.5 → 2025.12 |
|---|---|
feedforward_averaging | default OFF → 2_POINT |
feedforward_smooth_factor | default 25 → 65 |
iterm_windup | min 30 → 20; default 85 → 80 |
tpa_low_rate | type uint8 → int8 |
Angle, horizon and launch modes
New in 2025.12
| Setting | Type | Range or values | Default |
|---|---|---|---|
angle_pitch_offset |
int16 PID profile |
-450 to 450 | depends on the build |
landing_disarm_threshold |
uint8 PID profile |
0 to 250 | 0 |
Changed
| Setting | 4.5 → 2025.12 |
|---|---|
angle_limit | max 85 → 80 |
launch_control_mode | default NORMAL → PITCHONLY |
Rates and throttle curve
New in 2025.12
| Setting | Type | Range or values | Default |
|---|---|---|---|
thr_hover |
uint8 rate profile |
0 to 100 | 50 |
Motors and ESC
New in 2025.12
| Setting | Type | Range or values | Default |
|---|---|---|---|
crashflip_auto_rearm |
int8 global |
OFF, ON | set by the target |
crashflip_rate |
uint8 global |
0 to 250 | set by the target |
Removed in 2025.12
crashflip_expo, dyn_idle_start_increase, min_throttle
Changed
| Setting | 4.5 → 2025.12 |
|---|---|
dshot_edt | new values FORCE |
Servos and gimbal
New in 2025.12
| Setting | Type | Range or values | Default |
|---|---|---|---|
gimbal_pitch_gain |
int8 global |
-100 to 100 | depends on the build |
gimbal_pitch_high_limit |
int8 global |
-100 to 100 | depends on the build |
gimbal_pitch_low_limit |
int8 global |
-100 to 100 | depends on the build |
gimbal_pitch_offset |
int8 global |
-100 to 100 | depends on the build |
gimbal_pitch_rc_high_gain |
int8 global |
-100 to 100 | depends on the build |
gimbal_pitch_rc_low_gain |
int8 global |
-100 to 100 | depends on the build |
gimbal_pitch_rc_thr_gain |
int8 global |
-100 to 100 | depends on the build |
gimbal_roll_gain |
int8 global |
-100 to 100 | depends on the build |
gimbal_roll_limit |
int8 global |
-100 to 100 | depends on the build |
gimbal_roll_offset |
int8 global |
-100 to 100 | depends on the build |
gimbal_roll_rc_gain |
int8 global |
-100 to 100 | depends on the build |
gimbal_sensitivity |
int8 global |
-16 to 15 | depends on the build |
gimbal_stabilisation |
int8 global |
0 to 7 | depends on the build |
gimbal_yaw_gain |
int8 global |
-100 to 100 | depends on the build |
gimbal_yaw_limit |
int8 global |
-100 to 100 | depends on the build |
gimbal_yaw_offset |
int8 global |
-100 to 100 | depends on the build |
gimbal_yaw_rc_gain |
int8 global |
-100 to 100 | depends on the build |
Receiver and RC link
Removed in 2025.12
expresslrs_rate_index, expresslrs_switch_mode, rc_smoothing_feedforward_cutoff
Changed
| Setting | 4.5 → 2025.12 |
|---|---|
serialrx_provider | new values MAVLINK |
Failsafe and arming
New in 2025.12
| Setting | Type | Range or values | Default |
|---|---|---|---|
failsafe_landing_time |
uint8 global |
0 to 250 | 60 |
prearm_allow_rearm |
uint8 global |
OFF, ON | OFF |
Removed in 2025.12
GPS
Changed
| Setting | 4.5 → 2025.12 |
|---|---|
gps_provider | new values VIRTUAL |
GPS rescue
Removed in 2025.12
gps_rescue_landing_alt, gps_rescue_throttle_d, gps_rescue_throttle_hover, gps_rescue_throttle_i, gps_rescue_throttle_max, gps_rescue_throttle_min, gps_rescue_throttle_p
Changed
| Setting | 4.5 → 2025.12 |
|---|---|
gps_rescue_disarm_threshold | default 20 → 30 |
gps_rescue_velocity_d | max 255 → 200 |
gps_rescue_velocity_i | max 255 → 200 |
gps_rescue_velocity_p | max 255 → 200 |
gps_rescue_yaw_p | max 255 → 200 |
Autopilot, position and altitude hold
New in 2025.12
| Setting | Type | Range or values | Default |
|---|---|---|---|
alt_hold_climb_rate |
uint8 global |
0 to 200 | 50 |
alt_hold_deadband |
uint8 global |
0 to 70 | 20 |
ap_altitude_d |
uint8 global |
0 to 200 | 15 |
ap_altitude_f |
uint8 global |
0 to 200 | 15 |
ap_altitude_i |
uint8 global |
0 to 200 | 15 |
ap_altitude_p |
uint8 global |
0 to 200 | 15 |
ap_hover_throttle |
uint16 global |
1100 to 1700 | 1275 |
ap_landing_altitude_m |
uint8 global |
0 to 200 | 4 |
ap_max_angle |
uint8 global |
10 to 70 | 50 |
ap_position_a |
uint8 global |
0 to 200 | 30 |
ap_position_cutoff |
uint8 global |
10 to 250 | 80 |
ap_position_d |
uint8 global |
0 to 200 | 30 |
ap_position_i |
uint8 global |
0 to 200 | 30 |
ap_position_p |
uint8 global |
0 to 200 | 30 |
ap_throttle_max |
uint16 global |
1400 to 2000 | 1700 |
ap_throttle_min |
uint16 global |
1050 to 1400 | 1100 |
pos_hold_deadband |
uint8 global |
0 to 50 | 5 |
pos_hold_without_mag |
uint8 global |
OFF, ON | OFF |
OSD
New in 2025.12
| Setting | Type | Range or values | Default |
|---|---|---|---|
osd_arming_logo |
uint8 global |
0 to 3 | 0 |
OSD element positions
New in 2025.12
| Setting | Type | Range or values | Default |
|---|---|---|---|
osd_debug2_pos |
uint16 global |
0 to 65535 | set by the target |
osd_lidar_dist_pos |
uint16 global |
0 to 65535 | set by the target |
Blackbox and debug
New in 2025.12
| Setting | Type | Range or values | Default |
|---|---|---|---|
blackbox_disable_attitude |
uint32 global |
OFF, ON | OFF |
blackbox_disable_servos |
uint32 global |
OFF, ON | OFF |
Changed
| Setting | 4.5 → 2025.12 |
|---|---|
blackbox_device | new values VIRTUAL |
debug_mode | new values MULTI_GYRO_RAW, MULTI_GYRO_DIFF, OPTICALFLOW, D_MAX, MULTI_GYRO_SCALED, AUTOPILOT_ALTITUDE, TPA, S_TERM, SPA, TASK, GIMBAL, WING_SETPOINT, AUTOPILOT_POSITION, CHIRP, FLASH_TEST_PRBS, MAVLINK_TELEMETRY; values dropped GYRO_SCALED, DUAL_GYRO_RAW, DUAL_GYRO_DIFF, D_MIN, DUAL_GYRO_SCALED, GPS_RESCUE_THROTTLE_PID |
Telemetry and serial
New in 2025.12
| Setting | Type | Range or values | Default |
|---|---|---|---|
mavlink_ext_status_rate |
uint8 global |
0 to 50 | 2 |
mavlink_extra1_rate |
uint8 global |
0 to 50 | 2 |
mavlink_extra2_rate |
uint8 global |
0 to 50 | 2 |
mavlink_extra3_rate |
uint8 global |
0 to 50 | 1 |
mavlink_min_txbuff |
uint8 global |
1 to 100 | 35 |
mavlink_pos_rate |
uint8 global |
0 to 50 | 2 |
mavlink_rc_chan_rate |
uint8 global |
0 to 50 | 1 |
Sensors and board alignment
New in 2025.12
| Setting | Type | Range or values | Default |
|---|---|---|---|
gyro_1_enabled |
uint8 global |
OFF, ON | depends on the build |
gyro_2_enabled |
uint8 global |
OFF, ON | depends on the build |
gyro_3_bustype |
uint8 global |
NONE, I2C, SPI, SLAVE | depends on the build |
gyro_3_enabled |
uint8 global |
OFF, ON | depends on the build |
gyro_3_i2cBus |
uint8 global |
0 to 0 / I2CDEV_COUNT | depends on the build |
gyro_3_i2c_address |
uint8 global |
0 to 119 | depends on the build |
gyro_3_spibus |
uint8 global |
0 to 0 / SPIDEV_COUNT | depends on the build |
gyro_4_bustype |
uint8 global |
NONE, I2C, SPI, SLAVE | depends on the build |
gyro_4_enabled |
uint8 global |
OFF, ON | depends on the build |
gyro_4_i2cBus |
uint8 global |
0 to 0 / I2CDEV_COUNT | depends on the build |
gyro_4_i2c_address |
uint8 global |
0 to 119 | depends on the build |
gyro_4_spibus |
uint8 global |
0 to 0 / SPIDEV_COUNT | depends on the build |
gyro_5_bustype |
uint8 global |
NONE, I2C, SPI, SLAVE | depends on the build |
gyro_5_enabled |
uint8 global |
OFF, ON | depends on the build |
gyro_5_i2cBus |
uint8 global |
0 to 0 / I2CDEV_COUNT | depends on the build |
gyro_5_i2c_address |
uint8 global |
0 to 119 | depends on the build |
gyro_5_spibus |
uint8 global |
0 to 0 / SPIDEV_COUNT | depends on the build |
gyro_6_bustype |
uint8 global |
NONE, I2C, SPI, SLAVE | depends on the build |
gyro_6_enabled |
uint8 global |
OFF, ON | depends on the build |
gyro_6_i2cBus |
uint8 global |
0 to 0 / I2CDEV_COUNT | depends on the build |
gyro_6_i2c_address |
uint8 global |
0 to 119 | depends on the build |
gyro_6_spibus |
uint8 global |
0 to 0 / SPIDEV_COUNT | depends on the build |
gyro_7_bustype |
uint8 global |
NONE, I2C, SPI, SLAVE | depends on the build |
gyro_7_enabled |
uint8 global |
OFF, ON | depends on the build |
gyro_7_i2cBus |
uint8 global |
0 to 0 / I2CDEV_COUNT | depends on the build |
gyro_7_i2c_address |
uint8 global |
0 to 119 | depends on the build |
gyro_7_spibus |
uint8 global |
0 to 0 / SPIDEV_COUNT | depends on the build |
gyro_8_bustype |
uint8 global |
NONE, I2C, SPI, SLAVE | depends on the build |
gyro_8_enabled |
uint8 global |
OFF, ON | depends on the build |
gyro_8_i2cBus |
uint8 global |
0 to 0 / I2CDEV_COUNT | depends on the build |
gyro_8_i2c_address |
uint8 global |
0 to 119 | depends on the build |
gyro_8_spibus |
uint8 global |
0 to 0 / SPIDEV_COUNT | depends on the build |
gyro_enabled_bitmask |
uint8 global |
0 to 0 / (1 << GYRO_COUNT) - 1 | depends on the build |
opticalflow_flip_x |
uint8 global |
OFF, ON | depends on the build |
opticalflow_hardware |
uint8 global |
NONE, MT | depends on the build |
opticalflow_lpf |
uint16 global |
0 to 10000 | depends on the build |
opticalflow_rotation |
int16 global |
0 to 359 | depends on the build |
Removed in 2025.12
gyro_1_align_pitch, gyro_1_align_roll, gyro_1_align_yaw, gyro_1_sensor_align, gyro_2_align_pitch, gyro_2_align_roll, gyro_2_align_yaw, gyro_2_sensor_align, gyro_to_use
Changed
| Setting | 4.5 → 2025.12 |
|---|---|
acc_hardware | new values IIM42653, ICM45605, ICM45686, ICM40609D, IIM42652; values dropped ADXL345, MMA8452, BMA280, LSM303DLHC |
mag_declination | type uint16 → int16; min 0 → -300; max 3599 → 300 |
rangefinder_hardware | new values MTF01, MTF02, MTF01P, MTF02P, TFNOVA |
System and hardware
New in 2025.12
| Setting | Type | Range or values | Default |
|---|---|---|---|
i2c0_clockspeed_khz |
uint16 global |
100 to 1300 | depends on the build |
i2c0_pullup |
uint8 global |
OFF, ON | depends on the build |
scheduler_debug_task |
uint16 global |
0 to 0 / TASK_COUNT | 0 |
stats_save_move_limit |
uint8 global |
0 to 255 | 20 |
Other releases: 4.4 → 4.5 · 2025.12 → 2026.6 · all Betaflight settings by section. Sources: 4.5.5 settings.c, 2025.12.5 settings.c.