Problems with a MinIMU-9, defective LSM303?


I’ve recently purchased a MinIMU-9 from pololu shop and I have some problems getting it to work.

I hooked it to an Arduino MEGA: VIN to 5V, GND to GND, SDA to SDA and SCL to SCL and loaded the AHRS sketch using Arduino 1.0.
The “Pololu MinIMU-9 + Arduino AHRS” message appears in the terminal but nothing else happens.

By inserting some Serial prints and commenting some lines, I found out that it was hanging when initializing the accelerometer, as it has an active wait for incoming data with a while that never ends in case no data arrives.
By commenting tha accelerometer calls and part of the magnetometer calls the program continued to run but each time it reached an accelerometer call it hanged up.

After checking the accelerometer didn’t seem to respond I measured the voltages of the internal regulators, all ok.

So I hooked my oscilloscope to the I2C lines and checked what was happening, what I found was that the accelerometer didn’t ACK the commands, but when I commented the accelerometer accesses, both the gyroscope and magnetometer ACKed the commands and seemed to be fine.

When loading the L3G4200D’s Serial example the gyro works perfectly.

I thought it could be something related to the address line (SA0_A), so measured its voltage and got 0V as expected. Also changed the code to access the accelerometer in address 0011001b for discarding a disconnected address line in the chip end, but the same, no ACK.

All my investigations seem to indicate that the accelerometer section of the LSM303DLM is dead as I have no way of getting a response from it, but in the other hand the compass section does respond and answer with an ACK.

Any idea about what more can I check? Or I should just ask for an exchange of the board?

Thanks in advance!


Sorry you are having trouble with your MinIMU-9. Thank you for being so thorough with your troubleshooting. It sounds like the accelerometer might is damaged, and I can’t think of anything else to try. Please contact us by email with your order information and reference this forum thread and we can see about getting you a replacement.

- Ryan

Ok thanks Ryan, I’ve sent an email.

Hi, Ryan,

Almost the same story here. Just received my MinIMU-9 today. I have it hooked up to a PIC24H family device. The gyro and magnetometer work fine. The accelerometer, however, just doesn’t seem to work.

I’ve looked at waveforms using my Saleae Logic logic analyzer but have not dragged out the scope yet. When I try to write the following write:

<0x30> <0x20> <0x27>

to enable the accelerometers, I get an ACK for the 0x30 and the 0x20, but not for the 0x27. If I change the 0x27 to an 0x26, I get an ACK.

Then when I try to read the value I just wrote back like this:

<0x30> <0x20> <0x31>

I don’t get an ACK at 0x31 and I get 0xFF for the read_byte.

I’m running the bus at 68kHz.

This is odd that two people would see the same problem in two days. Is there a manufacturing or supplier issue?


Nevermind. My bad. Timing issue. I was not turning around the SDA pin from driven to Hi-Z soon enough. It’s working now.