How Dynamic Gyro Filtering Makes Your FPV Quadcopter Fly Smoother (No More Jello!)
You’re watching your FPV feed, flying through a beautiful forest gap. The video looks crisp and clear. Then you hit a patch of rough air, and suddenly your screen looks like a shaken snow globe—vibrations, wobbles, and that annoying “jello” effect ruining every frame.
That vibration isn’t coming from the wind. It’s coming from your drone itself. Every motor, every propeller, every tiny imbalance creates noise that shakes your gyroscope. And if your flight controller doesn’t handle that noise properly, your drone flies like a drunk bee.
TLDR; Your FPV drone’s flight controller uses a gyroscope (gyro) to detect movement 8,000 times per second. But motors and propellers create high-frequency vibrations that confuse the gyro. Dynamic gyro filtering is a smart software system that identifies those vibrations and removes them in real-time—without slowing down the drone’s response. It’s like noise-cancelling headphones for your drone’s brain. Older drones used static filters that removed too much (making the drone feel sluggish) or too little (leaving jello in the video). Dynamic filtering adapts as you fly, giving you buttery-smooth FPV footage and locked-in handling.
Here’s what you’re going to learn today:
- Why your gyro sees things that aren’t there (and why that makes you crash).
- The difference between static and dynamic filtering (one is a sledgehammer, one is a scalpel).
- How Betaflight’s RPM filtering changed the game (spoiler: it uses your ESC’s data).
- Why “too much filtering” feels worse than “not enough” (lag is the enemy).
- How to tell if your filters are working (without owning an oscilloscope).
Your Gyro Is Lying to You (And It’s Not Its Fault)
Let’s start with the most important thing you need to understand. Your drone’s gyroscope is an incredibly sensitive sensor. It measures angular velocity—how fast the drone is rotating around its roll, pitch, and yaw axes.
A good gyro (like the BMI270 or MPU6000) can detect movements smaller than 0.01 degrees per second. That’s like feeling a gnat land on your shoulder.
Here’s the problem: Your drone’s motors spin at 10,000 to 40,000 RPM. Your propellers spin at the same speed. And those spinning things are never perfectly balanced.
What creates the vibration?
- Unbalanced propellers: One blade is 0.01 grams heavier than the others.
- Bent motor shafts: A tiny bend from a previous crash.
- Loose screws: The frame flexes at specific frequencies.
- Damaged bearings: Gritty, noisy bearings create high-frequency spikes.
These vibrations shake the entire drone. And your ultra-sensitive gyro feels every single one. It sends those vibrations to the flight controller as if they were real drone movements.
Imagine trying to hold a glass of water perfectly still while someone taps the table next to you. Your hand would twitch. That’s what vibrations do to your flight controller.
According to Betaflight’s official filtering guide, raw gyro data contains up to 90% noise and only 10% actual drone movement. The flight controller’s job is to separate the signal (you moving the sticks) from the noise (motor vibrations).
The Old Way: Static Filters (The Sledgehammer)
Back in the early days of FPV (like 2015-2018), flight controllers used static filters. These were simple: a low-pass filter that cut off all vibrations above a certain frequency.
Think of it like putting a piece of tape over the top half of a speaker. You remove the high-pitched noise, but you also remove some of the music.
How Static Filters Work
You set a cutoff frequency, say 100Hz. The filter says: “Anything vibrating faster than 100 times per second? Ignore it.”
This works… sort of. But here’s the catch: Motor vibrations change constantly. A 5-inch drone at hover might vibrate at 150Hz. The same drone at full throttle might vibrate at 300Hz. A static filter set to 150Hz will:
- Remove vibrations at hover (good)
- Remove actual movement at full throttle (bad)
- Feel sluggish at high speed
This is why old FPV drones felt “mushy” when you pushed them hard. The filters were cutting out your stick inputs along with the noise.
The other problem: Static filters don’t adapt to damage. If you bend a propeller in a crash, the vibration frequency changes. Your static filter is still set to the old frequency. Now you’ve got jello in your video and nobody knows why.
The New Way: Dynamic Gyro Filtering (The Scalpel)
Dynamic gyro filtering is a smarter approach. Instead of using a fixed cutoff, the flight controller constantly analyzes the vibration noise and adjusts its filters in real-time.
Here’s how it works, step by step.
Step 1: The Gyro Samples 8,000 Times Per Second
Your flight controller’s gyro runs at a sample rate of 8kHz (8,000 samples per second) on modern hardware. Older drones ran at 1-4kHz. More samples = more data = better filtering.
Step 2: The Flight Controller Analyzes the Noise
The software (Betaflight, KISS, or EmuFlight) runs a Fast Fourier Transform (FFT) on the gyro data. Without getting too mathy, an FFT turns vibration data into a graph showing you which frequencies have the most noise.
Imagine listening to a crowd. You can pick out individual conversations. The FFT does the same thing with vibrations—it finds the loudest frequencies.
Step 3: Dynamic Notch Filters Are Deployed
Here’s the magic. The flight controller creates notch filters—tiny, precise filters that target only the noisy frequencies. Notch filters are like surgical scalpels. They remove a very narrow band of frequencies (say 198-202Hz) and leave everything else untouched.
Dynamic notch filters move automatically as your motor RPM changes. If you punch the throttle and motor vibrations jump from 150Hz to 300Hz, the notch filter follows them.
According to Betaflight’s GitHub filtering documentation, dynamic notch filters can reduce gyro noise by 80-90% without adding any noticeable delay to your control inputs.
Step 4: RPM Filtering Supercharges Everything
The newest innovation is RPM filtering (also called “bidirectional DSHOT” or “RPM telemetry”). Here’s why it’s revolutionary:
Your ESC (Electronic Speed Controller) knows exactly how fast each motor is spinning. That information is sent back to the flight controller over the same wire that controls the motors.
*Now the flight controller doesn’t have to *guess* which frequencies are noise. It knows: “Motor 1 is spinning at 25,000 RPM, which creates vibration at 417Hz.”*
The flight controller creates a notch filter specifically at 417Hz for that motor. And because the ESC reports RPM in real-time, the filter moves instantly when the motor speed changes.
Oscar Liang’s guide to RPM filtering explains that this technology reduced gyro noise by an additional 50-70% compared to dynamic notch filters alone.
What Happens Without Good Filtering? (The Jello Zone)
Let me paint you a picture of three common filtering failures. You’ll recognize all of them if you’ve flown FPV for more than a month.
The Jello Effect
Your HD camera footage looks like the world is made of wiggly Jell-O. Horizons bend. Trees look like they’re melting. This is caused by low-frequency vibrations (50-100Hz) that the gyro passes through to the flight controller and then to your camera mount.
Jello is mostly a camera problem, but it starts with gyro noise. If the flight controller twitches from vibration, the whole drone twitches.
Hot Motors (The Silent Killer)
You land after a 3-minute flight. You touch a motor—OUCH. It’s too hot to hold. This means your filters are too aggressive or configured wrong.
Here’s why: Filtering introduces delay. If your filters add too much delay, the flight controller’s corrections arrive late. The motors overshoot, then correct, then overshoot again. That constant “hunting” creates heat.
Safety reminder: Always check motor temperatures after a new filter setup. If a motor is too hot to touch for 5 seconds, your filters need adjustment.
“Washout” Wobbles
You dive straight down, then pull up hard. The drone wobbles back and forth 3-4 times before settling. This is called prop wash or “washout.” It happens when your filters are removing real movement along with noise.
The flight controller sees the wobble, tries to correct it, but the filters delay the correction. By the time the motors respond, the drone has already wobbled twice.
The Filtering Hierarchy: Which Filters Do What
Modern Betaflight (version 4.3 and newer) has multiple filters working together. Here’s how they stack up.
| Filter Type | Purpose | Delay Added | When to Adjust |
|---|---|---|---|
| Gyro Lowpass Filter 1 | Removes high-frequency noise (above 300-500Hz) | Low | Rarely change |
| Gyro Lowpass Filter 2 | Secondary high-frequency removal | Low | Rarely change |
| Dynamic Notch Filter | Tracks motor RPM and removes vibration harmonics | Very Low | Auto (leave default) |
| RPM Notch Filters | Removes fundamental motor frequency (most noise) | Almost zero | Auto (enable in config) |
| D-Term Lowpass Filter | Removes noise from the D-term (derivative) | Medium | Adjust if motors are hot |
| D-Term Notch Filter | Targets specific noise in D-term | Medium | Rarely change |
Source: Betaflight wiki filter configuration
The most important takeaway: Enable RPM filtering. It adds almost no delay and removes the most noise. It’s the single biggest improvement to FPV flight in the last 5 years.
Real-World Comparison: No Filter vs. Static vs. Dynamic
Let me show you what each filtering method actually feels like when you’re flying.
No filtering (raw gyro): The drone is unflyable. It twitches, shakes, and oscillates constantly. The motors scream. The video is unwatchable. You crash within 10 seconds.
Static filters only (old school): The drone feels locked-in at hover but “mushy” during hard maneuvers. Prop wash wobbles last 2-3 seconds. Motors run warm (120-130°F). Video has occasional jello at high throttle.
Dynamic notch filters only: The drone feels responsive. Prop wash wobbles last 0.5-1 second. Motors run cool (100-110°F). Video is mostly jello-free except at specific throttle positions where noise sneaks through.
Dynamic notch + RPM filtering (current best): The drone feels telepathic. Your stick inputs happen instantly. Prop wash is almost invisible—the drone corrects so fast you don’t see the wobble. Motors run cool. Video is glass-smooth at all throttle positions.
“RPM filtering made my 3-year-old beater quad feel like a brand new racing drone. I didn’t believe the hype until I tried it.” — Reddit FPV forum user
How to Set Up Dynamic Gyro Filtering (The Easy Way)
You don’t need to be a software engineer to get good filtering. Here’s the simple process for Betaflight (the most popular FPV firmware).
Prerequisites:
- Betaflight 4.3 or newer
- ESCs that support bidirectional DSHOT (most modern ESCs do—BLHeli_32, BLHeli_S with Bluejay firmware)
- A USB cable and Betaflight Configurator
Step-by-Step Setup:
Step 1: In Betaflight Configurator, go to the “Motors” tab. Check “Bidirectional DSHOT” at the bottom. Save and reboot.
Step 2: Go to the “Configuration” tab. Under “Filtering,” set “Gyro Lowpass Filter 1” to “Auto” and “Gyro Lowpass Filter 2” to “Auto.” Set both to “PT1” (the best filter type).
Step 3: Enable “Dynamic Gyro Filter” (it’s a checkbox).
Step 4: Go to the “PID Tuning” tab. Under “RPM Filtering,” set the number of “Motor Poles” (usually 14 for most motors—check your motor specs).
Step 5: Leave everything else on default. Seriously. Betaflight 4.3+ has excellent default filter settings.
Step 6: Click “Save,” unplug your drone, and go fly.
That’s it. For 95% of pilots, these defaults will work better than any manual tuning you could do.
JB’s RPM filtering setup video (Joshua Bardwell) walks through this process visually if you get stuck.
When to Manually Adjust Filters (Advanced)
If you’re chasing that last 5% of performance, here’s what to tweak.
Problem: Motors are hot after flight.
Fix: Lower the “D-Term Lowpass Filter” frequency from 250Hz to 200Hz. This removes more D-term noise, which reduces motor heating. (But it adds a tiny bit of delay.)
Problem: Prop wash wobbles are still visible.
Fix: Reduce the “Dynamic Notch Filter Width” from 70% to 50%. This makes the notch filters narrower (more precise), but only works if your RPM telemetry is accurate.
Problem: The drone feels “numb” or unresponsive.
Fix: Increase “Gyro Lowpass Filter 1” from Auto to a manual value like 400Hz. This allows more high-frequency signal to pass through. (But you’ll also pass through more noise—tradeoff.)
Problem: You see specific jello lines in your HD footage at certain throttle positions.
Fix: Use Betaflight’s “Filter Debug” mode and Blackbox logging to identify the exact frequency, then add a static notch filter manually. This is advanced. FPV Flight Club’s tuning guide explains Blackbox analysis.
How Filtering Affects Gyro Noise and Delay
This chart shows the tradeoff between removing noise (good) and adding delay (bad). Dynamic filtering hits the sweet spot.
📊 Filtering Effectiveness vs. Delay Penalty
Dynamic + RPM filtering removes 90% of noise while adding only 3-5ms of delay—invisible to human reflexes.
Source: Betaflight development team performance benchmarks
FAQ: Your Dynamic Filtering Questions Answered
1. Does dynamic filtering work on any drone?
It works best on drones running Betaflight 4.3+ with bidirectional DSHOT ESC telemetry. Older flight controllers (F3 or F4 without enough processing power) may struggle with the extra calculations. F7 and H7 processors handle it easily.
2. Will filtering fix a badly balanced propeller?
No. Filtering removes the effect of vibrations, not the cause. A severely unbalanced propeller will still make noise, heat your motors, and reduce flight time. Always balance your props first, then tune filters.
3. What’s the difference between gyro filtering and D-term filtering?
Gyro filtering cleans the sensor data before the flight controller uses it. D-term filtering cleans the output of the D calculation (the “derivative” or future prediction). D-term is more sensitive to noise, so its filters are usually more aggressive.
4. Can too much filtering damage my motors?
Yes. Excessive filtering adds delay. Delay causes the flight controller to “fight itself” as it tries to correct outdated information. This creates high-frequency oscillations that overheat motors. If your motors are hot after adding filters, reduce filtering.
5. Do DJI drones use dynamic gyro filtering?
Yes, but it’s hidden. DJI’s flight controller software (not user-accessible) uses advanced filtering algorithms. That’s why DJI drones feel so smooth out of the box. FPV pilots need manual access because we push our drones much harder than camera platforms.
6. How do I know if RPM filtering is working?
In Betaflight, go to the “Power” tab. If “RPM Telemetry” shows non-zero values for all four motors, it’s working. You can also enable “RPM Filter Debug” in the Configuration tab—the notch filters will visibly move as you change throttle.
7. Is there any downside to enabling all the filters?
Processing power. On an older F4 flight controller, enabling every filter can max out the CPU (above 50% usage is risky). Check your “CPU Load” in the Betaflight Setup tab. Keep it under 40% for reliable flight. F7 and H7 controllers have plenty of headroom.
Have you tried RPM filtering on your FPV quad? Did it feel like a completely new drone? Drop your before/after experience in the comments—I want to hear the “wow” moments. And if this guide finally made filtering make sense, share it with a flying buddy who keeps complaining about jello but refuses to update their Betaflight version.