cancel
Showing results for 
Search instead for 
Did you mean: 

MPU-6500 module

Alexdan
Visitor

Hi! Im doing my project using mpu6500 and I use hal_i2c_mem_read to read the WHOIMI register at 0x75 with the device address 0x69 (AOD to vcc) and I alway get the value 0x00. Why is that? is this module require something soldered to this pad (img) to turn on i2c protocol or what, please help me out.9807577c-31c4-459c-b84c-b0179da2fdf6.jpg

4 REPLIES 4
TDK
Super User

0x00 generally indicates the chip is not responding. Probably not wired up correctly.

Does HAL_I2C_IsDeviceReady return HAL_OK? Start there.

If you feel a post has answered your question, please click "Accept as Solution".

I wired only 5 pin vcc,gnd scl,sda, ado. did I miss the ncs ? isdeviceready also gave back 0x00 

TDK
Super User

Can you show your code? I suspect incorrect hal_i2c_mem_read usage.

If you feel a post has answered your question, please click "Accept as Solution".
Andrew Neil
Super User

Note that the mpu6500 is not an ST product - for specific support with that, you need to go to the manufacturer, TDK Invensense:

https://invensense.tdk.com/products/motion-tracking/6-axis/mpu-6500/

https://invensense.tdk.com/developers/login/?message=forums&redirect_to=forums

https://invensense.tdk.com/developers/login/?message=support&redirect_to=support

 

Are your pullups correct?

Have you looked at the I2C lines with an oscilloscope - are they good & clean?

Do they comply with what the mpu6500 datasheet tells you?

Are you using the correct I2C address?

 

Please post your hardware schematic, and code - see: How to write your question to maximize your chances to find a solution

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.