Am I missing something or my IMU is faulty?

Greetings, sorry if this is a stupid question, I'm new to this whole personal electronics stuff.

Situation: I have an IMU (Adafruit 9DOF copy) that I want to connect to my Arduino Uno R3 copy.

Problem: It just doesn't work, no matter what.

  • For the Magneto/Accelero meter (LMS303DLHC) the fake "Who am I" part of the code returns the value 0xFF while the code expects a 0x10, so the sensor.begin() always return a false.
  • For the Gyroscope (L3SD20) the "Who am I" part has a Wire.send; Wire.requestFrom; and while(wire.available()); (NOTE: it isn't Wire.send, but the #if Arduino >= 100 variant) where the while(wire.available()); code hangs forever and never retrieves any data.

Connections:

  • VIN - 5V
  • GND - GND
  • SCL - A5
  • SDA - A4

I'm using the Adafruit drivers from this tutorial: Software | Adafruit 9-DOF IMU Breakout | Adafruit Learning System

I have attached 2 screenshot of the construction. My last idea is that the casual cables put into the Arduino aren't closing the circuit properly, however I have bend the end of the cables so they expand and make proper connection inside.

And the link to the IMU is: https://www.ebay.com/itm/9axis-9DOF-IMU-Sensor-Breakout-Board-Module-Gyroscope-Compass/162834831759

EDIT:

  • I have also tried swapping the A4-A5 cables, no success
  • And I tried with 2 different Arduino, both produced the same result.

EDIT: Problem solved by scanning the I2C devices and debugging the driver. Turned out that my copy-board had different I2C ID and different WHO_AM_I value for the L3GD20.