Betaflight Motors and ESC: CLI settings

Motor protocol (DShot, PWM), bidirectional DShot, motor poles and idle, 3D mode, the mixer and crashflip, dynamic idle and the ESC telemetry sensor. `motor_poles` must match the motor for RPM filtering to work.

23 settings in Betaflight 2026.6, plus 2 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
3d_deadband_high # uint16
global
1500 to 2250 1514 ✓✓✓✓
3d_deadband_low # uint16
global
750 to 1500 1406 ✓✓✓✓
3d_deadband_throttle # uint16
global
1 to 100 50 ✓✓✓✓
3d_limit_high # uint16
global
1500 to 2250 2000 ✓✓✓✓
3d_limit_low # uint16
global
750 to 1500 1000 ✓✓✓✓
3d_neutral # uint16
global
750 to 2250 1460 ✓✓✓✓
3d_switched_mode # uint8
global
OFF, ON OFF ✓✓✓✓
crashflip_auto_rearm # int8
global
OFF, ON set by the target ——✓✓
crashflip_expo # uint8
global
0 to 100 35 ✓✓—— Removed in 2025.12.
crashflip_motor_percent # uint8
global
0 to 100 0 ✓✓✓✓
crashflip_rate # uint8
global
0 to 250 set by the target ——✓✓
max_throttle # uint16
global
750 to 2250 2000 ✓✓✓✓
min_command # uint16
global
750 to 2250 1000 ✓✓✓✓
min_throttle # uint16
global
750 to 2250 set by the target ✓✓—— Removed in 2025.12.
mixer_type # uint8
global
LEGACY, LINEAR, DYNAMIC, EZLANDING LEGACY ✓Δ✓✓ 4.5: new values EZLANDING
motor_idle #
was dshot_idle_value
uint16
global
0 to 2000 set by the target ✓✓Δ✓ Renamed from dshot_idle_value in 2025.12. DShot users set motor_idle to their old dshot_idle_value; minthrottle was removed in the same change. source
motor_kv # uint16
global
1 to 40000 1960 —✓✓✓
motor_output_limit # uint8
PID profile
1 to 100 100 ✓✓✓✓
motor_output_reordering # uint8
global
8 comma-separated values, 0 to 255 0,1,2,3,4,5,6,7 ✓✓✓✓
motor_poles # uint8
global
4 to 255 14 ✓✓✓✓
motor_pwm_inversion # uint8
global
OFF, ON OFF ✓✓✓✓
motor_pwm_protocol # uint8
global
11 valuesPWM, ONESHOT125, ONESHOT42, MULTISHOT, BRUSHED, DSHOT150, DSHOT300, DSHOT600, PROSHOT1000, DISABLED, DRONECAN
set by the target ✓✓✓Δ 2026.6: new values DRONECAN
motor_pwm_rate # uint16
global
200 to 32000 set by the target ✓✓✓✓
use_unsynced_pwm # uint8
global
OFF, ON set by the target ✓✓✓✓
yaw_motors_reversed # int8
global
OFF, ON OFF ✓✓✓✓

✓ 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: dshot_bidir, dshot_bitbang, dshot_bitbang_timer, dshot_burst, dshot_edt, dyn_idle_d_gain, dyn_idle_i_gain, dyn_idle_max_increase, dyn_idle_min_rpm, dyn_idle_p_gain, esc_sensor_current_offset, esc_sensor_halfduplex, rpm_limit, rpm_limit_d, rpm_limit_i, rpm_limit_p, rpm_limit_value.

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.