Betaflight Sensors and board alignment: CLI settings

Accelerometer, magnetometer, barometer, rangefinder and optical flow, gyro device selection and calibration, board and sensor alignment, and the attitude estimator (IMU) gains.

35 settings in Betaflight 2026.6, plus 9 that earlier releases had. Each range and value list is read from the firmware's settings.c, each default from the CLI get of the release built for the simulator (no board config applied), so a board's own config can still change it. Set one with set name = value, then save. Paste a diff all into the CLI checker to test it against any release.

SettingTypeRange or valuesDefault 4.44.52025.122026.6Notes
acc_calibration # int16
global
4 comma-separated values, -32768 to 32767 0,0,0,0
needs USE_ACC
✓✓✓✓
acc_hardware # uint8
global
27 valuesAUTO, NONE, MPU6050, MPU6000, MPU6500, MPU9250, ICM20601, ICM20602, ICM20608G, ICM20649, ICM20689, ICM42605, ICM42688P, BMI160, BMI270, LSM6DSO, LSM6DSV16X, IIM42653, ICM45605, ICM45686, ICM40609D, IIM42652, LSM6DSK320X, ICM42622P, ICM42686P, ICM56686, VIRTUAL
AUTO
needs USE_ACC
✓ΔΔΔ 4.5: new values LSM6DSV16X, VIRTUAL; values dropped FAKE
2025.12: new values IIM42653, ICM45605, ICM45686, ICM40609D, IIM42652; values dropped ADXL345, MMA8452, BMA280, LSM303DLHC
2026.6: new values LSM6DSK320X, ICM42622P, ICM42686P, ICM56686
acc_lpf_hz # uint16
global
0 to 500 25
needs USE_ACC
✓✓✓✓
acc_trim_pitch # int16
global
-300 to 300 0
needs USE_ACC
✓✓✓✓
acc_trim_roll # int16
global
-300 to 300 0
needs USE_ACC
✓✓✓✓
align_board_pitch # int16
global
-180 to 360 0 ✓✓✓✓
align_board_roll # int16
global
-180 to 360 0 ✓✓✓✓
align_board_yaw # int16
global
-180 to 360 0 ✓✓✓✓
align_mag # uint8
global
10 valuesDEFAULT, CW0, CW90, CW180, CW270, CW0FLIP, CW90FLIP, CW180FLIP, CW270FLIP, CUSTOM
DEFAULT
needs USE_MAG
✓✓✓✓
baro_i2c_address # uint8
global
0 to 119 0
needs USE_BARO
✓✓✓✓
baro_i2c_device # uint8
global
0 to 5 0
needs USE_BARO
✓✓✓✓
gyro_1_align_pitch # int16
global
-3600 to 3600 set by the target ✓✓—— Removed in 2025.12.
gyro_1_align_roll # int16
global
-3600 to 3600 set by the target ✓✓—— Removed in 2025.12.
gyro_1_align_yaw # int16
global
-3600 to 3600 set by the target ✓✓—— Removed in 2025.12.
gyro_1_bustype # uint8
global
NONE, I2C, SPI, SLAVE set by the target ✓✓✓✓
gyro_1_i2c_address # uint8
global
0 to 119 set by the target ✓✓✓✓
gyro_1_sensor_align # uint8
global
10 valuesDEFAULT, CW0, CW90, CW180, CW270, CW0FLIP, CW90FLIP, CW180FLIP, CW270FLIP, CUSTOM
set by the target ✓✓—— Removed in 2025.12.
gyro_2_align_pitch # int16
global
-3600 to 3600 set by the target
needs USE_MULTI_GYRO
✓✓—— Removed in 2025.12.
gyro_2_align_roll # int16
global
-3600 to 3600 set by the target
needs USE_MULTI_GYRO
✓✓—— Removed in 2025.12.
gyro_2_align_yaw # int16
global
-3600 to 3600 set by the target
needs USE_MULTI_GYRO
✓✓—— Removed in 2025.12.
gyro_2_sensor_align # uint8
global
10 valuesDEFAULT, CW0, CW90, CW180, CW270, CW0FLIP, CW90FLIP, CW180FLIP, CW270FLIP, CUSTOM
set by the target
needs USE_MULTI_GYRO
✓✓—— Removed in 2025.12.
gyro_calib_duration # uint16
global
50 to 3000 125 ✓✓✓✓
gyro_calib_noise_limit # uint8
global
0 to 200 48 ✓✓✓✓
gyro_offset_yaw # int16
global
-1000 to 1000 0 ✓✓✓✓
gyro_overflow_detect # uint8
global
OFF, YAW, ALL ALL
needs USE_GYRO_OVERFLOW_CHECK
✓✓✓✓
gyro_to_use # uint8
global
FIRST, SECOND, BOTH FIRST
needs USE_MULTI_GYRO
✓✓—— Removed in 2025.12.
imu_dcm_ki # uint16
global
0 to 32000 0 ✓✓✓✓
imu_dcm_kp # uint16
global
0 to 32000 2500 ✓✓✓✓
imu_process_denom # uint8
global
1 to 4 2 ✓✓✓✓
mag_align_pitch # int16
global
-3600 to 3600 0
needs USE_MAG
✓✓✓✓
mag_align_roll # int16
global
-3600 to 3600 0
needs USE_MAG
✓✓✓✓
mag_align_yaw # int16
global
-3600 to 3600 0
needs USE_MAG
✓✓✓✓
mag_bustype # uint8
global
NONE, I2C, SPI, SLAVE set by the target
needs USE_MAG
✓✓✓✓
mag_calibration # int16
global
3 comma-separated values, -32768 to 32767 0,0,0
needs USE_MAG
✓✓✓✓
mag_declination # int16
global
-300 to 300 0
needs USE_MAG
—✓Δ✓ 2025.12: type uint16 → int16; min 0 → -300; max 3599 → 300
mag_hardware # uint8
global
12 valuesAUTO, NONE, HMC5883, AK8975, AK8963, QMC5883L, LIS2MDL, LIS3MDL, MPU925X_AK8963, IST8310, MMC560X, QMC5883P
set by the target
needs USE_MAG
✓Δ✓Δ 4.5: new values LIS2MDL, MPU925X_AK8963, IST8310; values dropped MAG_MPU925X_AK8963
2026.6: new values QMC5883L, MMC560X, QMC5883P; values dropped QMC5883
mag_i2c_address # uint8
global
0 to 119 set by the target
needs USE_MAG
✓✓✓✓
opticalflow_flip_x # uint8
global
OFF, ON OFF
needs USE_OPTICALFLOW
——✓✓
opticalflow_hardware # uint8
global
NONE, MT, UPT1 NONE
needs USE_OPTICALFLOW
——✓Δ 2026.6: new values UPT1
opticalflow_lpf # uint16
global
0 to 10000 100
needs USE_OPTICALFLOW
——✓✓
opticalflow_rotation # int16
global
0 to 359 0
needs USE_OPTICALFLOW
——✓✓
rangefinder_hardware # uint8
global
16 valuesNONE, HCSR04, TFMINI, TF02, MTF01, MTF02, MTF01P, MTF02P, TFNOVA, NOOPLOOP_F2, NOOPLOOP_F2P, NOOPLOOP_F2PH, NOOPLOOP_F, NOOPLOOP_FP, NOOPLOOP_F2MINI, UPT1
NONE
needs USE_RANGEFINDER
✓✓ΔΔ 2025.12: new values MTF01, MTF02, MTF01P, MTF02P, TFNOVA
2026.6: new values NOOPLOOP_F2, NOOPLOOP_F2P, NOOPLOOP_F2PH, NOOPLOOP_F, NOOPLOOP_FP, NOOPLOOP_F2MINI, UPT1
small_angle # uint8
global
0 to 180 set by the target ✓✓✓✓
trust_mag # uint8
global
OFF, ON OFF
needs USE_MAG
———✓

