Betaflight PID tuning: CLI settings

P, I, D, D-max and feedforward gains per axis, the simplified tuning sliders, I-term relax, anti-gravity, TPA, throttle boost and crash recovery. Most of these live in a PID profile, so `profile N` selects which copy `set` changes.

73 settings in Betaflight 2026.6, plus 10 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
abs_control_cutoff # uint8
PID profile
1 to 45 11
needs USE_ABSOLUTE_CONTROL
✓✓✓— Removed in 2026.6.
abs_control_error_limit # uint8
PID profile
1 to 45 20
needs USE_ABSOLUTE_CONTROL
✓✓✓— Removed in 2026.6.
abs_control_gain # uint8
PID profile
0 to 20 0
needs USE_ABSOLUTE_CONTROL
✓✓✓— Removed in 2026.6.
abs_control_limit # uint8
PID profile
10 to 255 90
needs USE_ABSOLUTE_CONTROL
✓✓✓— Removed in 2026.6.
acc_limit # uint16
PID profile
0 to 500 0 ✓✓✓✓
acc_limit_yaw # uint16
PID profile
0 to 500 0 ✓✓✓✓
anti_gravity_cutoff_hz # uint8
PID profile
2 to 50 5 ✓✓✓✓
anti_gravity_gain # uint8
PID profile
0 to 250 80 ✓✓✓✓
anti_gravity_p_gain # uint8
PID profile
0 to 250 100 ✓✓✓✓
auto_profile_cell_count # int8
PID profile
-1 to 8 0 ✓✓✓✓
crash_delay # uint16
PID profile
0 to 500 0 ✓✓✓✓
crash_dthreshold # uint16
PID profile
10 to 2000 50 ✓✓✓✓
crash_gthreshold # uint16
PID profile
100 to 2000 400 ✓✓✓✓
crash_limit_yaw # uint16
PID profile
0 to 1000 200 ✓✓✓✓
crash_recovery # uint8
PID profile
OFF, ON, BEEP, DISARM OFF ✓✓✓✓
crash_recovery_angle # uint8
PID profile
5 to 30 10 ✓✓✓✓
crash_recovery_rate # uint8
PID profile
50 to 255 100 ✓✓✓✓
crash_setpoint_threshold # uint16
PID profile
50 to 2000 350 ✓✓✓✓
crash_time # uint16
PID profile
100 to 5000 500 ✓✓✓✓
d_max_advance # uint8
PID profile
0 to 200 35
needs USE_D_MAX
✓✓✓Δ 2026.6: default 20 → 35
d_max_gain # uint8
PID profile
0 to 100 0
needs USE_D_MAX
✓✓✓Δ 2026.6: default 37 → 0
d_max_pitch # uint8
PID profile
0 to 250 46
needs USE_D_MAX
——✓✓
d_max_roll # uint8
PID profile
0 to 250 40
needs USE_D_MAX
——✓✓
d_max_yaw # uint8
PID profile
0 to 250 0
needs USE_D_MAX
——✓✓
d_min_pitch # uint8
PID profile
0 to 250 34
needs USE_D_MIN
✓✓—— Removed in 2025.12.
d_min_roll # uint8
PID profile
0 to 250 30
needs USE_D_MIN
✓✓—— Removed in 2025.12.
d_min_yaw # uint8
PID profile
0 to 250 0
needs USE_D_MIN
✓✓—— Removed in 2025.12.
d_pitch # uint8
PID profile
0 to 250 34 ✓✓✓✓
d_roll # uint8
PID profile
0 to 250 30 ✓✓✓✓
d_yaw # uint8
PID profile
0 to 250 0 ✓✓✓✓
f_pitch # uint16
PID profile
0 to 1000 125 ✓✓✓✓
f_roll # uint16
PID profile
0 to 1000 120 ✓✓✓✓
f_yaw # uint16
PID profile
0 to 1000 120 ✓✓✓✓
feedforward_averaging # uint8
PID profile
OFF, 2_POINT, 3_POINT, 4_POINT 2_POINT
needs USE_FEEDFORWARD
✓✓Δ✓ 2025.12: default OFF → 2_POINT
feedforward_boost # uint8
PID profile
0 to 50 15
needs USE_FEEDFORWARD
✓✓✓✓
feedforward_jitter_factor # uint8
PID profile
0 to 20 7
needs USE_FEEDFORWARD
✓✓✓✓
feedforward_max_rate_limit # uint8
PID profile
0 to 200 90
needs USE_FEEDFORWARD
✓Δ✓✓ 4.5: max 150 → 200
feedforward_smooth_factor # uint8
PID profile
0 to 95 65
needs USE_FEEDFORWARD
✓✓Δ✓ 2025.12: default 25 → 65
feedforward_transition # uint8
PID profile
0 to 100 0
needs USE_FEEDFORWARD
✓✓✓✓
feedforward_yaw_hold_gain # uint8
PID profile
0 to 100 15
needs USE_FEEDFORWARD
——✓✓
feedforward_yaw_hold_time # uint8
PID profile
10 to 250 100
needs USE_FEEDFORWARD
——✓✓
i_pitch # uint8
PID profile
0 to 250 84 ✓✓✓✓
i_roll # uint8
PID profile
0 to 250 80 ✓✓✓✓
i_yaw # uint8
PID profile
0 to 250 80 ✓✓✓✓
integrated_yaw_relax # uint8
PID profile
0 to 255 200
needs USE_INTEGRATED_YAW_CONTROL
✓✓✓✓
iterm_limit # uint16
PID profile
0 to 500 400 ✓✓—— Removed in 2025.12.
iterm_relax # uint8
PID profile
OFF, RP, RPY, RP_INC, RPY_INC RP
needs USE_ITERM_RELAX
✓✓✓✓
iterm_relax_cutoff # uint8
PID profile
1 to 50 15
needs USE_ITERM_RELAX
✓✓✓✓
iterm_relax_type # uint8
PID profile
GYRO, SETPOINT SETPOINT
needs USE_ITERM_RELAX
✓✓✓✓
iterm_rotation # uint8
PID profile
OFF, ON OFF ✓✓✓✓
iterm_windup # uint8
PID profile
20 to 100 80 ✓✓Δ✓ 2025.12: min 30 → 20; default 85 → 80
p_pitch # uint8
PID profile
0 to 250 47 ✓✓✓✓
p_roll # uint8
PID profile
0 to 250 45 ✓✓✓✓
p_yaw # uint8
PID profile
0 to 250 45 ✓✓✓✓
pid_at_min_throttle # uint8
PID profile
OFF, ON ON ✓✓✓✓
pid_process_denom # uint8
global
1 to 16 set by the target ✓✓✓✓
pidsum_limit # uint16
PID profile
100 to 1000 500 ✓✓✓✓
pidsum_limit_yaw # uint16
PID profile
100 to 1000 400 ✓✓✓✓
profile_name # uint8
PID profile
text, 1 to 8 characters - (empty)
needs USE_PROFILE_NAMES
✓✓✓✓
simplified_d_gain # uint8
PID profile
0 to 200 100
needs USE_SIMPLIFIED_TUNING
✓✓✓✓
simplified_d_max_gain # uint8
PID profile
0 to 200 100
needs USE_SIMPLIFIED_TUNING
——✓✓
simplified_dmax_gain # uint8
PID profile
0 to 200 100
needs USE_SIMPLIFIED_TUNING
✓✓—— Removed in 2025.12.
simplified_feedforward_gain # uint8
PID profile
0 to 200 100
needs USE_SIMPLIFIED_TUNING
✓✓✓✓
simplified_i_gain # uint8
PID profile
0 to 200 100
needs USE_SIMPLIFIED_TUNING
✓✓✓✓
simplified_master_multiplier # uint8
PID profile
0 to 200 100
needs USE_SIMPLIFIED_TUNING
✓✓✓✓
simplified_pi_gain # uint8
PID profile
0 to 200 100
needs USE_SIMPLIFIED_TUNING
✓✓✓✓
simplified_pids_mode # uint8
PID profile
OFF, RP, RPY RPY
needs USE_SIMPLIFIED_TUNING
✓✓✓✓
simplified_pitch_d_gain # uint8
PID profile
0 to 200 100
needs USE_SIMPLIFIED_TUNING
✓✓✓✓
simplified_pitch_pi_gain # uint8
PID profile
0 to 200 100
needs USE_SIMPLIFIED_TUNING
✓✓✓✓
throttle_boost # uint8
PID profile
0 to 100 5
needs USE_THROTTLE_BOOST
✓✓✓✓
throttle_boost_cutoff # uint8
PID profile
5 to 50 15
needs USE_THROTTLE_BOOST
✓✓✓✓
thrust_linear # uint8
PID profile
0 to 150 0
needs USE_THRUST_LINEARIZATION
✓✓✓✓
tpa_breakpoint # uint16
PID profile
1000 to 2000 1350 ✓Δ✓✓ 4.5: min 750 → 1000; max 2250 → 2000
tpa_low_always # uint8
PID profile
OFF, ON OFF —✓✓✓
tpa_low_breakpoint # uint16
PID profile
1000 to 2000 1050 —✓✓✓
tpa_low_rate # int8
PID profile
0 to 100 20 —✓Δ✓ 2025.12: type uint8 → int8
tpa_mode # uint8
PID profile
PD, D D ✓✓✓✓
tpa_rate # uint8
PID profile
0 to 100 65 ✓✓✓✓
transient_throttle_limit # uint8
PID profile
0 to 30 0
needs USE_AIRMODE_LPF
✓✓✓— Removed in 2026.6.
use_integrated_yaw # uint8
PID profile
OFF, ON OFF
needs USE_INTEGRATED_YAW_CONTROL
✓✓✓✓
vbat_sag_compensation # uint8
PID profile
0 to 150 0
needs USE_BATTERY_VOLTAGE_SAG_COMPENSATION
✓✓✓✓
yaw_spin_recovery # uint8
global
OFF, ON, AUTO AUTO
needs USE_YAW_SPIN_RECOVERY
✓✓✓✓
yaw_spin_threshold # uint16
global
500 to 1950 1950
needs USE_YAW_SPIN_RECOVERY
✓✓✓✓

✓ 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: chirp_amplitude_pitch, chirp_amplitude_roll, chirp_amplitude_yaw, chirp_frequency_end_deci_hz, chirp_frequency_start_deci_hz, chirp_lag_freq_hz, chirp_lead_freq_hz, chirp_time_seconds, s_pitch, s_roll, s_yaw, spa_pitch_center, spa_pitch_mode, spa_pitch_width, spa_roll_center, spa_roll_mode, spa_roll_width, spa_yaw_center, spa_yaw_mode, spa_yaw_width, tpa_curve_expo, tpa_curve_pid_thr0, tpa_curve_pid_thr100, tpa_curve_stall_throttle, tpa_curve_type, tpa_speed_adv_drag_k, tpa_speed_adv_mass, tpa_speed_adv_prop_pitch, tpa_speed_adv_thrust, tpa_speed_basic_delay, tpa_speed_basic_gravity, tpa_speed_max_voltage, tpa_speed_pitch_offset, tpa_speed_type, yaw_type.

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.