Betaflight RPM Filter and Bidirectional DShot Guide: Setup, Tuning, and Troubleshooting

# Betaflight RPM Filter and Bidirectional DShot Guide: Setup, Tuning, and Troubleshooting

If your FPV drone has mid-throttle oscillations, hot motors, or propwash wobble that PID tuning alone cannot fix, the problem may be in your noise filtering — not your tune. Betaflight RPM filtering, paired with bidirectional DShot, is the single most impactful filtering upgrade you can make. This guide explains what RPM filters do, how to enable them step by step, and how to diagnose and fix common RPM filter issues.

## What Are RPM Filters and Why Do They Matter?

Traditional gyro filtering uses low-pass and notch filters operating at fixed or dynamic frequencies based on gyro data alone. RPM filters go one step further: they use the actual motor RPM data from ESC telemetry to precisely notch out motor-generated noise at its exact frequency. The result is cleaner gyro data, lower filter latency, and motors that run cooler because the PID loop isn’t chasing phantom noise.

| Filter Type | Input Source | Precision | Latency Impact |
|—|—|—|—|
| Static Gyro Notch | Gyro only | Approximate (motor pole count × RPM) | Moderate |
| Dynamic Gyro Notch | Gyro + FFT analysis | Good (tracks peak noise) | Higher |
| RPM Filter (Bidirectional DShot) | ESC telemetry + Gyro | Excellent (exact RPM × harmonics) | Lowest |

## Prerequisites for RPM Filtering

Before you begin, confirm your hardware supports bidirectional DShot:

– **ESC Protocol**: BLHeli_32 (version 32.7+), BLHeli_S with Bluejay firmware, or AM32
– **Flight Controller**: Any F4, F7, or H7 running Betaflight 4.1 or newer
– **Motor Protocol**: DShot300 or DShot600 selected in Betaflight Configuration tab

If you’re flying older BLHeli_S ESCs without Bluejay, upgrade them now — the difference in flight feel is dramatic.

## Step-by-Step Setup in Betaflight

### 1. Flash or Verify ESC Firmware

1. Download the [ESC Configurator](https://esc-configurator.com/) (for BLHeli_32 or Bluejay)
2. Connect your flight controller via USB and plug in a LiPo
3. Click “Read Setup” and verify the firmware version
4. For BLHeli_S ESCs, flash the latest Bluejay firmware with bidirectional DShot enabled

### 2. Enable Bidirectional DShot in Betaflight

1. Open the **Configuration** tab
2. Under “ESC/Motor Features,” set **Motor Protocol** to DShot300 or DShot600
3. Toggle **Bidirectional DShot** to ON
4. Click Save and Reboot

### 3. Configure RPM Filters

1. Navigate to the **PID Tuning** tab and open **Filter Settings**
2. Enable these RPM filter sliders:

| Setting | Recommended Value | Purpose |
|—|—|—|
| RPM Filter Harmonics | 3 | Covers first 3 motor noise harmonics |
| Min Frequency | 100 Hz | Floor for filtering (below this, filters disable) |
| Gyro RPM Filter Q | 3.0 (default) | Lower = wider notch; higher = narrower |
| DTerm RPM Filter Q | 2.5 (default) | Slightly wider for D-term noise |

3. Disable the **Gyro Notch Filter 1** and **Gyro Notch Filter 2** — RPM filters replace them
4. Leave the **Dynamic Notch Filter** enabled as a safety net
5. Save and Reboot

## Common RPM Filter Issues and Fixes

### Error: “RPM Filter: Motor X has no valid data”

**Causes:**
– ESC firmware doesn’t support bidirectional DShot
– Motor protocol set to Oneshot/Multishot instead of DShot
– Loose signal wire or cold solder joint on ESC telemetry pad

**Fix:** Re-flash ESC firmware, verify the signal wire continuity, and confirm DShot300 or DShot600 is selected.

### Motors Run Hot After Enabling RPM Filters

This is counterintuitive — RPM filters should make motors run cooler. If they’re hotter:

1. Lower D-Term RPM Filter Q to 2.0 (wider notch)
2. Confirm your motor pole count is correct in Betaflight (most 22xx/23xx motors are 14-pole)
3. Check that RPM data is actually being received (Motors tab shows “R” values next to each motor when armed)

### Propwash Oscillations Persist

RPM filters handle motor noise, not propwash. Combine RPM filters with:
– Feedforward transition tuning (lower the transition point to 0.3-0.5)
– I-Term Relax set to 15-20
– TPA starting at 1300-1400 throttle

## Recommended Hardware

For a reliable bidirectional DShot setup, the [SpeedyBee F405 V4 Flight Controller Stack](https://uavmodel.com) at uavmodel.com includes a 55A 4-in-1 BLHeli_32 ESC pre-configured for RPM filtering — plug in and enable with one toggle.

Leave a Comment

Scroll to Top