0 votes
ago in Flight Controllers & Software by (2.0k points)
Enable RPM filtering in Betaflight by connecting your ESC telemetry to the flight controller, then activate it in the PID tuning tab with DSHOT_RPM enabled. It dramatically outperforms static notch filters by targeting the exact frequencies where motor noise occurs in real-time.

1 Answer

0 votes
ago by (3.1k points)
selected ago by
 
Best answer
RPM filtering represents one of the biggest advances in flight controller software because it eliminates motor noise at the source rather than making educated guesses. Traditional notch filters are static, meaning they're set to cut specific frequency ranges where you expect motor noise to appear. The problem is that motor noise frequencies constantly shift based on throttle position, propeller load, and flight maneuvers. A notch filter set at 200 Hz might work perfectly at half throttle but miss the noise entirely when you punch full throttle and the motors spin faster.

To configure RPM filtering, you first need bidirectional DSHOT, which allows your ESCs to send motor RPM data back to the flight controller. Check that your ESCs support this feature, which most modern BLHeli_32 and BLHeli_S ESCs do. In Betaflight Configurator, go to the Motors tab and ensure you're running DSHOT300 or DSHOT600. Then navigate to Configuration and enable the bidirectional DSHOT option. Save and reboot.

Next, head to the PID Tuning tab and scroll down to the filter settings. You'll see RPM Filter options. Enable the RPM filter and set the harmonics. Most pilots run between 3 to 5 harmonics, which means the filter tracks the fundamental motor frequency plus multiples of it. A 5-inch quad typically benefits from 3 harmonics, while smaller or more aggressive builds might need 4 or 5. Set the minimum RPM threshold around 150 to prevent false readings when motors are barely spinning.

The performance improvement is immediately noticeable. Because RPM filtering knows exactly what frequency each motor is producing at every moment, it can create extremely narrow notch filters that move dynamically with your motors. This precision means you can disable or reduce most static notch filters, which previously had to be wide and aggressive to catch motor noise across different throttle ranges. Wide notch filters introduce latency and cut out good data along with the noise.

With RPM filtering active, your gyro data stays cleaner, PID loops respond faster, and you can often increase your PID gains for tighter control. Motors run cooler because the flight controller isn't constantly fighting phantom oscillations from unfiltered noise. You'll see this reflected in your blackbox logs as dramatically cleaner gyro traces. The difference between a quad with traditional filtering and one with properly configured RPM filtering is like going from flying through mud to cutting through glass.
Welcome to Rotorrify, where you can ask questions and receive answers from other members of the community.
...