MPU-9250 problem reading from i2C Address

This has been really hard for me. It has been few weeks trying to figure this thing out.

Well let's get to the prob here, I bought an IMU sensor which happens to be MPU9250 which is an accelerometer + gyro sensor + magnetometer + etcrtera. I soldered the lead and connected it to the controller board then downloaded the corresponding library and uploaded the example code. Andddddd nothing shows up, ok so now let's get to the troubleshooting checklist so that you guys can tell me the possible problem that I might didn't think of.

  1. Wrong wiring.[ 100% sure that its connected to the right pin, since im using arduino mega, the pin should be ( SCL - 21, SDA - 20, GND, 3.3V)].
  2. Try using different library. (Did with 3 of em).
  3. Tried using I2C Scanner (ONE GREAT MIRACLE, after few days of leaving it, i was playing around then i checked the monitor, it said i2c founded on address 0x68, then after changing the wires, its gone and never shown again).
  4. Maybe the Voltage regulator is fried due to bad soldering job. (I took a voltmeter and checked, its in good condition).
  5. Maybe the IC is fried so buy a new one. (Whops wait up lets see other options first).
  6. Try hooking up different i2c devices to make sure nothing wrong with the bus. (Yep 3 of em, including barometer and 2 diff oled the i2c scanner seems to detect all of em except for the IMU).
  7. Lack power (shouldn't be the case because after voltage regulation it will be 3.3v anyways so I put on 5V and nothing happens).
  8. Ok Bought a new one same IMU sensor but Ooooof. (This is where this sh** got me, also didn't work... damn wasted my last money of my weekly allowance on that).
  9. Check the wiring again (done for countless times).

My conclusion is, it might be the microcontroller itself (If it makes sense). Maybe some part of it got burned. I suppose that particular i2c addresss that is used to communicate with the sensor got burned (but the sensor has the capacibility of changing to different address which is from 0x68 to 0x69 which i tried and didn't work). Again only if it makes sense.

Ok to wrap everything up, I'm not sure of what problem I'm facing, I myself am not a professional in microcontroller just yet, Im still a freshman engineer student, so for those who are willing and already went this far of reading my post, I'm so glad and grateful. Atleast you noticed. And now I hope anyone out there would help me. Thank you for your attention.

100% sure that its connected to the right pin, since im using arduino mega, the pin should be ( SCL - 21, SDA - 20, GND, 3.3V

I'm not 100% sure that this is correct. Depending on how you connected the other pins of the MPU-9250 this might even damage the chip. As I doubt that you soldered the chip yourself I assume you use a breakout board. As you failed to provide a link to it's schematics we're unable to check your wiring.

Try using different library. (Did with 3 of em).

Maybe you did but you failed to tell us which ones.

  1. Tried using I2C Scanner (ONE GREAT MIRACLE, after few days of leaving it, i was playing around then i checked the monitor, it said i2c founded on address 0x68, then after changing the wires, its gone and never shown again).

That's a hint for a wrong wiring.

  1. Maybe the Voltage regulator is fried due to bad soldering job. (I took a voltmeter and checked, its in good condition).

Voltage regulator? The MPU-9250 doesn't include a voltage regulator. If there is one on your board, the above wiring is probably wrong. But we cannot check that as you failed to provide enough information.


This doesn’t belong to me but this is how I wired it. I don’t know if it’s right or not, but I’m just following the community and how I connect other i2c devices.

pylon:
That’s a hint for a wrong wiring.

Hmm, what I mean by changing the wires, I didn’t mean by changing the wiring. I connected it to the same pin as it was.

pylon:
Maybe you did but you failed to tell us which ones.

The library I’m currently using is called, Bolder Flight System MPU9250.

pylon:
Voltage regulator? The MPU-9250 doesn’t include a voltage regulator.

I’m not sure if it was a voltage regulator but it’s called MIC5205.

This doesn’t belong to me but this is how I wired it. I don’t know if it’s right or not, but I’m just following the community and how I connect other i2c devices.

You still failed to provide schematics of the breakout board used, so I simply expect it to have direct connections to the chip without any other component on the board.

AD0 has to be pulled high or low to define the I2C address. nCS must be pulled high to activate I2C otherwise SPI is active.

VCC must not have a voltage higher than 3.6V otherwise you might fry the chip. The same holds true for SDA and SCL, so all three connections did harm the chip and might have destroyed it already.

The library I’m currently using is called, Bolder Flight System MPU9250.

Where is the link to it?

I’m not sure if it was a voltage regulator but it’s called MIC5205.

That would be a linear voltage regulator for 2.5V. But on the pictured board no such chip is shown. If you used this you might have had the correct VCC voltage but there still the problem that the Arduino Mega2560 has internal 10k pullups for SDA and SCL which might damage the chip itself.