# Betaflight Filter Tuning Guide: Dynamic Notch, Gyro LPF, and D-Term Filters
Clean filters are the difference between a quad that flies locked-in and one that oscillates or burns motors. Modern Betaflight filtering — especially RPM filtering — makes tuning far easier than the old days, but you still need to understand the key settings. This guide covers every filter stage and how to tune them for a clean, cool-running build.
## The Betaflight Filter Pipeline
Every vibration your gyro detects goes through a pipeline of filters before reaching the PID controller:
“`
Gyro Raw Data → RPM Notch → Dynamic Notch → Gyro LPF1 → Gyro LPF2 → PID Controller
↓
Motor Output ← D-Term LPF2 ← D-Term LPF1 ← D Calculation
“`
| Filter Stage | Purpose | Default Cutoff |
|————-|———|—————-|
| **RPM Filter** | Cancels motor-speed harmonics | Per-motor, dynamic |
| **Dynamic Notch** | Tracks and removes the dominant resonant frequency | Center ~240 Hz |
| **Gyro LPF1** | Removes remaining high-frequency noise | Dynamic, min 200 Hz |
| **Gyro LPF2** | Final cleanup before PID | Dynamic, min 300 Hz |
| **D-Term LPF1** | Smooths D oscillations | Dynamic, min 150 Hz |
| **D-Term LPF2** | Final D smoothing | Dynamic, min 250 Hz |
## Step 1: Enable RPM Filtering (Required)
RPM filtering is transformative. It uses ESC telemetry to precisely cancel motor-frequency vibrations:
1. Flash **Bluejay** or **BLHeli_32** firmware to your ESCs
2. In Betaflight Configuration tab, enable **Bidirectional DShot**
3. Set motor protocol to **DShot300** or **DShot600**
4. Go to the Motors tab and verify each motor reports RPM
With RPM filtering enabled, set **Gyro RPM Filter Harmonics = 3** and **Min Frequency = 100 Hz**. This alone eliminates 80% of motor noise.
## Step 2: Tune the Dynamic Notch
The Dynamic Notch tracks your frame’s resonant frequency in real time:
| Parameter | Conservative | Default | Aggressive |
|———–|————-|———|————|
| Dynamic Notch Range | LOW | AUTO | HIGH |
| Dynamic Notch Width (%) | 50 | 0 (auto) | 25 |
| Dynamic Notch Q | 100 | 250 | 400 |
| Dynamic Notch Min Hz | 80 | 100 | 120 |
| Dynamic Notch Max Hz | 600 | 350 | 250 |
**Tuning strategy**: Start with Range = **LOW** and Q = **200-300**. Check motor temperatures after a 30-second hover. If motors are cold, reduce filtering (increase Q) for better flight feel. If motors are warm/hot, add filtering (lower Q, widen range).
## Step 3: Gyro Lowpass Filters
These are your last line of defense:
| Build Type | Gyro LPF1 Min | Gyro LPF2 Min | Result |
|————|————–|————–|——–|
| Clean build (new motors, stiff frame) | 220 Hz | 350 Hz | Sharpest flight feel |
| Average build (some vibrations) | 180 Hz | 280 Hz | Balanced |
| Noisy build (old motors, soft frame) | 140 Hz | 220 Hz | Smoothest, most filtering |
**How to test**: Reduce both LPF1 and LPF2 minimums by 20 Hz and fly. If the quad flies worse (mushy, delayed response), go back up. If it flies the same, you can reduce further or increase D gain slightly.
## Step 4: D-Term Filters
D-term amplifies noise, so it needs its own filtering:
| Symptom | Fix |
|———|—–|
| Motors hot, D oscillations in Blackbox | Lower D-Term LPF1 min (e.g., 120 Hz) |
| Quad feels loose/unresponsive on sharp moves | Raise D-Term LPF1 min (e.g., 180 Hz) |
| Fine jitter visible in FPV feed | Lower D-Term LPF2 min |
## Step 5: Verify with Blackbox
After tuning, record a Blackbox log and check the **gyro_scaled** spectrogram:
– **Clean log**: No persistent horizontal bands; noise floor below -40 dB
– **Dirty log**: Bright horizontal bands at specific frequencies = mechanical issue or insufficient filtering
– **Warm motors**: Check D-term traces for high-frequency jaggedness
## Recommended Flight Controller for Best Filtering
The **SpeedyBee F405 V4 Stack** includes hardware low-pass filtering on the gyro and supports full bidirectional DShot with RPM filtering. It’s the most popular stack for clean-flying builds. Available at [uavmodel.com](https://uavmodel.com).
## Video: Betaflight Filter Tuning Walkthrough
## Quick Reference: Starting Points
| Build | Dynamic Notch | Gyro LPF1 | D LPF1 |
|——-|————–|———–|——–|
| 5-inch freestyle (clean) | LOW, Q=300 | 200 Hz | 150 Hz |
| 5-inch freestyle (noisy) | MEDIUM, Q=200 | 160 Hz | 130 Hz |
| 3-inch toothpick | HIGH, Q=350 | 230 Hz | 170 Hz |
| 7-inch long range | LOW, Q=250 | 180 Hz | 140 Hz |
Filter tuning is iterative — fly, check motor temps, adjust, repeat. The goal is the cleanest possible PID signal without cooking your motors. Take your time and you’ll be rewarded with a quad that flies like it’s on rails.
