BME680 Invalid Chip ID

Hi, thanks for the library and examples to run the BME680 in Raspberry Pi 3B+.

The examples are running ok when I only connect to BME680. However when I put the Pioneer600 HAT which also include BMP280, I have a problem when I run the BME680.

I understand that CHIP ID for BMP280 is 0x58 and I2C address is 76, while BME680 is having CHIP ID of 0x61 and I2C address of 77 (I ensure it is 77 by connecting 3.3v to SDO). Both are running okay if I don’t put the HAT and BME680 together. When I put the HAT then connect the BME680, the BMP280 is still working but BME680 will give an error:
init.py line 27, BME680 not found, Invalid CHIP ID: 0x58”

I suspect maybe the init.py line 27 auto search for the chip and it mistaken BMP280 chip to be the chip for BME680? How can I make them work together?

Many thanks!!

Haha, I found the solution. The primary I2C address is set to 0x76 in the constants.py file, which only become 0x77 if fail to read anything. Since the 0x76 is occupied by BMP280, the program mistaken it. I change the primary to become 0x77 instead, the problem is solved. Thanks!

Nice sleuthing, well done, now have some fun. lol =)

I’ll have to make not of that, at some point I’m going to make an indoor outdoor thermometer with two BME680’s. Or a BME680 and BMP180. I think its a BMP180?