Arduino DUE and MPU 9250 Connection failed

I have connected my Arduino DUE up to the Seeed Studio Grove 10DOF V2 board which has the MPU9250 and the sensor board is 5v/3V3 compatible.

When I run the following test script

I get that the MPU9250 connection failed.

So far..

  1. I have tried the other possible I2C address (0x69)
  2. I have also run an I2C scanner and there is a device at address 0x68 as expected.
  3. I can make a successful connection when I swap out the Arduino DUE for the Arduino MEGA
  4. Another Grove sensor works with the Arduino DUE

Since the magnetometer on the 10DOF is connecting successfully I am confused why the DUE wont connect with the MPU9250.

Any ideas on how to solve this issue would be greatly appreciated!

If you have already I2C pull-ups on the beakout board, you can't use SDA/SCL on the DUE side since they have 1K pull-ups. However, SDA1/SCL1 (Wire1) don't have pull-ups and can be used by adding this line at the beginning ogf your sketch:

#include <Wire.h>
#define Wire Wire1
....

Thanks! I tried that but it made no difference, the MPU 9250 is still failing to connect. I dont understand why the BMP280 magnetometer is working but not the MPU9250 as they are on the same IMU board

I am getting numbers being output on serial even though the connection has failed which seems weird.

Your issue may be, the MEGA is a 5 volt device, the Due is a 3.3 volt device. The MPU9250 is a 3.3 volt device but inputs 5 volts to an on board 3.3 volt regulator. Well the one I got does. I soldered the bypass jumper on my MPU9250 board so I can input 3.3V directly.