<p>It's not superior, it's just good enough, cheap enough and may be more noise resistant than ICM20602. </p>

<p>There's a bunch of flight controllers with dual IMUs onboard. For example, Lumenier Lux F7 has MPU6000 and ICM20602, you can choose which one to use. SP Racing F7 and H7 series use two ICM20602s fused together. </p>

<p>Also, there's BrainFPV Radix which uses BMI160 from Bosch Sensortec. It should, in theory, provide a more clean and noise resistant signal without the need for complicated software filtering. </p>

<p>Refresh rate is another thing in itself. Things start to get worse with higher refresh rates: you get all sorts of noises internal and external to the IMU, which can negatively affect motor speed regulation, which in turn might make motors run hot or even fry. Also, higher refresh rates require more processing power to filter the noise. Running IMU at 8+ kHz with RPM filtering gobbles up CPU pretty quick to the point that the quad even refuses to arm.</p>

CC BY-SA 4.0
2020-04-21T17:52:51.100Z
That’s interesting - thanks!
Drones and Whatnot
CC BY-SA 4.0
2023-08-29T12:40:22.243Z
I generally agree with this answer, except for the part about the refresh rate. That's incorrect, pretty much nothing gets worse with higher refresh rate and even Shanon information theory tells us that a fast noisy signal is frequently better than a slow perfect one (how well could you ride a bike if you had exactly one perfect position update per second?). The issue isn't the update rate, it's poor algorithms or tuning parameters.
Kenn Sebesta
CC BY-SA 4.0
2020-04-20T11:53:24.793Z
2020-04-20T13:57:26.140Z
2020-04-20T13:57:26.140Z
naorunaoru
<p>There has been a good deal of discussion on this topic, and it has been no small source of conflict between several of the main firmware players in the high-performance DIY drone flight controller world.  The short version is that based on evidence gathered from flight recorder logs, the ICM series gyros are more sensitive to electrical and mechanical noise than the MPU6000 gyro.  </p>

<p>One of the major issues is that the MPU6000 <a href="https://blog.cdiweb.com/2017/07/21/tdk-invensense-nrnd-replacement-parts/" rel="noreferrer">is considered NR/ND</a> (Not recommended for new designs) since 2017-ish, and there is some question as to how much longer it will be available.  This makes manufacturers hesitant about using it in new designs.</p>

<p>The core of the argument around the ICM gyro has to do with the DLPF bypass mode that enables 32 Khz read rates (<a href="https://invensense.tdk.com/wp-content/uploads/2016/10/DS-000176-ICM-20602-v1.0.pdf" rel="noreferrer">see section 9.17 in the datasheet for the ICM 20602</a>). There is one school of thought that this mode simply gives lower-level access to the same data that is used by the internal DLPF to create the 8 Khz data output, and external software filters can do a better job than the internal DLPF used to create the hardware-given 8 Khz data.  There seems to be a good deal of support however that this is not the case. It appears that moving the gyro into 32 Khz read mode actually reduces the fundamental accuracy of the readings being taken. Mark Spatz has done a good deal of work <a href="https://www.facebook.com/UAVTech1/posts/2190748527852936" rel="noreferrer">logging and analyzing data recordings</a> from multiple gyros with the conclusion that 32 Khz in experimental mode is producing data that is both different and dramatically less accurate than when not in experimental mode, though why disabling the internal DLPF would have this impact still remains a question.</p>

<p>Even taking this into account, the ICM series gyros can perform essentially as well as the MPU600 when care is taken. Many of the issues seen with the ICM gyros result from poorly executed filtering on the 3.3v power supply. See <a href="https://www.imeko.org/publications/wc-2012/IMEKO-WC-2012-TC4-P27.pdf" rel="noreferrer">this research article</a> for an exploration of why this is a problem. Essentially if the power supply lines can be kept clean, and the internal DLPF is kept on, the gyro seems to perform decently. </p>

<p>All that being said, having been involved in support in the drone industry for a while though, my personal experience has been that flight controllers that use the ICM gyro have a higher failure rate and a higher chance of having issues than flight controllers with the MPU6000. I have a shelf full of flight controllers I pulled due to ICMs that became too sensitive to tune, and much larger number of folks I've helped debug with the same issue, but I've not had that issue with MPU6000. While this is purely anecdotal, it aligns with the experience of enough pilots that it has become a common thought in the DIY drone hobby, hence the reason why this question even came up.</p>

