When evaluating an Inertial Measurement Unit (IMU) for drone applications, the key parameters are: gyroscope noise density (deg/s/√Hz), accelerometer noise density (mg/√Hz), maximum gyro rate (±deg/s full scale), SPI data rate, and vibration immunity. Secondary considerations include operating temperature range, shock rating, and whether the sensor supports synchronized data-ready interrupts.
Candidate IMUs Compared
| IMU | Gyro Noise (deg/s/√Hz) | Accel Noise (mg/√Hz) | Max Gyro Rate | SPI Speed | Temp Range |
|---|---|---|---|---|---|
| MPU-6000 | 0.005 | 400 | ±2000 dps | 1 MHz | -40 to +85°C |
| MPU-6500 | 0.01 | 300 | ±2000 dps | 1 MHz | -40 to +85°C |
| ICM-20602 | 0.004 | 100 | ±2000 dps | 8 MHz | -40 to +85°C |
| ICM-42688-P | 0.0028 | 70 | ±2000 dps | 24 MHz | -40 to +85°C |
| BMI088 | 0.014 | 230 | ±2000 dps | 10 MHz | -40 to +85°C |
MPU-6000: The Time-Tested Classic
The InvenSense MPU-6000 (now TDK) has been the default IMU for flight controllers since 2013. It's the chip in the original APM, most Naze32 clones, and many first-generation CC3D boards. Its 1 MHz SPI limit is its primary weakness — at 8 kHz gyro sampling you're pushing the absolute edge of what the interface can deliver reliably.
In 2025, the MPU-6000 is considered a legacy part. It's still functional for 4 kHz builds, but for any 8 kHz Betaflight configuration or RPM filtering you want a faster SPI interface. That said, it remains popular in budget builds due to its very low cost and widespread availability.
ICM-20602: The Modern Replacement for MPU-6000
TDK's ICM-20602 was designed as a drop-in upgrade for the MPU-6000/6500. It offers lower gyro noise (0.004 vs 0.005 deg/s/√Hz) and critically, an 8 MHz SPI bus — enabling reliable 8 kHz sampling for Betaflight RPM filtering. The accelerometer noise floor is also significantly better at 100 mg/√Hz vs 400 mg/√Hz on the MPU-6000.
ICM-20602 is currently one of the most popular flight controller IMUs. It's found in Kakute F7, SpeedyBee F405, and hundreds of other current-generation boards. If you're designing a new flight controller today and want a proven, well-supported part, this is an excellent choice.
ICM-42688-P: The New Performance King
The ICM-42688-P is TDK's latest high-performance 6-axis IMU and represents a significant leap. Key advantages:
- 24 MHz SPI: Enables extremely fast data reads with minimal CPU load at 8 kHz
- Lowest gyro noise density: 0.0028 deg/s/√Hz — the best in class for consumer drones
- Built-in anti-aliasing filter: Reduces aliasing from propeller vibration before data hits the MCU
- APEX motion engine: Hardware step detection and tilt detection (useful for payload applications)
- Fifo buffer: 2048-byte FIFO prevents data loss at high sample rates
Betaflight added ICM-42688-P support in version 4.3 and it has quickly become the preferred IMU for premium racing and freestyle controllers. If you're designing a high-end flight controller for 2025, this is the IMU to use.
BMI088: The Vibration-Immune Industrial Choice
Bosch's BMI088 takes a different design philosophy. Rather than minimizing noise floor, it prioritizes vibration immunity. It uses separate ASIC designs for the accelerometer and gyroscope, each with dedicated vibration rejection circuitry. This makes it popular in:
- Industrial UAVs (agricultural sprayers, heavy lift platforms)
- Fixed-wing mapping aircraft with large, vibrating combustion engines
- Any application where the airframe carries significant low-frequency vibration
The trade-off is higher gyro noise density (0.014 vs 0.0028 for ICM-42688-P) and slower SPI at 10 MHz. For FPV racing, BMI088 is overkill and not optimal. For professional UAVs, its vibration immunity is worth the trade-off.
Which IMU for Which Application?
| Application | Recommended IMU | Reason |
|---|---|---|
| FPV Racing (5 inch) | ICM-42688-P | Lowest noise, 24 MHz SPI, best 8 kHz performance |
| FPV Freestyle (5–7 inch) | ICM-20602 or ICM-42688-P | Both work well; 42688-P gives more headroom |
| Long Range (7 inch+) | ICM-20602 | Cost-effective, proven, sufficient for 4 kHz |
| Budget Build | MPU-6000 | Cheapest option, works at 4 kHz |
| Industrial / Agricultural UAV | BMI088 | Best vibration rejection for heavy platforms |
| Fixed-Wing Mapping | BMI088 or ICM-42688-P | Depends on vibration level of airframe |
IMU Placement and Anti-Vibration Mounting
Regardless of which IMU you choose, physical placement matters enormously. The IMU should be mounted as close to the center of gravity as possible, with soft-mount foam between the flight controller board and the frame. Most modern FC boards include built-in soft mounting. If yours doesn't, 3M VHB foam tape or dedicated rubber standoffs are effective substitutes.
Keep the IMU away from motor wires (EMI source) and ensure that no structural resonance frequency of the frame matches the motor electrical frequency. Use Betaflight's RPM notch filter to cancel motor-frequency harmonics in software if needed.
Sourcing Genuine IMU Chips
Counterfeit IMU chips are unfortunately common on platforms like AliExpress. A fake MPU-6000 or ICM-20602 can appear to work initially but will have degraded noise characteristics, higher drift, or unexpected failures at temperature extremes. Always source IMUs from authorized distributors or verified specialty suppliers like UAVCHIP.
Source Genuine IMU Chips for Your Drone Project
UAVCHIP stocks ICM-42688-P, ICM-20602, MPU-6000, MPU-6500, and BMI088. All with full test documentation and batch traceability.
View ICM-42688-P View MPU-6000 Submit RFQFrequently Asked Questions
Yes. MPU-6000 is still supported in Betaflight 4.4. However, its 1 MHz SPI limit means you should run it at 4 kHz gyro rather than 8 kHz to avoid data corruption. RPM filtering still works at 4 kHz with adequate motor telemetry.
ICM-20689 adds a built-in barometer (pressure sensor) on top of the 6-axis IMU. In most drone FC designs, the barometer is a separate component (BMP280, MS5611), so the difference is academic. ICM-20689 is more expensive and less commonly used in FPV applications.
Minor differences. Betaflight auto-detects the IMU type and applies appropriate defaults. The ICM-42688-P enables a different low-pass filter chain and supports higher PID loop rates. You may find that your filter settings need slight tuning when switching between the two — the 42688-P's lower noise floor can allow more aggressive lowpass filter settings.
Yes. ArduPilot supports BMI088 as of version 4.1. It's commonly used in Pixhawk variants (e.g. Pixhawk 4 Mini uses BMI088). Configuration is automatic — ArduPilot detects the IMU at startup.