Betaflight Rate Modes — Formulas, Comparison, and Conversion
Betaflight supports four rate mode formulas. They all do the same job — map stick deflection (0 to ±1) to a commanded rotation rate (°/s) — but they parameterize the curve differently. Switching modes changes what the sliders mean, not what the quad feels like if you set equivalent parameters.
Overview
| Mode | CLI value | Parameters | Best for |
|---|---|---|---|
| Betaflight (legacy) | BETAFLIGHT | RC Rate, Super Rate, Expo | Default; most community presets use this |
| Actual | ACTUAL | Center Sensitivity, Max Rate, Expo | Direct control over specific feel metrics |
| KISS | KISS | Rate | Single-knob simplicity |
| Quickrates | QUICK | Max Rate | Closest to linear; cleanest data flights |
Switch modes via CLI:
1set rates_type = ACTUAL # or BETAFLIGHT, RACEFLIGHT, KISS, QUICK
2save
Betaflight remembers your last-used values per mode. Switching modes does not overwrite the other mode's stored values.
Betaflight (Legacy) Rates
Parameters: RC Rate, Super Rate, Expo
Formula:
1stick = |rcCommand| // 0 to 1
2
3// Expo pre-shaping (reduces center sensitivity):
4if expo > 0:
5 stick = stick × (expo × |stick|³ + (1 − expo))
6
7// Rate with super rate denominator (hockey-stick at extremes):
8output = sign(rcCommand) × stick × rcRate × 200 / (1 − superRate × stick)
The denominator (1 − superRate × stick) is what creates the characteristic "hockey stick" — near center (stick≈0) the effect is minimal, but near full deflection (stick→1) the denominator approaches (1 − superRate), amplifying the output sharply.
| Parameter | Typical range | Effect |
|---|---|---|
| RC Rate | 0.8–1.8 | Scales the entire curve; 1.0 ≈ 200 °/s near center with SR=0 |
| Super Rate | 0.50–0.75 | Controls the acceleration at extremes; higher = more hockey-stick |
| Expo | 0–0.5 | Softens center feel; most pilots use 0 or low values |
Limitation: RC Rate and Super Rate interact — changing Super Rate also changes the center feel, and vice versa. There is no single parameter that controls only center sensitivity and another that controls only max rate.
Actual Rates
Parameters: Center Sensitivity, Max Rate, Expo
Formula (expo = 0):
1output = sign(rcCommand) × ((max_rate − center) × |rcCommand|² + center × |rcCommand|)
This satisfies two independent constraints simultaneously:
- Slope at stick = 0: equals
center(center sensitivity in °/s per unit) - Value at stick = 1: equals
max_rate
With expo > 0, the middle portion of the curve is blended toward a sine-shaped curve, creating a gentler mid-range transition.
Advantage: Each parameter controls exactly one thing. You can change center feel without touching the max rate, and vice versa. This makes Actual rates easier to tune to a specific feel.
| Parameter | Effect |
|---|---|
| Center Sensitivity | Degrees/s per stick unit at center. 70–120 is common. |
| Max Rate | Hard ceiling at full deflection. 600–900 °/s typical freestyle. |
| Expo | 0 = pure quadratic curve; higher = softer mid-transition |
KISS Rates
Parameters: Rate (single slider)
Formula:
1output = sign(rcCommand) × kissRate × 1998 × |rcCommand| / (1 − kissRate × |rcCommand|)
Structurally identical to the BF legacy formula but with a single combined rate parameter (no separate RC Rate / Super Rate split). Simpler to reason about: one number controls the overall aggressiveness.
- kissRate = 0.26 → ~700 °/s max, moderate center feel
- kissRate = 0.32 → ~930 °/s max, more aggressive
- kissRate < 0.20 → sub-400 °/s max, beginner/cinematic feel
KISS rates are named after the KISS ESC/FC ecosystem where this formula originated. Betaflight's implementation matches the original closely.
Quickrates
Parameters: Max Rate (single slider)
Formula:
1output = sign(rcCommand) × maxRate × |rcCommand|
Perfectly linear. One parameter, one curve. Quickrates is the closest Betaflight gets to a direct "stick position → rotation rate" mapping with no shaping.
When to use:
- Cinematography and slow-motion builds where you want predictable, linear control
- Tuning data collection flights where you want the setpoint signal to be clean and linear (makes step response analysis slightly cleaner)
- New pilots learning acro — linear feel is initially easier to understand
Rate Comparison Chart
Typical settings matched for roughly comparable feel:
Key observations:
- BF (red): starts shallow (low center sensitivity at these settings) but accelerates hard at extremes — the hockey stick is visible above 0.7 stick
- Actual (green): defined quadratic — clean, predictable slope from center to max
- KISS (purple): similar shape to BF but parameterized with one number; mid-stick feel slightly more linear than BF
- Quickrates (orange dashed): truly linear — equal spacing between all points
BF ↔ Actual Conversion
The two curves have different shapes, so a perfect conversion does not exist. These formulas give a close starting point:
BF → Actual
1Actual.center ≈ BF.rcRate × 200
2Actual.max_rate = read from BF configurator (full-stick output value)
3Actual.expo ≈ BF.superRate / 2.0 (rough starting point — tune by feel)
Example: BF rcRate=1.5, superRate=0.70, expo=0
Actual.center = 1.5 × 200 = 300- Read configurator: max output ≈ 900°/s →
Actual.max_rate = 900 Actual.expo = 0.70 / 2.0 = 0.35
Actual → BF
1BF.rcRate ≈ Actual.center / 200
2BF.superRate ≈ Actual.expo × 2.0 (starting point)
After computing, open the configurator and visually compare the two curves on the Rate graph. Adjust superRate until the full-stick output matches your desired max rate. The curves will not be identical — choose the one that matches the feel you want at mid-stick.
Equivalent Feel — Example Presets
| Feel | Betaflight | Actual | KISS |
|---|---|---|---|
| Freestyle medium | RC=1.4, SR=0.70, E=0 | Center=100, Max=750, E=0.30 | Rate=0.28 |
| Racing / sharp | RC=1.8, SR=0.75, E=0 | Center=140, Max=900, E=0.25 | Rate=0.32 |
| Smooth / cinematic | RC=0.8, SR=0.40, E=0.20 | Center=50, Max=350, E=0.40 | Rate=0.15 |
| 2" ripper | RC=1.2, SR=0.65, E=0 | Center=90, Max=650, E=0.30 | Rate=0.24 |
These are starting points — adjust to taste. The configurator Rate graph updates live, so compare visually rather than trusting the numbers exactly.
Which Mode Should I Use?
Use Betaflight (legacy) if you're loading community presets or following a tune guide that specifies RC Rate and Super Rate values. The vast majority of published presets assume this mode.
Use Actual if you want to independently control "how sharp is center" vs "how fast does full stick go". Particularly useful when copying the feel of a previous build to a new one with different motor/prop — you can match center sensitivity and max rate independently.
Use KISS if you prefer one slider, tend to fly from muscle memory alone, and don't want to think about the interaction between RC Rate and Super Rate.
Use Quickrates for cinematography or for tuning data collection flights (linear setpoint = cleanest step response data).
All four modes can produce an identical real-world flying feel if parameterized correctly. Mode choice is a matter of how you prefer to think about and adjust the curve — not which one is "better".
Related
- Betaflight Tuning Math — what happens to rates inside the PID loop
- Wobble-Test PID Protocol — tuning workflow that references these rate settings
- Tuning Flight Protocol — why Quickrates or FF=0 matters for clean BBL data
- FPV Terminology — glossary including Acro mode, rates, PID
- Rylo — rate setup help and PID tuning guidance → app.sintra.ai/community/helpers/rylo
Related Snippets
- BBL-Based PID Tuning Protocol
A structured, blackbox-driven PID tuning protocol based on step response … - Betaflight Rates Explained
Rates control how fast the drone rotates in response to stick input. Higher … - Betaflight Tuning Math — What Each Term Actually Does
What happens inside Betaflight when you move a slider. The formulas here are … - Blackbox Logging Setup and Field Guide
Blackbox records every sensor reading, RC input, PID output, and motor command … - Cinematic Tune from Betaflight Presets
Betaflight ships with a Presets library that includes ready-made cinematic … - PID Basics — P, I, D, and Feedforward
A PID controller is the core of what makes a flight controller work. … - PID Tuning — The Wobble-Test Protocol (Free Tools Edition)
A systematic PID tuning protocol based on the Joshua Bardwell / Brian White … - Rate Presets — 733 / 633 / 533 in Betaflight & Actual
533, 633, 733 are community shorthand for three popular freestyle rate profiles, … - Rate Profile Selection & Persistent Stats
Switching rate profiles mid-session via a transmitter switch and saving your … - Rates Deep Dive — Expo Curve, Zones, and Throttle
Rates are not just a "how fast does it spin" setting. They shape where … - Tuning Flight Protocol — Building a Useful Blackbox Log
Getting good PID analysis results requires a specific flight sequence. Freestyle …