Betaflight Filter Tuning Guide
Filters exist to hide motor and frame noise from the PID loop. Get them right and you can run a crisp, responsive tune with cool motors. Get them wrong and you add latency that quietly ruins everything downstream.
The golden rule: filter the least you can get away with
Filtering is a trade-off between noise and delay. More filtering = cleaner D-term and cooler motors, but also more latency, softer feel and worse propwash. The target is the minimum filtering that keeps motors cool and the D-term trace clean — not the maximum.
1. RPM filter — turn this on first
If your ESC does bidirectional DShot, the RPM filter is the biggest win available. It places tight notches exactly on each motor's rotation frequency and its harmonics, killing the dominant noise source at the source. With it on, you can relax every other filter and reclaim a lot of latency.
2. Gyro & D-term lowpass
These smooth the raw gyro and the D-term. The D-term lowpass matters most because D amplifies high-frequency noise. On a clean build with RPM filtering you can raise these cutoffs (less filtering, less delay). On a noisy build you'll need them lower. Watch motor temperature after every change — warm is fine, hot means noise is still getting through.
3. Dynamic notch
The dynamic notch hunts the strongest live peaks and notches them, catching resonances that the RPM filter's fixed harmonics miss. Keep its range sane (it shouldn't need to reach very low frequencies) and let it handle the moving frame/prop peaks.
4. Read the FFT before you touch anything
Don't tune filters blind. An FFT of your gyro shows exactly where the noise is: throttle-dependent peaks (motors/props — filterable) vs broadband haze (mechanical — fix the hardware). See how to read a blackbox for the trace-by-trace breakdown.
Get filter recommendations from your own log
Drone PID Helper runs the FFT and spectrogram for you, spots the noise peaks, checks whether your current filters are catching them, and suggests cutoffs and notch settings — with a CLI diff to paste into Configurator.