How to Read from multiple i2c sensors of the same type

Hi,

Apologies for the simple nature of this post however I can’t seem to find the answer I’m looking for elsewhere on the forum.

I’d like to start off by saying what an excellent product you have in the GrovePi. I have both the GrovePi and GrovePi+ both are great.

Down to business - I have two High Accuracy Barometers connected on the i2c ports. These ship with a factory address of 0x76 and when I run the example project “high_accuracy_barometer_example.py” it works and I get the following output :

HP20x_dev is available.
Temperature     : 26.56 C
Pressure        : 1003.52 hPa
Altitude        : 0.89 m

The problem is that I have two of these same sensors connected. One to i2c-1 and another to i2c-2.

I am not very up to speed on how i2c works as previously I had only used sensors which connected to the D2-D8 ports. I would really appreciate any guidance you can provide on retrieving data from multiple i2c sensors.

Unfortunately, you won’t be able to run two at the same time. The problem is with the Grove sensor: I don’t think you can change the address of the Barometers. All of the I2C ports are on the same I2C bus. It’s a good quesition, I’m sorry for the answer!

It’s fantastic to hear you like the GrovePi+ so much! Thank you for letting us know!

Hi John,

Thanks for your reply.

That’s unfortunate.

Does the same apply to all Grove i2c sensors such as the Temperature & Humidity Sensor (High-Accuracy & Mini)?

Hi Daveire, unfortunately there’s no way to deconflict two sensors that are on the same i2c bus, unless Seeed (who designed the sensors) has a way to allow for it. I’m not sure if that’s true for all I2C sensors, but if they have the same address, it will conflict.