9 years, 6 months ago.

I2C problem

Hei Kevin,

I am also using the sensor MS5611, but I can't establish the communication.The SDA is being block by the module in the acknowledge state when I am initializing the reset sequence? If you need a more detailed information, here is the link: http://developer.mbed.org/questions/5909/I2C-communication-with-MS5611-not-gettin/

thanks for the help :)

Question relating to:

High resolution barometer and altimeter using i2c mode Altimeter, barometer, I2C, ms5611

have you tried to use this library? the link you shared, shows your own routines, not using mbed API

posted by Martin Kojtal 13 Jan 2015

1 Answer

9 years, 6 months ago.

Joshua,

I do not have any ST products, I'm assuming that is what you are using. The ms5611 library is pretty straight forward. So, I'll ask the obvious questions first.

1. Do you have pullup resistors on SCL and SDA pins in the range of 2.2k - 3.9k?

2. Do you have any other I2C devices on the bus? If so, are they working ok?

3. Is I2C speed 100KHz or 400KHz?

4. Do you have the correct pins defined in your code?

5. SDA / SCL pins are not swapped?

6. Have you tried the I2seeU program example to see if the ms5611 is discovered?

More to check out:

Some of the ms5611 modules you can get from eBay have extra level-shifting electronics in them. It usually consists of 2 FETs, 2 pullups to 3.3V and 2 pullups to 5.0V (ask for a schematic from the vendor). You need to remove all of this (except perhaps the pullups to 3.3V if you don't have pullups already). Then wire SDA and SCL directly from the ms5611, to the respective I/O pins on the connector.

If the module also has a 5.0V to 3.3V LDO regulator, you will need to bypass that IC as well. I run the module directly from 3.3V coming from the host mbed.

posted by Kevin Braun 13 Jan 2015