Article

Betaflight Actual rates: center sensitivity, max rate and expo explained

Rates decide how fast the quad rotates for a given stick position, in degrees per second. They do not touch PIDs or filters, yet they shape how a quad feels more directly than anything else you can set. Betaflight offers five rate models: Actual, Quick, Betaflight, Raceflight and KISS. Actual arrived in 4.2 and has been the default since 4.3, so a freshly flashed flight controller runs it. Its three numbers are easy to read once you know what each one controls, and most rate problems people run into come from mixing it up with the older model.

Three numbers, each doing one job

In the PID Tuning tab, set "Rates Type" to Actual and you get three columns per axis:

  • Center Sensitivity - the rotation rate around center stick, in deg/s. Technically it is the slope of the curve at center, which is what you feel when you make small corrections.
  • Max Rate - the rotation rate at full stick deflection, in deg/s. This is how fast flips and rolls go.
  • Expo - where the curve bends. It does not touch either of the other two values.

That independence is the whole point of Actual. In Betaflight, KISS and Raceflight rates the three values interact, so changing one of them can shift the center feel, the max rate or both. In Actual you can raise the flip speed without making hover twitchier, and the other way round. Quick rates sit in between: center sensitivity is independent, but its Rate and Expo values interact to set the curve and the max rate.

Center and max are both in deg/s, so you can compare them directly. The 4.2 tuning notes put it this way: the two numbers tell you how the quad feels at center compared with further out.

The defaults and what the CLI shows

The current firmware defaults are Actual with center sensitivity 70, max rate 670 and expo 0 on all three axes. The pull request that made Actual the default describes the result as softer at center than the old Betaflight defaults, a bit more responsive further out, with the same 670 deg/s full-stick rate.

The CLI stores both rates divided by 10, so the defaults look like this in dump (a diff leaves them out, because it only lists changes from defaults):

set rates_type = ACTUAL
set roll_rc_rate = 7
set pitch_rc_rate = 7
set yaw_rc_rate = 7
set roll_expo = 0
set pitch_expo = 0
set yaw_expo = 0
set roll_srate = 67
set pitch_srate = 67
set yaw_srate = 67

roll_rc_rate = 7 is 70 deg/s at center, roll_srate = 67 is 670 deg/s at full stick. When you type values in the CLI rather than in the app, keep that factor in mind. Typing set roll_srate = 670 will not give you 670 deg/s.

If the default feels lazy around center, the same pull request suggests trying a center sensitivity of 100 (10 in the CLI). In its author's words, that feels more like the old Betaflight default while staying less jumpy at center.

Where to start for your type of flying

Betaflight's Rate Calculator page gives broad ranges rather than magic numbers:

Flying style What the docs suggest
Racing A more linear curve, max rate around 550-650 deg/s
Freestyle Soft center with high max rates, 850-1200 deg/s
Cinematic A flatter center region

The 4.2 tuning notes get more specific for smooth HD footage: Actual rates with center sensitivity 10-50, expo 0, and your usual max rate. With center that low, they say stick deadband or feedforward transition may not be needed at all. The same notes recommend Actual with zero expo and low center sensitivity for freestyle and cinematic flying in general.

The Rate Calculator page also adds a line worth taking seriously: it takes time to get used to new rates, so do not rush. Change one thing at a time and give it more than one pack before you decide.

What expo actually changes

Expo in Actual shifts the point where the curve stops following center sensitivity and climbs towards max rate. Center slope and full-stick rate stay where you set them.

  • Higher expo keeps the gentle center behaviour further out along the stick travel, so the quad only spins fast once the stick is well away from center. The 4.2 notes say freestyle and line-of-sight acro pilots often like this. For LOS acro, high expo gives a near-linear feel over a wide range and then a sudden jump for flips at the end of the travel.
  • Lower expo keeps the soft region close to center and makes the response more predictable once you leave it. Racers use it with relatively high center sensitivity. Cinematic pilots use it with very low center sensitivity, because they want no jumps at center but still need authority when they push the sticks further.

The pull request author's own view is that expo 0 is generally best in Actual, unless you specifically want a linear feel for most of the travel followed by very fast spinning at full stick.

One edge case follows from the firmware code: the curve only bends upwards if Max Rate is higher than Center Sensitivity. If you set max below center, Betaflight ignores the difference and the response is linear at the center value all the way out.

Converting old Betaflight rates

The 4.2 tuning notes give a quick rule for center feel: multiply the old RC Rate by 200. An RC Rate of 1.0 becomes a center sensitivity of 200. That only covers the center slope, and old RC Expo also lowers the slope at center, so for a full match use a visual converter. Betaflight's own docs point to Metamarc's rate converter (rates.metamarc.com) as the best one, and the "Rates Type" tooltip in the app links to it too.

Two traps catch people here:

  1. Pasting an old diff. A diff only lists settings that differ from defaults. On firmware older than 4.3, Betaflight rates were the default, so an old diff usually contains roll_rc_rate, roll_srate and roll_expo but no rates_type line. Paste it into 4.3 or newer and those numbers are read as Actual rates. In the pull request discussion, one Betaflight developer worked through the old default numbers read this way: instead of 667 deg/s at full stick with a soft center, the quad gets a linear 1000 deg/s and far more response around center. Betaflight's general advice is not to paste diffs between major versions at all; if you do, check the rates in the PID Tuning tab before the first flight.
  2. Switching the rates type in the app. The app warns you that changing the rates type resets the rates to a default curve. Note your numbers before you switch.

Rate profiles

Rates live in rate profiles, separate from PID profiles. The PID Tuning tab offers four of each. A rate profile stores the rates type, the rate and expo values for all three axes, and throttle settings such as throttle expo and throttle limit. You can give each one a name such as "race" or "cine", and the OSD has an element that shows the active rate profile name.

To switch in the field, go to the Adjustments tab, enable a range on a free AUX channel across the whole 900-2100 range, and choose "Rate Profile Selection". With this method the switch position picks the profile at every boot. You can also change rate profiles from the OSD menu (CMS, under Profiles) or with the rateprofile command in the CLI. The "Copy rateprofile" button in the PID Tuning tab is handy for cloning a profile before experimenting.

Betaflight's Profiles page warns that the app's backup only saves the active profile and rate profile. To capture all of them, use diff all in the CLI.

Side effects of a higher max rate

Max rate is not purely a matter of taste. Two things in Betaflight respond to it:

  • Yaw spin recovery. Since 4.2, yaw_spin_recovery defaults to AUTO, which sets the spin detection threshold a little above your maximum configured yaw rate. Switching between a race profile and a high-rate profile keeps the threshold sensible without manual changes.
  • Bounce-back on low-authority quads. Heavy 4S freestyle builds, 7-inch and larger quads, ducted HD quads and underpowered whoops struggle to follow very fast stick inputs. The 4.2 notes list lowering your max pitch, roll or yaw rate, or entering and leaving flips a little more slowly, as the second-best fix for bounce-back after flips. The best fix is a tune or hardware change that makes the quad respond faster.

If a new high-rate profile brings bounce-back that the old one did not have, try a lower max rate first. It costs nothing, and if the bounce-back goes away, the quad was simply being asked for more than it can deliver.