# Betaflight RPM Filtering Setup: Bidirectional DShot, Dynamic Notch, and Gyro Filters
RPM filtering is arguably the single biggest advancement in Betaflight tuning since PID controllers went F4. By knowing the exact RPM of each motor in real time, the flight controller can notch-filter motor noise with surgical precision — eliminating the need for broad, latency-inducing gyro filters.
This guide walks through the complete RPM filtering setup, from ESC firmware to Betaflight configuration, so you can unlock cleaner gyro data and sharper flight performance.
## How RPM Filtering Works
Traditional gyro filtering uses fixed low-pass and notch filters that attenuate all frequencies above a cutoff — whether they are motor noise or real stick inputs. This inherently increases latency.
RPM filtering works differently. Each ESC sends its motor’s exact RPM to the flight controller via bidirectional DShot telemetry. Betaflight calculates the fundamental motor frequency (RPM / 60) and its harmonics, then applies narrow notch filters that track those frequencies in real time.
The result: you remove only motor noise, not flight data. Filter latency drops dramatically, and the quad feels more connected.
## What You Need for RPM Filtering
| Component | Requirement |
|———–|————|
| Flight Controller | F4 or F7 with Betaflight 4.1+ |
| ESC Protocol | DShot300 or DShot600 (not DShot150) |
| ESC Firmware | BLHeli_32 (native), Bluejay (open source), or AM32 (Bidirectional DShot enabled) |
| Motor Setup | DShot bidirectional telemetry enabled in Betaflight |
**Note**: BLHeli_S ESCs (non-32) require flashing to Bluejay firmware for bidirectional DShot support. BLHeli_32 and AM32 support it natively.
## Step 1: Flash ESC Firmware (if needed)
If you have BLHeli_S ESCs, flash Bluejay:
1. Download the **ESC Configurator** (esc-configurator.com)
2. Connect your flight controller via USB (battery plugged in with props OFF)
3. Select the correct COM port and click “Read Setup”
4. Select all four ESCs and choose Bluejay firmware (latest version, typically 0.19+)
5. Set PWM Frequency to 48kHz for most builds (96kHz for whoops)
6. Flash and verify all four ESCs report the same firmware version
For BLHeli_32 ESCs, you are already ready — no flash needed.
## Step 2: Enable Bidirectional DShot in Betaflight
1. Open Betaflight Configurator → **Configuration** tab
2. Under “ESC / Motor Features”, set ESC Protocol to **DSHOT300** or **DSHOT600**
3. Enable **”Bidirectional DShot”** (slider to ON)
4. Click **Save and Reboot**
## Step 3: Verify RPM Telemetry
1. Go to the **Motors** tab
2. Plug in a battery (PROPS OFF!)
3. Spin up each motor individually using the sliders
4. Check the “RPM” column — each motor should display real RPM values
| Motor | Expected RPM at ~1050 throttle (no props) |
|——-|——————————————|
| 5-inch 1700KV (6S) | ~8,000 – 10,000 |
| 5-inch 1950KV (6S) | ~9,000 – 11,500 |
| 3-inch 4000KV (4S) | ~7,000 – 9,000 |
If RPM reads zero or errors, re-check ESC firmware and the Bidirectional DShot toggle.
## Step 4: Configure RPM Filters
Navigate to the **PID Tuning** tab → **Filter Settings**:
### Enable RPM Filters
– **Gyro RPM Filter Harmonics**: Set to 3 (recommended) — filters the fundamental motor frequency plus 2nd and 3rd harmonics
– **Minimum RPM Filter Frequency**: 100 Hz (default)
### Relax Gyro Lowpass Filters
With RPM filters active, you can drastically relax the traditional gyro filters:
| Filter | Without RPM | With RPM (Recommended) |
|——–|————-|————————|
| Gyro Lowpass 1 (Dynamic) | 250-300 Hz | 400-500 Hz |
| Gyro Lowpass 1 (Static) | 250-300 Hz | Off or 500 Hz |
| Gyro Lowpass 2 (Static) | 500 Hz | Off |
| Gyro Notch 1 | 400 Hz | Off |
| Gyro Notch 2 | 200 Hz | Off |
### D-Term Lowpass
– **D-Term Lowpass 1 (Dynamic)**: 100-150 Hz (unchanged)
– **D-Term Lowpass 2 (Static)**: 150-200 Hz (unchanged)
The D-term filters remain conservative because RPM filtering primarily addresses gyro noise, not D-term noise.
## Step 5: Check Motor Noise in Blackbox
After setting up RPM filters, take a test flight and log some Blackbox data:
1. Fly a full pack with varied throttle (hover, punchouts, freestyle)
2. Analyze in **Betaflight Blackbox Explorer** or **Plasmatree/PID Toolbox**
3. Check the gyro spectrogram — you should see clean lines with minimal noise at motor frequency harmonics
4. Verify that motor traces are smooth without oscillation
If you still see noise spikes at the motor frequencies, you may have mechanical issues (bent motor bell, loose stack, bad prop) rather than filter problems.
## Dynamic Notch Filter: The Final Touch
The Dynamic Notch filter runs alongside RPM filters and catches residual noise:
– **Dynamic Notch Width**: 0-100% (start at 0%, increase if noise persists)
– **Dynamic Notch Q**: 100-300 (higher = narrower notch, less phase delay)
– **Dynamic Notch Min/Max Hz**: 100/600 Hz default
With RPM filters enabled, many pilots run Dynamic Notch at low width (0-10%) or disable it entirely. The RPM filters handle most of the work.
## Common RPM Filtering Issues
| Problem | Cause | Fix |
|———|——-|—–|
| RPM reads 0 on all motors | Bidirectional DShot not enabled | Toggle slider in Configuration tab, save |
| RPM reads 0 on one motor | ESC firmware mismatch | Re-flash all ESCs to same version |
| Motors twitch at idle | Minimum RPM filter frequency too low | Increase to 120-150 Hz |
| Excessive D-term noise | Gyro filters too relaxed | Lower Gyro Lowpass 1 to 350-400 Hz |
| Error rate on ESC telemetry | Loose signal wire | Check JST connector or solder joint |
## Product Recommendation
RPM filtering demands ESCs with reliable bidirectional telemetry. The **[BLHeli_32 ESCs at uavmodel.com](https://uavmodel.com)** support native bidirectional DShot out of the box, with no firmware flashing required. Pair them with a quality F7 flight controller for the cleanest RPM filter experience.
## RPM Filtering Setup Walkthrough
## Frequently Asked Questions
### Do I still need soft mounting with RPM filters?
Soft mounting helps but is less critical with RPM filtering. The narrow tracking notches eliminate motor noise so effectively that minor frame resonance is often tolerated. Still, a soft-mounted stack reduces the noise floor and lets you run even more relaxed filters.
### Can I use RPM filters with DShot150?
No. Bidirectional DShot requires DShot300 or DShot600 because DShot150 does not leave enough time in the frame for telemetry data return. Always use at least DShot300.
### Will RPM filtering fix a bent motor?
No. RPM filtering removes noise at the motor’s fundamental frequency, but a bent motor introduces noise at lower, non-harmonic frequencies. Mechanical issues always need mechanical fixes first.
### Do I need to re-tune PIDs after enabling RPM filters?
You may want to. With cleaner gyro data, you can often increase P and D gains slightly for sharper response without introducing oscillation. Fly first with your existing tune, then experiment with small gain increases.
