IMU sensor comparison

Continuing the quest started earlier for a good IMU, I listed some popular accelerometers, gyroscopes, magnetometers, and pressure sensors with their most(?) important attributes.

I have to admit that I’m quite unexperienced with these so I could have easily left off something important or listed something irrelevant. And trying to figure out the exact behaviour for several sensors is too time consuming so at least the maximum sampling rate might not be what you actually get out from the sensor in all cases. All corrections are welcome.


SensorMax. sampling rateSensitivity (8g)Noise (2g)Price
MPU-60x010000.3 mg/digit400 μg / √Hz11.4 €
LSM330DL7604 mg/digit220 μg / √Hz7.35 €
LSM303DLM10003.9 mg/digit??7.35 €
ADXL345320015.6 mg/digit1.1 LSB rms (all g)6.47 €
BMA18012000.98 mg/digit150 μg / √Hz5.53 €
LIS331DLH10003.9 mg/digit218 μg / √Hz4.27 €
MMA8451Q8000.98 mg/digit126 μg / √Hz (99 in 4g mode)1.59 €

Judging from the numbers the MMA8451Q from Freescale has decent sensitivity and low noise. And it’s really cheap at Digikey unless I’ve missed something. MPU-60×0 is the most sensitive but with highest noise. It’s also the most expensive and it seems to be really hard to buy.


SensorMax. sampling rateSensitivity (500 dps)NoisePrice
MPU-60x0800015.28 mdps/digit0.005 dps / √Hz11.4 €
MPU-3050800015.28 mdps/digit0.01dps / √Hz9.2 €
LSM330DL76017.50 mdps/digit0.03 dps / √Hz7.35 €
L3G4200D80017.50 mdps/digit0.03 dps / √Hz12.95 €
ITG-3200800015 mdps/digit (guess)0.03 dps / √Hz7.6 €
L3GD2076017.50 mdps/digit0.03 dps / √Hz7.05 €

I’ve understood that the gyroscope is the most important sensor in an IMU as it provides the change in the orientation, the rest are used just to compensate the gyroscope drifting. Based on the numbers the MPU-60×0 is the best one. It’s also quite expensive but since it contains both the accelerometer and the gyroscope, it’s only 6 € each. The MPU-3050 is similar to MPU-60×0 but doesn’t have internal accelerometer and the noise is slightly larger.

LSM330DL from STMicroelectronics contains also both the accelerometer and the gyroscope. It doesn’t quite match up to MPU-60×0 but at least Digikey has plenty of LSM330DLTR in stock.


SensorMax. sampling rateSensitivityPrice
LSM303DLM10003.9 mgauss/digit7.35 €
HMC5883L75/1604.3 mgauss/digit3.15 €
YAS5306663 mgauss/digit??
MAG3110801 mgauss/digit??

There seems to be clearly less options in magnetometers and their maximum sampling rates seem to be less than with the other sensors. The LSM303 from STMicroelectronics is an exception which makes me wonder if I’ve read the datasheet correctly (EDIT: I guess I haven’t, read more from in here).

The HMC5883L from Honeywell is one of the most popular magnetometers in quadrotor IMUs currently but its sampling rate is quite low.

Pressure sensors

SensorMax. sampling rateRelative accuracyResolutionPrice
BMP08539 Hz0.5 hPa0.01 hPa6.56 €
MS5611-01BA01121 - 2000 Hz0.5 - 1.5 hPa0.012 - 0.065 hPa??
MS5611-01BA03121 - 2000 Hz0.5 - 1.5 Hpa0.012 - 0.065 hPa??
MPL015A1600 Hz10 hPa1.5 hPa??
MPL115A300 Hz10 hPa1.5 hPa1.84 €
MPL3115A2100 Hz0.5 hPa0.015 hPa??

MS5611 from Measurement Specialties is probably the best sensor at the moment but like the MPU-60×0 it’s hard to actually get one. BMP085 from Bosch is common even though its sampling rate is really low. The low sampling rate is not that big issue as the pressue sensor used to control the hight which is not changing as rapidly as the orientation of the device.

All in all, it’s more tricky to select the sensors for an IMU than I originally assumed. Magnetometers doesn’t have any obvious winner although the LSM303 could be a good solution for a high sampling rate IMU. For the rest the MPU-60×0 + MS5611 would be nice but since their availability is so poor something else could be a safer bet. LSM330 + LSM303 + BMP085 would enable fast orientation calculation (EDIT: or not) and decent altitude estimation for slow paced movement.

This entry was posted in Hardware and tagged . Bookmark the permalink.

2 Responses to IMU sensor comparison

  1. vpapanik says:

    BMA180 reports a noise floor of 150 μg/sqrt(Hz) at 2g range and 1200 Hz bandwidth while MMA8451Q reports 99 mg/sqrt(Hz) at 400 Hz. Is it possible to compare between these two, while they refer to a different bandwidth ? Thanks

Leave a Reply

Your email address will not be published. Required fields are marked *

Why ask?