✓ present, Δ changed in that release (hover for what changed), — not in that release. “needs USE_…” is the build option the setting is compiled with: a cloud build without it has no such setting.

Also in this section

These settings exist in 2026.6, but their default depends on build options the simulator build does not compile (DShot, RPM filter, board drivers), so it is not printed here rather than guessed: acc_high_range, baro_bustype, baro_hardware, baro_spi_device, gyro_1_enabled, gyro_1_i2cBus, gyro_1_spibus, gyro_2_bustype, gyro_2_enabled, gyro_2_i2cBus, gyro_2_i2c_address, gyro_2_spibus, gyro_3_bustype, gyro_3_enabled, gyro_3_i2cBus, gyro_3_i2c_address, gyro_3_spibus, gyro_4_bustype, gyro_4_enabled, gyro_4_i2cBus, gyro_4_i2c_address, gyro_4_spibus, gyro_5_bustype, gyro_5_enabled, gyro_5_i2cBus, gyro_5_i2c_address, gyro_5_spibus, gyro_6_bustype, gyro_6_enabled, gyro_6_i2cBus, gyro_6_i2c_address, gyro_6_spibus, gyro_7_bustype, gyro_7_enabled, gyro_7_i2cBus, gyro_7_i2c_address, gyro_7_spibus, gyro_8_bustype, gyro_8_enabled, gyro_8_i2cBus, gyro_8_i2c_address, gyro_8_spibus, gyro_enabled_bitmask, gyro_high_range, mag_i2c_device, mag_spi_device.

Other sections

What changed between releases: 4.4 → 4.5 · 4.5 → 2025.12 · 2025.12 → 2026.6. Machine-readable: params.json (2026.6.2), GPL-3.0 like the firmware it comes from.