CC BY-SA 4.0
2020-08-01T23:38:12.697Z
Apparently I missed this answer when it came in - so a belated thank you for answering!
Drones and Whatnot
CC BY-SA 4.0
2023-09-15T11:57:15.150Z
Is this knowledge still the state of the art, now, more than 3 years, later @QuadMcFly? Or have there been new insights into the ICM gyro's internal workings?
Sixtyfive
CC BY-SA 4.0
2023-09-16T21:38:55.363Z
There are some newer gyros that have come out that are being experimented with, but the MPU6000 still seems to be the most noise resistant. The problem we're running into now is that a lot of the MPU6000s that are still available are seconds or old stock, so the QC on the MPU6000 boards has dropped a bit. Unfortunately that results in a bit higher failure rate than we used to see with them. The two current alternatives are the BMI270 and the ICM42688p which both have their compromises.
QuadMcFly
CC BY-SA 4.0
2023-09-16T21:43:49.643Z
The BMI270 only has a 3.2 khz refresh rate, and that can complicate tuning some of the filter settings compared to an 8khz loop, but it can be dialed in pretty well. It's more finicky than the MPU6000, but once you've got it, it's not bad. It just different enough that a lot of folks have trouble tuning it, since it takes a slightly different approach. People tend to not realize that over filtering can cause as many problems as under filtering, and so folks tend to go the wrong direction on the filters and never get any better results.
QuadMcFly
CC BY-SA 4.0
2023-09-16T21:47:24.617Z
The ICM42688p seems to be extremely reliant on clean 3.3v power, and a lot of the less expensive boards that used them seemed to have trouble as a result of poorly implemented power regulation. There was also some issues with the Betaflight code implementation of the IMU, some registers set that resulted in less than ideal performance, but that should be all fixed now as of Betaflight 4.4. With a well manufactured board and the latest code the ICM42688p gives good results, but again it's somewhat picky so if anything goes wrong on the power regulation side you could end up with noise issues.
QuadMcFly
CC BY-SA 4.0
2020-04-20T13:02:05.653Z
2020-04-20T13:58:20.023Z
2020-04-20T13:58:20.023Z
QuadMcFly
<p>I have seen people say that the MPU6000 is the superior gyro chip, even though the ICM chip has a faster refresh rate and is technically superior in any other use.</p>

<p>Why is it better to have a lower refresh rate on a drone’s gyro?</p>

CC BY-SA 4.0
2020-04-20T13:57:23.257Z
I think you mean gyro, not accelerometer?
QuadMcFly
CC BY-SA 4.0
2020-04-20T15:00:42.423Z
@QuadMcFly yep - I was reading that post about 3 axis vs 6axis gyros and I guess I had accelerometer stuck in my head - thanks for pointing it out!
Drones and Whatnot
CC BY-SA 4.0
2020-04-20T16:58:41.597Z
Technically the chip is an IMU (inertial motion unit) that contains both an accelerometer and a gyroscope, but for what we're doing we care more about the gyro. The accelerometer is typical read/updated at a lower rate than the gyro.
QuadMcFly
CC BY-SA 4.0
2020-07-31T20:25:47.803Z
Technically, technically it's an Inertial Measurement Unit. ;) They're also gyrometers, not gyroscopes, and don't get me started on "Degree of Freedom" vs "Axis" marketing.

Putting my pet peeve pedantry aside, @QuadMcFly your answer below is excellent.
Kenn Sebesta
CC BY-SA 4.0
2020-09-24T17:42:28.870Z
I knew that :P I'll blame it as a typo. I think I was mixing MPU (Motion Processing Unit) and IMU (Inertial Measurement Unit)!  And yeah the whole degree thing is dumb marketing and meaningless from any real standpoint for sure.
QuadMcFly
<hardware><comparison><imu>
Why is an MPU6000 more well suited for drones than an ICM IMU?
Drones and Whatnot
# Why is an MPU6000 more well suited for drones than an ICM IMU?

(Asked by: username_0 on 2020-04-20)

I have seen people say that the MPU6000 is the superior gyro chip, even though the ICM chip has a faster refresh rate and is technically superior in any other use.

Why is it better to have a lower refresh rate on a drone’s gyro?

**Tags:** hardware, comparison, imu
> **Comments:**
> **username_1**: I think you mean gyro, not accelerometer?  
> **username_0**: @QuadMcFly yep - I was reading that post about 3 axis vs 6axis gyros and I guess I had accelerometer stuck in my head - thanks for pointing it out!  
> **username_1**: Technically the chip is an IMU (inertial motion unit) that contains both an accelerometer and a gyroscope, but for what we're doing we care more about the gyro. The accelerometer is typical read/updated at a lower rate than the gyro.  
> **username_2**: Technically, technically it's an Inertial Measurement Unit. ;) They're also gyrometers, not gyroscopes, and don't get me started on "Degree of Freedom" vs "Axis" marketing.  Putting my pet peeve pedantry aside, @QuadMcFly your answer below is excellent.  
> **username_1**: I knew that :P I'll blame it as a typo. I think I was mixing MPU (Motion Processing Unit) and IMU (Inertial Measurement Unit)!  And yeah the whole degree thing is dumb marketing and meaningless from any real standpoint for sure.  

---

## 2 answers

### Answer by username_3 on 2020-04-20. Score: 7

It's not superior, it's just good enough, cheap enough and may be more noise resistant than ICM20602.

There's a bunch of flight controllers with dual IMUs onboard. For example, Lumenier Lux F7 has MPU6000 and ICM20602, you can choose which one to use. SP Racing F7 and H7 series use two ICM20602s fused together.

Also, there's BrainFPV Radix which uses BMI160 from Bosch Sensortec. It should, in theory, provide a more clean and noise resistant signal without the need for complicated software filtering.

