Your new flight controller feels “loose” in the air compared to your old build, even with the same PID tune copied over. The culprit is almost certainly the gyro — different gyro chips have dramatically different noise floors, and Betaflight’s dynamic notch and RPM filter behavior changes depending on which one you’re running. Here’s how to pick the right gyro for your build and tune around its characteristics.
Why the Gyro Chip Matters More Than You Think
The gyroscope is the single most important sensor on your flight controller. It measures angular velocity on three axes thousands of times per second. Every PID loop calculation starts with this data. If the gyro signal is noisy, every downstream calculation — PID error, D-term, RPM filter placement — inherits that noise.
Three gyro chips dominate the FPV market in 2026:
– MPU6000: The workhorse. SPI-connected, 16-bit resolution, 8 kHz native sampling. Available on mid-range and budget flight controllers. Noise floor around 0.05-0.08 dps/√Hz.
– ICM-42688-P: The precision option. 20-bit resolution, 32 kHz capable. Significantly lower noise floor (0.02-0.03 dps/√Hz). Found on premium flight controllers like the T-Motor F7 and Foxeer F722.
– BMI270: Bosch’s entry. 16-bit, 6.4 kHz max. Noise floor around 0.04-0.05 dps/√Hz. Common on AIO boards and whoop controllers. Good noise rejection but lower update rate limits filtering options.
Step-by-Step: Choosing and Tuning for Your Gyro
Step 1: Identify Your Gyro
In Betaflight Configurator, go to the CLI tab and type status. Look for the gyro line. If you see GYRO=MPU6000, GYRO=ICM42688P, or GYRO=BMI270, that’s your chip. If you see GYRO=ICM20689 or GYRO=MPU6500, you have an older chip — consider replacing the flight controller if you’re experiencing persistent mid-throttle oscillations that filtering can’t clean up.
Step 2: Verify Gyro Alignment
Type tasks in CLI and check the “GYRO” line. The sample rate should match your PID loop frequency. For the ICM-42688, you’ll see 3.20 kHz or 8.00 kHz depending on your settings. For the MPU6000, 8 kHz is the ceiling. If the gyro rate is lower than expected, check your PID loop frequency setting on the Configuration tab.
Step 3: Noise Floor Assessment
The noise floor determines how much filtering you need — and filtering adds latency. Less filtering = better flight feel but more noise artifacts. More filtering = smoother signal but sluggish response.
For each gyro, run a motor test in Betaflight with props off:
1. Go to the Motors tab
2. Enable “I understand the risks”
3. Run all motors at 30% using the master slider
4. Go to the Sensors tab and observe the raw gyro traces
What you’re looking for: the amplitude of the noise spikes relative to the signal. On an MPU6000 at 30% throttle, expect ±2-3 units of noise on the gyro trace. On an ICM-42688, expect ±0.5-1 unit. This factor-of-3 difference is why ICM-42688 builds can run lower filtering with cleaner results.
Step 4: Configure Dynamic Notch Appropriately
The dynamic notch filter tracks the motor RPM frequency and cuts noise at that exact frequency. How you configure it depends on the gyro:
- MPU6000: Set Dynamic Notch Count to 3. The higher noise floor means you need more notch filters to catch harmonics. Set Dynamic Notch Q to 200 — narrower notches avoid eating into the useful signal band.
- ICM-42688: Dynamic Notch Count can be set to 1 or 2. The clean signal means one notch at the fundamental motor frequency is often sufficient. Set Q to 250 for an even tighter filter.
- BMI270: Dynamic Notch Count of 2. The lower sample rate (6.4 kHz) means you have less frequency headroom for notches. Keep the Dynamic Notch Max Hz below 500 to avoid aliasing.
Step 5: Adjust Gyro Lowpass Filters
The gyro lowpass filters are your first line of defense:
- MPU6000: Gyro Lowpass 1 = Dynamic, Gyro Lowpass 1 Min Hz = 200, Max Hz = 500. Gyro Lowpass 2 = BiQuad, 250 Hz. This combination catches the broadband noise that the MPU6000 produces.
- ICM-42688: Gyro Lowpass 1 = Dynamic, Min Hz = 250, Max Hz = 700. Gyro Lowpass 2 = BiQuad, 350 Hz. You can push these higher because the signal is cleaner — this means less filtering latency and more responsive flight.
- BMI270: Gyro Lowpass 1 = Dynamic, Min Hz = 180, Max Hz = 450. Gyro Lowpass 2 = BiQuad, 200 Hz. The lower ceiling reflects the 6.4 kHz sample rate limit.
Gyro Comparison Table
| Feature | MPU6000 | ICM-42688-P | BMI270 |
|---|---|---|---|
| Resolution | 16-bit | 20-bit | 16-bit |
| Max Sample Rate | 8 kHz | 32 kHz | 6.4 kHz |
| Noise Floor (dps/√Hz) | 0.05-0.08 | 0.02-0.03 | 0.04-0.05 |
| SPI Clock | 20 MHz | 24 MHz | 10 MHz |
| Filtering Needed | Moderate-Heavy | Light | Moderate |
| Latency Penalty | +1.5-2.5ms | +0.5-1.0ms | +1.5-2.0ms |
| Anti-Aliasing Filter | External required | Internal | Internal |
| Best For | Budget builds, general freestyle | Racing, cinematic, clean builds | AIO boards, whoops, ultralight |
| Temperature Drift | Moderate | Low | Low |
| Price Tier | $25-40 FC range | $45-70 FC range | $30-50 FC/AIO range |
What Pilots Get Wrong About Gyro Selection
Mistake 1: Assuming the gyro doesn’t matter if you use RPM filtering. RPM filtering helps, but it only removes motor-frequency noise. The gyro’s broadband noise floor (random noise across all frequencies) passes straight through RPM filters. A noisy gyro still requires aggressive lowpass filtering, which adds latency. RPM filtering and gyro quality are complementary — not interchangeable.
Mistake 2: Copy-pasting PIDs between quads with different gyros. A tune developed on an MPU6000 flight controller uses more filtering to suppress the higher noise floor. Copy that same tune to an ICM-42688 build, and the extra filtering is fighting noise that doesn’t exist — you’re adding latency for no reason. Tune for the specific gyro.
Mistake 3: Using D-term D Min too aggressively on MPU6000 builds. D-term amplifies gyro noise. On noisy gyros, high D-term values introduce motor heat and oscillations that aren’t visible in the OSD gyro trace. The MPU6000’s noise floor means D-term values above 35-40 on pitch/roll need careful blackbox verification.
Mistake 4: Ignoring physical vibration that swamps gyro differences. Even an ICM-42688 can’t fix a bent motor bell, chipped prop, or loose stack screw. Before blaming the gyro, check the physical state of your build. A clean build with an MPU6000 flies better than a rattling build with an ICM-42688.
Mistake 5: Buying a flight controller based on processor (F4/F7/H7) instead of gyro. The processor determines how many UARTs and what PID loop speed you can run. But the gyro determines flight feel. Between an F7 with an MPU6000 and an F4 with an ICM-42688, the F4 with the better gyro will fly cleaner in most cases.
⚠️ 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.
Gyro filtering and PID tuning go hand in hand. Our FPV Gyro Filtering guide covers the full filtering pipeline. For analyzing noise patterns in flight, the Betaflight Blackbox Log Analysis guide walks through gyro trace interpretation.
Flight controllers with the ICM-42688-P gyro like the T-Motor F7 Pro deliver the cleanest gyro signal in the sub-$80 price range. The 20-bit resolution and low noise floor let you run lighter filtering for a more connected, responsive feel — noticeable immediately if you’re coming from an MPU6000 board. Check the uavmodel.com Flight Controller section for current stock.
