GY-91 nightmare (MPU9250 + BMP280 )

By nesiaxgmailcom , 30 November 2019

Hi all,

I have a GY-91 breakout board, like this one: https://www.amazon.com/-/es/ARCELI-MPU9250-BMP280-GY-91-10DOF/dp/B07DN173BM/

It is supposed to have a MPU9250 and a BMP280

The BMP280 works without problem.
The MPU9250 have been a complete nightmare when it comes to the compass, it appear to be a non existent device, I don't know if the device is damaged, but it seems that other users have the same problem.

So, connecting to a raspberry pi , i have the following:

# i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- --
70: -- -- -- -- -- -- 76 --

So it recognizes both 0x68 (mpu9250) and 0x76 (bmp280), and dumping 0x68 gives me:

# i2cdump -y 1 0x68
No size specified (using byte-data access)
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: c8 ce df 18 9c 03 d9 60 01 f2 0c 02 00 66 5a 7a ???????`????.fZz
10: e0 ce a8 00 00 00 00 00 00 00 00 00 00 00 00 00 ???.............
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
30: 00 00 00 00 00 00 00 00 00 00 01 3e 68 ff 54 f7 ..........?>h.T?
40: b0 0b 20 ff 85 00 53 00 6e 00 00 00 00 00 00 00 ?? .?.S.n.......
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
60: 00 00 00 00 00 00 00 00 00 00 00 01 00 00 2a 5d ...........?..*]
70: 00 00 00 00 00 71 00 e8 c8 00 ec 34 00 23 56 00 .....q.??.?4.#V.
80: c8 ce df 18 9c 03 d9 60 01 f2 0c 02 00 66 5a 7a ???????`????.fZz
90: e0 ce a8 00 00 00 00 00 00 00 00 00 00 00 00 00 ???.............
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
b0: 00 00 00 00 00 00 00 00 00 00 01 3d cc fe 24 f8 ..........?=??$?
c0: 74 0b 50 ff 90 00 31 00 08 00 00 00 00 00 00 00 t?P.?.1.?.......
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
e0: 00 00 00 00 00 00 00 00 00 00 00 01 00 00 2d 31 ...........?..-1
f0: 00 00 00 00 00 71 00 e8 c8 00 ec 34 00 23 56 00 .....q.??.?4.#V.

I am using the inv_dump v6.1 using c code and when I do mpu_init() I get 'Compass not found'

I print every call to i2c write / read in order to see what happens, and the problem is that there is no magnetometer:

Initializing IMU .
i2cset -y 1 0x68 0x6B 0x80
i2cset -y 1 0x68 0x6B 0x00
i2cset -y 1 0x68 0x1D 0x48
i2cset -y 1 0x68 0x1B 0x18
i2cset -y 1 0x68 0x1C 0x00
i2cset -y 1 0x68 0x1A 0x03
i2cset -y 1 0x68 0x19 0x13
i2cset -y 1 0x68 0x1A 0x04
i2cset -y 1 0x68 0x38 0x00
i2cset -y 1 0x68 0x6A 0x00
i2cset -y 1 0x68 0x37 0x82
i2cset -y 1 0x68 0x34 0x04
i2cset -y 1 0x68 0x6B 0x40
i2cset -y 1 0x68 0x6C 0x3F
i2cset -y 1 0x68 0x64 0x10
i2cset -y 1 0x68 0x6A 0x00
i2cget -y 1 0x68 0x6A # 0x00
i2cget -y 1 0x0C 0x00 # 0x87
i2cget -y 1 0x0D 0x00 # 0x87
i2cget -y 1 0x0E 0x00 # 0x87
i2cget -y 1 0x0F 0x00 # 0x87
Compass not found.
i2cget -y 1 0x68 0x6A # 0x00

I have read that the chipset used in gy-91 correspond to mpu9255, but I am not sure, it is possible to figure that from the dump output above ?

Thank you all.

Nestor.

phpbb Topic ID
37968