Refresh rate is another thing in itself. Things start to get worse with higher refresh rates: you get all sorts of noises internal and external to the IMU, which can negatively affect motor speed regulation, which in turn might make motors run hot or even fry. Also, higher refresh rates require more processing power to filter the noise. Running IMU at 8+ kHz with RPM filtering gobbles up CPU pretty quick to the point that the quad even refuses to arm.

> **Comments:**
> **username_0**: That’s interesting - thanks!  
> **username_2**: I generally agree with this answer, except for the part about the refresh rate. That's incorrect, pretty much nothing gets worse with higher refresh rate and even Shanon information theory tells us that a fast noisy signal is frequently better than a slow perfect one (how well could you ride a bike if you had exactly one perfect position update per second?). The issue isn't the update rate, it's poor algorithms or tuning parameters.  

---

### Answer by username_1 on 2020-04-20. Score: 7

There has been a good deal of discussion on this topic, and it has been no small source of conflict between several of the main firmware players in the high-performance DIY drone flight controller world. The short version is that based on evidence gathered from flight recorder logs, the ICM series gyros are more sensitive to electrical and mechanical noise than the MPU6000 gyro.

One of the major issues is that the MPU6000 [is considered NR/ND](https://blog.cdiweb.com/2017/07/21/tdk-invensense-nrnd-replacement-parts/) (Not recommended for new designs) since 2017-ish, and there is some question as to how much longer it will be available. This makes manufacturers hesitant about using it in new designs.

The core of the argument around the ICM gyro has to do with the DLPF bypass mode that enables 32 Khz read rates ([see section 9.17 in the datasheet for the ICM 20602](https://invensense.tdk.com/wp-content/uploads/2016/10/DS-000176-ICM-20602-v1.0.pdf)). There is one school of thought that this mode simply gives lower-level access to the same data that is used by the internal DLPF to create the 8 Khz data output, and external software filters can do a better job than the internal DLPF used to create the hardware-given 8 Khz data. There seems to be a good deal of support however that this is not the case. It appears that moving the gyro into 32 Khz read mode actually reduces the fundamental accuracy of the readings being taken. Mark Spatz has done a good deal of work [logging and analyzing data recordings](https://www.facebook.com/UAVTech1/posts/2190748527852936) from multiple gyros with the conclusion that 32 Khz in experimental mode is producing data that is both different and dramatically less accurate than when not in experimental mode, though why disabling the internal DLPF would have this impact still remains a question.

Even taking this into account, the ICM series gyros can perform essentially as well as the MPU600 when care is taken. Many of the issues seen with the ICM gyros result from poorly executed filtering on the 3.3v power supply. See [this research article](https://www.imeko.org/publications/wc-2012/IMEKO-WC-2012-TC4-P27.pdf) for an exploration of why this is a problem. Essentially if the power supply lines can be kept clean, and the internal DLPF is kept on, the gyro seems to perform decently.

All that being said, having been involved in support in the drone industry for a while though, my personal experience has been that flight controllers that use the ICM gyro have a higher failure rate and a higher chance of having issues than flight controllers with the MPU6000. I have a shelf full of flight controllers I pulled due to ICMs that became too sensitive to tune, and much larger number of folks I've helped debug with the same issue, but I've not had that issue with MPU6000. While this is purely anecdotal, it aligns with the experience of enough pilots that it has become a common thought in the DIY drone hobby, hence the reason why this question even came up.

> **Comments:**
> **username_0**: Apparently I missed this answer when it came in - so a belated thank you for answering!  
> **username_4**: Is this knowledge still the state of the art, now, more than 3 years, later @QuadMcFly? Or have there been new insights into the ICM gyro's internal workings?  
> **username_1**: There are some newer gyros that have come out that are being experimented with, but the MPU6000 still seems to be the most noise resistant. The problem we're running into now is that a lot of the MPU6000s that are still available are seconds or old stock, so the QC on the MPU6000 boards has dropped a bit. Unfortunately that results in a bit higher failure rate than we used to see with them. The two current alternatives are the BMI270 and the ICM42688p which both have their compromises.  
> **username_1**: The BMI270 only has a 3.2 khz refresh rate, and that can complicate tuning some of the filter settings compared to an 8khz loop, but it can be dialed in pretty well. It's more finicky than the MPU6000, but once you've got it, it's not bad. It just different enough that a lot of folks have trouble tuning it, since it takes a slightly different approach. People tend to not realize that over filtering can cause as many problems as under filtering, and so folks tend to go the wrong direction on the filters and never get any better results.  
> **username_1**: The ICM42688p seems to be extremely reliant on clean 3.3v power, and a lot of the less expensive boards that used them seemed to have trouble as a result of poorly implemented power regulation. There was also some issues with the Betaflight code implementation of the IMU, some registers set that resulted in less than ideal performance, but that should be all fixed now as of Betaflight 4.4. With a well manufactured board and the latest code the ICM42688p gives good results, but again it's somewhat picky so if anything goes wrong on the power regulation side you could end up with noise issues.  

---

