Betaflight RPM Filter Setup: Bidirectional DShot, Motor Poles, and Dynamic Notch Optimization — 2026 Guide

Your blackbox logs show a forest of noise spikes at motor RPM harmonics, and your motors come down hotter than they should for the flying you just did. You have a gyro noise problem that static notch filters cannot fully solve. RPM filtering fixes this at the source — but only if you configure it correctly.

Setting Up Bidirectional DShot RPM Filtering in Betaflight — Step by Step

RPM filtering works because Betaflight knows the exact RPM of each motor in real time. It uses that data to place narrow notch filters directly on motor frequency harmonics, canceling noise bands that would otherwise reach the gyro and PID loop. The result: cleaner gyro data with less filtering delay, cooler motors, and a quad that tracks your stick inputs more precisely.

Step 1: Flash BLHeli_32 or Bluejay Firmware

Bidirectional DShot requires ESC firmware that supports sending RPM telemetry back to the flight controller. BLHeli_32 (version 32.7+) supports this natively. Bluejay (0.16+) is the open-source alternative for BLHeli_S ESCs and works just as well for most pilots.

Flash your ESCs using the BLHeliSuite32 or ESC Configurator web app. Confirm the firmware version is at least 32.7 for BLHeli_32 or 0.16 for Bluejay. If your ESCs are running an older version, the RPM telemetry packets will not transmit.

Step 2: Enable Bidirectional DShot in Betaflight

In the Betaflight Configurator, go to the Configuration tab. Under “ESC/Motor Features,” set the ESC protocol to DShot300 or DShot600. Then toggle ON “Bidirectional DShot” (also labeled “ESC Telemetry”). Save and reboot.

Connect a battery (props off) and go to the Motors tab. Spin up motor 1 briefly — you should see the “RPM” column populate with actual values. If RPM stays at 0, check: (a) ESC firmware version, (b) motor signal wire continuity, (c) that you saved and rebooted after enabling.

Step 3: Set Motor Pole Count

Still in the Configuration tab, set “Motor Poles” to the correct value for your motors. Most 2207-2507 FPV motors have 14 poles (12 stator slots, 14 magnets). Smaller whoop motors (0802-1103) usually have 12 poles. If in doubt, check the motor manufacturer’s spec sheet. Setting the wrong pole count shifts the notch filter frequencies — a 14-pole motor configured as 12 poles will place notches ~14% off target, filtering the wrong frequency band.

Step 4: Configure RPM Filter Sliders

Go to the PID Tuning tab, then the “Filter Settings” section. You will now see “RPM Filter” sliders:

  • RPM Filter Harmonics: Start at 3. This places notches on the 1st, 2nd, and 3rd harmonics of motor RPM. Most quads need 3 harmonics; noisy builds on bent props might need 4.
  • Minimum Frequency: Start at 100Hz. Notches are only placed above this frequency. Lower values give more filtering but slightly more delay.

Step 5: Verify with Blackbox Logs

Fly a pack with blackbox logging enabled. Open the log in Betaflight Blackbox Explorer or Plasmatree PID Toolbox. Look at the gyro spectrogram — you should see dramatically reduced noise bands at motor RPM frequencies compared to a pre-RPM-filtering log. If noise persists at specific frequencies, add one more harmonic or lower the minimum frequency by 10Hz.

RPM Filter Parameter Reference

Setting Default Conservative (Quieter) Aggressive (Less Delay) What It Changes
RPM Filter Harmonics 3 4 2 Number of harmonic notches per motor
Minimum Frequency 100Hz 80Hz 120Hz Lowest frequency where RPM notches apply
Dynamic Notch Q Factor 200 150 250 How wide each dynamic notch is
Dynamic Notch Min Hz 90 70 110 Lower bound for dynamic notch
Dynamic Notch Max Hz 600 500 700 Upper bound for dynamic notch

Common Mistakes Pilots Make with RPM Filtering

Mistake 1: Enabling bidirectional DShot without updating ESC firmware first.
The consequence: Betaflight expects RPM packets that never arrive. The RPM column stays at 0 and RPM filtering silently does nothing. You are flying with zero RPM filtering while believing it is active.
The fix: Always flash ESCs to a bidirectional-DShot-capable firmware before enabling the feature. Verify with the Motors tab.

Mistake 2: Setting motor poles to the wrong number.
The consequence: Your notch filters are tuned to frequencies that do not match your actual motor RPM harmonics. You are filtering — just filtering nothing useful while still paying the latency cost.
The fix: Look up your motor’s actual pole count from the manufacturer. For 90% of 5-inch motors, it is 14. Do not guess.

Mistake 3: Setting RPM filter harmonics too high with a noisy build instead of fixing the mechanical issue.
The consequence: Every additional harmonic adds a notch filter, which adds phase delay to your gyro signal. At 4+ harmonics, the filtering delay can become noticeable in flight — the quad feels slightly “disconnected.”
The fix: RPM filtering is a software bandage for mechanical noise. If you need 4+ harmonics to clean up your gyro, you have a bent motor bell, damaged bearing, or unbalanced prop. Fix the mechanical problem first.

Mistake 4: Running RPM filtering on DShot150 to “save CPU.”
The consequence: DShot150 has a slower update rate and lower RPM telemetry resolution. Your RPM readings will be less precise at high throttle, and the notch filters will lag behind actual motor speed changes during aggressive throttle transients.
The fix: Use DShot300 minimum. DShot600 for F7/H7 flight controllers. The CPU overhead of bidirectional DShot is negligible on modern hardware.

⚠️ Regulatory Notice: The flight recommendations in this article should be followed in accordance with the latest 2026 drone regulations in your country or region. Always verify local laws regarding flight altitude, no-fly zones, remote ID requirements, and registration before flying. Regulations vary significantly between the FAA (US), EASA (EU), CAA (UK), CAAC (China), and other authorities.

If you are doing RPM filtering as part of a larger tuning effort, our Betaflight PID tuning guide walks through the complete workflow from filters to PID sliders. For deeper noise analysis, the Blackbox Log Analysis guide shows you how to read spectrograms and trace noise to its source.

RPM filtering works best on a flight controller that handles bidirectional DShot with low CPU overhead — modern F7 and H7 boards shine here. If you are building or upgrading, uavmodel.com stocks F7 flight controllers that run RPM filtering at DShot600 with plenty of CPU headroom left for GPS Rescue and OSD.

Leave a Comment

Scroll to Top