1

I bought a 9 DOF IMU from AliExpress (pictures below), asking because this seems to be somewhat of a common issue (and I'm a bleeding noob). I tried setting up this board using example codes from Adafruit - presuming this would work and it's a compatible board (and it just looked exactly the same). However, surprise - several errors.

  1. Using this guide I attempted to run the pitchrollheading example - it reports LSM303 not found. The wiring is according to this guide, A4 (SDA) and A5 (SCL) are connected, 5V in, Ground of IMU to Ground of Arduino (Arduino uno, like in the guide)

  2. Next I debugged the lines on the board using the multimeter: 5V on line in vs ground, 5V on the SDA/SDC lines (seemed fine)

  3. Then I debugged using the i2cdetect library, however it reported empty.

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
     00:          -- -- -- -- -- -- -- -- -- -- -- -- --
     10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
     20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
     30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
     40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
     50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
     60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
     70: -- -- -- -- -- -- -- --
    
  4. Using analog read I can get values that seem to change with board movement, that would confirm that - in theory - the board works.

Questions

  1. Making sense from debugging: What could be somre reasons the board not listed using the i2cdetect library (also tried a script)?
  2. Is there an easy way (or would you recommend spending time to investigate) to use the rawdata from the arduino's analog in lines to compute pitch,roll and heading?
  3. Would a project like this be typically orders of magnitude easier to set up with a raspberry pi (I have one setup and ready)? (more libraries?)
  4. Are IMU's usually easy to setup, and is it likely this would be easier with a more expensive IMU (e.g. MPU9250/6500)?

Thank you in advance, and please remember: I'm a noob, I ask for your patience and advice.

enter image description here enter image description here

10
  • 1
    You didn't mention connecting the ground of the board to the ground of the Arduino... did you? – Majenko Sep 7 '20 at 9:44
  • yes, I did! :)) – user2305193 Sep 7 '20 at 12:02
  • initially I tried this with an Arduino nano and phone otg cable. But then same results with pc and Arduino uno – user2305193 Sep 7 '20 at 12:05
  • @Majenko thanks, added it in the description – user2305193 Sep 7 '20 at 15:08
  • @jsotola because I want the advice from the community and proceed to acquiring data (which I'm looking forward to). Possibly there is a recommendable way to integrate the raw sensor values into a sensor fusion system, as stated, I'm a noob with this, advice is very welcome. On the other hand I'm unsure why asking 'why' is goal-oriented - unless you presume a gross misconception? – user2305193 Sep 7 '20 at 17:46
1

I re-soldered all connections and used new wires. Now the board is recognized by the i2cdetect library. Upon multimetering all connections using the continuous mode (the one that looks like a loudspeaker), I noticed my breadboard sometimes does not conduct properly. Cheap breadboards and/or cables are at fault here, as far as I can tell - a rookie mistake. I'm guessing the ground connection is the only one I have not measured before

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.