Betaflight Filter Tuning Guide 2026: Dynamic Notch, Gyro LPF, D-Term LPF, and RPM Filters
Filters are the unsung heroes of a clean-flying quad. Without them, motor vibrations would saturate the gyro, the PID loop would amplify noise into motor oscillations, and your quad would sound like a screaming banshee while flying like a drunken shopping cart. Betaflight’s filter system has evolved dramatically from the fixed-notch days of 3.x to the intelligent, adaptive filtering in 4.5/4.6. This guide explains every filter stage, what each setting actually does, and how to tune them for any build.
The Filter Stack: What Happens to Gyro Data
Raw gyro data from the MPU6000 or ICM-42688P contains motor noise, frame resonance, electrical noise, and the actual flight dynamics you want to control. Betaflight’s filter stack processes this data in stages, each removing a specific class of noise before it reaches the PID controller:
- RPM Filters (bidirectional DShot) — remove narrowband motor noise at exact motor frequency harmonics
- Dynamic Notch Filter — tracks and removes the dominant resonance peak using FFT analysis
- Static Notch Filters (optional) — remove fixed-frequency noise like frame resonances
- Gyro Low-Pass Filter(s) — remove remaining high-frequency noise above the filter cutoff
- D-Term Low-Pass Filter(s) — specifically filters the D-term, which amplifies noise 2-4x
Each filter stage introduces some latency. The art of filter tuning is removing enough noise to fly cleanly while keeping total filter delay low enough for responsive P and D gains.
RPM Filters: The Single Biggest Improvement
RPM filtering uses ESC telemetry to know the exact motor RPM at every moment, then places extremely narrow notch filters exactly at those frequencies. Because the filters track the motor frequency in real time, they can be very narrow (high Q factor) with near-zero phase delay at other frequencies. This is revolutionary: you can now remove motor noise without the broad phase distortion of traditional low-pass filters.
Requirements: BLHeli_32 or AM32 ESCs with bidirectional DShot enabled (DShot300 or DShot600), and Betaflight 4.2+. In the Motors tab, confirm bidirectional DShot is ON and RPM error percentage is near 0%. On the PID Tuning tab, enable RPM Filtering with the default harmonics (1-3). Three harmonics are sufficient for 99% of builds — each additional harmonic adds minimal filtering benefit while consuming CPU cycles.
The practical impact is massive: with RPM filters active, you can typically run Gyro LPF cutoffs 50-100Hz higher (less filtering, less delay) while getting cleaner gyro data. This directly translates to tighter PID response without oscillation.
Dynamic Notch Filter: Adaptive Resonance Cancellation
The dynamic notch continuously performs FFT (Fast Fourier Transform) analysis on gyro data, identifies the dominant noise peak, and places a notch filter to cancel it. Configuration parameters:
| Parameter | Default (4.5) | What It Does | Tuning Guidance |
|---|---|---|---|
| Dynamic Notch Range | LOW: 100Hz, HIGH: 600Hz | Frequency range where the notch hunts for noise | Widen range if you see noise outside these bounds in blackbox spectrogram |
| Dynamic Notch Width | 0% (auto) | How wide the notch is; 0% = automatic width based on Q factor | Auto works best for 99% of builds |
| Dynamic Notch Q | 200-250 | Sharpness of the notch; higher Q = narrower, more precise cut | 200 (default) is good. Increase to 300-400 if you need narrow, deep cuts |
| Dynamic Notch Min/Max Hz | 100 / 600 | Center frequency limits — notch won’t track outside this range | Set based on your motor RPM range at hover and max throttle |
In Betaflight 4.5+, the dynamic notch has become more aggressive by default — it now tracks multiple peaks and places notches more effectively. The result is dramatically cleaner gyro data on noisy builds (small frames, ducted quads) without manual tuning.
Gyro Low-Pass Filters: PT1 vs PT2 vs PT3 vs Biquad
Betaflight offers several filter types, each with different steepness and phase delay characteristics:
| Filter Type | Slope (dB/octave) | Phase Delay | Best Use |
|---|---|---|---|
| PT1 | 6 dB/octave | Minimal | Clean builds with RPM filtering; very low latency |
| PT2 | 12 dB/octave | Low | Standard modern builds; good balance |
| PT3 | 18 dB/octave | Moderate | Noisy builds, small frames, cinewhoops |
| Biquad | 12-24 dB/octave | Higher | Sharp cutoff needed; rarely best choice for FPV |
The slider approach in Betaflight 4.5+ abstracts filter type selection behind a multiplier. Sliding toward “More Filtering” engages steeper filter types (PT2→PT3) and lower cutoff frequencies. Sliding toward “Less Filtering” uses gentler filters (PT1→PT2) with higher cutoffs. Start with the default slider position and adjust based on motor temperature after flight.
D-Term Filtering Strategy
D-term amplifies high-frequency noise by design — it’s a derivative, so it responds more to rapid changes (noise) than to slow changes (flight dynamics). This makes D-term filtering critical, and Betaflight applies heavier filtering to D than to P by default.
- D-Term LPF 1 and LPF 2: Two cascaded low-pass filters. LPF 1 is set lower (more aggressive) than Gyro LPF to handle the amplified noise. LPF 2 provides additional roll-off.
- D-Term filtering slider: Controls both D LPF cutoff frequencies. More filtering = cooler motors, less effective D. Less filtering = sharper D response, hotter motors. Find the balance where motors are warm but not hot after a hard flight (target: can hold motor for 5+ seconds without discomfort).
Practical Filter Settings by Build Type
| Build Type | RPM Filters | Gyro LPF Slider | D-Term LPF Slider |
|---|---|---|---|
| 5-inch Freestyle (clean) | ON, 3 harmonics | 1.3-1.5x (less filtering) | 1.0-1.2x (slightly less filtering) |
| 5-inch Racing | ON, 3 harmonics | 1.0-1.2x (default) | 0.9-1.0x (default to slightly more) |
| 3-inch Toothpick | ON, 3 harmonics | 0.8-1.0x (more filtering) | 0.7-0.9x (more filtering) |
| Cinewhoop | ON, 3 harmonics | 0.7-0.9x (more filtering) | 0.7-0.8x (more filtering) |
| 7-inch Long-Range | ON, 3 harmonics | 1.2-1.4x (less filtering) | 1.0-1.2x (default) |
Using Blackbox to Verify Filter Performance
The gyro_scaled spectrogram in Betaflight Blackbox Explorer tells you everything. A clean build with good filtering shows a dark (quiet) trace across the frequency range, with RPM filter notches visible as thin dark lines tracking motor RPM. A noisy build shows bright bands at constant frequencies (frame resonance) or at motor RPM frequencies (insufficient RPM filtering).
Your target: the gyro spectrogram should show motor noise at least 20dB below the flight dynamics signal. If motor noise is within 10dB of the flight signal, add filtering. If the spectrogram is nearly black, you can safely reduce filtering for snappier response.
Filters are a balancing act. Start with Betaflight 4.5/4.6 defaults and RPM filtering enabled — this combination produces clean gyro data on most builds without any manual filter tuning. Only adjust when blackbox data or motor temperatures tell you there’s a specific problem to solve.
