Navio2/ MPU9250 & LSM9DS1

Hi, I’m trying to get some values from Navio2 sensors.

While searching related information on Navio2 and it’s application, I found some questions on Navio2 hardware.

From the datasheet of Navio2, I found that Navio2 have MPU9250 & LSM9DS1 both.
As I searched, both (MPU9250 & LSM9DS1) have accelerometer, gyroscope, and magnetometer.

I want to know:

  1. Why don’t use one of MPU9250 & LSM9DS1, instead of using both?

  2. From example pages, they get mag. value from LSM9DS1 not from MPU9250. Why did they do?
    (maybe the same question above)

Hi @trugens,

May I ask to clarify your question? Why do you want to use only one of them?

Both IMU sensors have a magnetometer.
You can specify MPU9250 when running the example.

Thank you for your kind comments.

From your comments, does it mean that Navio2 is designed to give a freedom on choosing chips for each sensors? I thought, providing 2 chips which have the same function leads to increase of cost. Is there any other reason?

And I heard that there’re some arguments on the reliability of getting mag. values from AK8963 (MPU9250).
Is this related to examples which use LSM9DS1 for magnetometer?

Thanks and thanks in advance.

Hi @trugens,

ArduPilot uses both IMU sensors as it allows to increase the accuracy of IMU measurements.

Do you mean the IMU example from our docs?

OK. I understood that two different chips will help accuracy of measurements.

The IMU example, you linked, seems just explaining how to get information from IMU.

I read some links, like below, and they tell the MPU9250’s magnetometer (AK8963) runs unreliably.

And some of my colleagues who are experienced on MPU9250 & Navio2 tell that it’s not sure where this unreliability is from.

Our team have developed an application with Navio2. They used LSM9DS1 for magnetometer. The developer’s failure note says, AK8963 generates values un-reliably and gets un-stable (fluctuating) values while the device is placed on top of the table.


You surely can use only LSM9DS1 in your application if it’s more suitable for you.
In regards to ArduPilot, it primarily uses the magnetometer measurements from LSM9DS1.

This topic was automatically closed 100 days after the last reply. New replies are no longer allowed.