2025-08-25 7:08 PM - last edited on 2025-08-26 4:37 AM by Andrew Neil
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.
Solved! Go to Solution.
2025-08-26 4:36 AM - edited 2025-08-26 4:36 AM
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
2025-08-25 7:58 PM - edited 2025-08-25 7:59 PM
0x00 generally indicates the chip is not responding. Probably not wired up correctly.
Does HAL_I2C_IsDeviceReady return HAL_OK? Start there.
2025-08-25 8:21 PM
I wired only 5 pin vcc,gnd scl,sda, ado. did I miss the ncs ? isdeviceready also gave back 0x00
2025-08-26 4:27 AM
Can you show your code? I suspect incorrect hal_i2c_mem_read usage.
2025-08-26 4:36 AM - edited 2025-08-26 4:36 AM
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