Article

Betaflight Dynamic Idle: how to set the minimum RPM and when to leave it off

Chop the throttle at the top of a punch and let the quad fall flat. Air now flows up through the props from below and slows them down. If they slow down too much, they can't spin up fast enough when you need them again, and the end of the flip comes out with a wobble or, in the worst case, a desync and a tumble.

Betaflight has two ways to deal with that: a fixed motor idle percentage and Dynamic Idle, which works from real RPM readings. Below is how both behave, how to set Dynamic Idle in Betaflight 4.3 and newer, which values make sense to start with and when to keep the feature off.

Static idle: a fixed floor for motor drive

Without Dynamic Idle, the lowest motor drive is set by the idle value, 5.5% by default. In Betaflight 4.5 the CLI name is dshot_idle_value; the 2025.12 CLI reference lists it as motor_idle with a default of 550. With the stick at zero the motors get that 5.5%, and the PID controller can't go below it either.

That one number has to cover two opposite situations:

  • Air pushing into the props from below (flat drops, a quick 180 from high speed). The props slow down, may stop or even turn backwards. To protect against that, the idle value has to be fairly high.
  • Air pushing the props from above or from the front (stopping a fast roll, high-speed turns). The motors spin faster than they need to and the PID controller would like to brake them hard by sending zero, but it can't go below 5.5%. Braking is weaker, the quad feels floaty and inverted hang time is shorter.

Fixed idle also gives a different RPM depending on the motor and battery. Oscar Liang points out that idle RPM on a full 4.2 V per cell pack is higher than at 3.8 V, and small KV differences between motors add to that.

What Dynamic Idle changes

With Dynamic Idle on, the flight controller reads the RPM of every motor through bidirectional DShot telemetry and adjusts idle drive so that the slowest motor stays above the minimum RPM you set. The PID controller can now send zero drive to a motor, as long as it doesn't drop below that minimum.

The Betaflight guide lists the effects: fewer desyncs, quicker spin-up after zero throttle, more stability when you stop a flip quickly, steadier flat drops and harder braking of motors that the airflow is already spinning fast. Oscar Liang also mentions better propwash handling, because the motors can be braked all the way to zero.

One detail matters on the bench. After arming, until Airmode becomes active, Dynamic Idle may add no more than a fixed 4% of motor drive, for safety. The motors won't jump to the full minimum RPM the moment you flip the arm switch. The 4.3 tuning notes describe this as a smarter version of the old idle-up switch.

What you need

  • ESCs that support bidirectional DShot, and working DShot telemetry on the flight controller. The setup, motor poles and how to check for telemetry errors are covered in the RPM filtering article on this site.
  • Betaflight 4.3 or newer. The 4.2 procedure with measuring RPM in the Motors tab and matching it to the idle percentage is obsolete, and the 4.3 tuning notes say not to follow it.
  • No 3D mode. The Betaflight guide says plainly that Dynamic Idle must not be used with it.

You don't need RPM filtering itself. If the ESCs send RPM telemetry, Dynamic Idle works with RPM filters turned off.

Two behaviors are worth knowing before the first flight. If DShot telemetry is enabled but not working properly, the quad won't arm. If it's disabled, Dynamic Idle switches off silently and Betaflight falls back to the fixed idle percentage.

Setup in Betaflight Configurator

  1. In the Motors tab, enable bidirectional DShot and check that the motor poles are right.
  2. Go to the PID Tuning tab. In the right-hand pane under "Throttle and Motor Settings" there is "Dynamic Idle Value [* 100 RPM]".
  3. Enter a value from 30 to 40 for a typical 5-inch quad. That means 3000-4000 RPM.
  4. Save, connect a battery with the props off and check in the Motors tab that all four motors report RPM.

In the CLI it is one line. The setting lives in the PID profile, so set it in every profile you fly:

set dyn_idle_min_rpm = 35
save

The allowed range is 0-200 and 0 turns the feature off.

With Dynamic Idle on, the static idle field is greyed out in Configurator. The 4.3 tuning notes say there is no need to change it: leave it at whatever worked for you before.

Which value to start with

The sources agree on the range and differ in the details:

  • The Betaflight Dynamic Idle guide and the 4.3 tuning notes: 30-40 for a typical 5-inch. The tuning notes add that 4000 RPM usually works well for most freestyle and racing.
  • The PID Tuning tab documentation suggests around 3000-3500 RPM, and Oscar Liang gives 3000-3500 for 5-inch props.
  • For racing, the Betaflight guide says a high minimum of 3500-4000 RPM mostly works best.

Oscar also describes a measuring method: with the props off and a smoke stopper or a current-limited bench supply, spin one motor in the Motors tab at your old idle (about 1055 for 5.5%), read the RPM and divide by 100. That gives a value close to how the quad flew on fixed idle. Some pilots, he writes, use 40-50% of hover RPM instead.

How a higher or lower value feels

Higher values keep the props spinning faster at zero throttle. The quad spins up faster, flips are crisper and propwash on flat chops is milder. The cost is a floatier feel, weaker braking and shorter inverted hang. The 4.3 tuning notes describe high values well: flips start to turn into small circles in the sky, 180 turns into little arcs, and the quad falls more slowly in a flat throttle chop because the motors still make some upward thrust. Oscar adds that with too high a value the quad tends to hover a little even at zero throttle, which makes throttle control harder.

Lower values give longer inverted hang, but bring back the risk of desyncs and slow starts after a flip, which shows up as bounce-back. For maximum inverted hang and line-of-sight flying, the tuning notes suggest the lowest value that still avoids desyncs.

Low-authority quads usually want higher values: bigger props, weaker motors, ducted cinewhoops and endurance builds. Oscar adds that in wind a higher value also helps hold the quad at low throttle. Whoops gain a lot from Dynamic Idle combined with Thrust Linear (thrust_linear), but may need a higher idle to keep the motors spinning reliably.

The tuning notes also name a typical symptom of too low an idle: random wobbles at the end of some flips and rolls, especially fast ones near the end of the pack. The fix they suggest is Dynamic Idle at 3500-4000 RPM.

Controller settings: usually leave them alone

Dynamic Idle has its own small PID controller. The 2025.12 CLI reference lists:

Setting Default Range
dyn_idle_p_gain 50 1-250
dyn_idle_i_gain 50 1-250
dyn_idle_d_gain 50 0-250
dyn_idle_max_increase 150 10-255

Powerful quads usually need a lower P; the tuning notes give 40 as an example for a strong 6S build. To check it, log a few flat drops at zero throttle with the DYN_IDLE debug mode. If RPM oscillates, lower P. If it is stable during the drop but dips below the target right after the chop, add D, P or both.

dyn_idle_max_increase caps how much drive Dynamic Idle can add. The default 150 means 15%. The guide warns that higher values can drive the remaining motors very hard during a long desync.

When to keep it off

  • 3D mode. Not allowed, as mentioned above.
  • Small 1S and 2S quads on Bluejay with Betaflight older than 4.5. The Bluejay wiki warns that ESCs of this type don't measure current. When a prop is blocked, Dynamic Idle keeps raising motor speed and can hold the motor at full load for a long time, which risks damage to the ESC and motor. On 1S and 2S the wiki says to avoid Dynamic Idle before Betaflight 4.5, which added a parameter for this. More on startup power in the Bluejay article on this site.
  • DShot telemetry with errors. Dynamic Idle trusts the RPM readings. Fix the errors first.

If Dynamic Idle doesn't suit a build, set dyn_idle_min_rpm = 0 and Betaflight goes back to the fixed idle percentage.