When we talk about filters in Betaflight, it’s basically about which parts of a signal are allowed through and which are suppressed. Imagine your flight controller measuring every tiny movement through the gyro sensor, but also picking up disturbances like motor vibrations or high-frequency noise. For your copter to fly smoothly, the useful movement information needs to be separated from these disturbances. That’s where different types of filters come into play.

A low-pass filter is probably the most commonly used filter. It lets slow, low-frequency movements of the drone pass through while blocking fast, high-frequency parts that usually represent noise. So, if your gyro picks up some jitter at 500 Hz that has nothing to do with your stick input, the low-pass filter ensures you only keep the “real” flight behavior below a certain limit.

A notch filter works like a targeted noise remover. It focuses on a specific frequency or a very narrow range and reduces just that. A typical example is motor resonance: if your motors produce vibrations at 250 Hz, a notch filter can remove that frequency while leaving everything else almost unchanged.

Finally, a band-pass filter works the opposite of a low-pass filter: it only lets a limited range of frequencies pass and blocks everything below and above it. This is useful when you want to focus on a specific frequency range, for example to analyze data from the Blackbox or isolate a signal.

Besides the filter types, it’s also important in Betaflight how the filters are mathematically implemented. The simplest is the PT1 filter, a first-order low-pass. It gently reduces high frequencies, uses very little processing power, and adds almost no delay. If you need stronger filtering, the PT2 filter comes into play. It’s basically two PT1 filters in a row, which dampens high frequencies much more strongly but adds a little extra latency.

image.png