Rate Profile Selection & Persistent Stats
Switching rate profiles mid-session via a transmitter switch and saving your personal-best stats to the OSD are both useful features — but they interact in a surprising way.
Persistent Stats
Betaflight can track flight statistics across power cycles and display them on the OSD:
- Max altitude, max speed, max G-force, max current, max throttle
- Total armed time, total flights
Why they're useful: persistent stats let you see your personal bests in the OSD while flying — useful for reviewing footage and knowing whether a flight was your fastest/hardest. They survive disarm and power-off so you can review them between sessions.
Enabling Persistent Stats
In Betaflight Configurator → OSD tab → scroll to the Stats section, enable the stats you want. They appear on the post-flight stats screen after disarm.
Via CLI:
1set stats = ON
2set stats_total_flights = ON
3set stats_total_time = ON
4save
Rate Profile Selection via Switch
Betaflight supports up to 6 rate profiles. You can switch between them in flight using a transmitter channel mapped to a mode condition.
In Configurator → Modes tab, add a RATES PROFILE 1, RATES PROFILE 2, RATES PROFILE 3 condition on your chosen AUX channel ranges. Each profile stores its own RC Rate / Super Rate / Expo values.
Typical setup: 3-position switch → one rate profile per position (e.g. 533 → 633 → 733).
The Conflict: Why Stats Don't Save on Disarm
When rate profile switching is enabled, persistent stats will not save on disarm.
Here's why: switching a rate profile modifies the flight controller's configuration (it's a config change, not just a runtime value). For that change to survive a reboot, Betaflight would need to write the config to flash. Betaflight does not do an automatic config save on disarm — by design, to avoid flash wear and accidental overwrites mid-session.
Because the same save mechanism is shared between "which rate profile is active" and "current stat counters," and because no auto-save fires on disarm, your stat counters reset on the next power cycle.
Workarounds
Option 1 — Save config manually after landing
Run the save command from Betaflight Configurator or the OSD stick command immediately after landing, before removing the battery. This writes the current config (including which rate profile is active and the latest stat counters) to flash.
1# In CLI after each session
2save
Option 2 — Disable rate profile switching
If you don't need in-flight rate profile changes, remove the RATES PROFILE mode conditions from the Modes tab. With profile switching disabled, the active profile never changes the config at runtime, and stats save normally on disarm.
Option 3 — Use a single profile and tune rates per style
Instead of switching profiles in flight, keep one profile set to the rates you fly most often. If you want to test different rates, change the profile on the bench between sessions and save manually.
Summary
| Feature combination | Stats persist on disarm? |
|---|---|
| Persistent stats, no profile switch | ✅ Yes |
| Persistent stats + profile switch | ❌ No (save manually) |
| Profile switch, stats disabled | N/A |
Related Snippets
- BBL-Based PID Tuning Protocol
A structured, blackbox-driven PID tuning protocol based on step response … - Betaflight Rate Modes — Formulas, Comparison, and Conversion
Betaflight supports four rate mode formulas. They all do the same job — map … - 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, … - 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 …