Going beyond 2 BME680 boards on ONE Raspberry Pi

Hi Everyone,

I hope you’re all well in these… challenging times.

I’m a relative newbie, so please forgive my ignorance. I’m a cheese maker, so electronics and programming isn’t usually my “jam”. :-)

I have a little project where I need to run three, perhaps soon six different BME680 sensors, connected to ONE Raspberry Pi, for monitoring differing environmentally controlled cheese aging spaces. Storing the data in a database, and plotting it on a graph.

I’ve adapted the “weather station” project, and I’ve got some of it working. But I come unstuck with multiple sensors.

I understand that I can run two sensors on the same IIC bus (with different addresses, soldered pads, etc), but is it merely a matter of enabling more IIC buses on the Pi, and connecting two to each? How do I address each sensor in Python? Particularly on differing buses?

If so, is there a guide somewhere on how to do that? I’m honestly surprised that people only have two address choices on the BME680… It would be sweet if they made different batches with differing addresses, or offered at least three bits of address space.

Any advice, guidance, link to existing information would be greatly appreciated. However, I’m a big fan of examples, (practical learner here) but I’m willing to give anything (that makes reasonable sense) a go.

Take care out there!

1 Like

There are only two hardware i2c on a Pi. i2c0 and i2c1. You might be able to setup some software i2c, not sure?
I2C at Raspberry Pi GPIO Pinout

I run two BME280’s on i2c1, in python I do this
bme280_one = BME280(0x76)
bme280_two = BME280(0x77)
temperature_one = bme280_one.get_temperature()
temperature_two = bme280_two.get_temperature()