I am working on the Sparkfun Weather meter kit, equipped with a MicroMod on the weather carrier board. I want to connect an external BME280 sensor on the I2C pins on the weather board with different address. My BME280 has the address 0x76, the internal one BME280 sensor has 0x77.
The problem is that the MicroMod don’t see the 0x76 sensor and still read 0x77 internal sensor.
Then I connected my oscilloscope on the SDA pin but it didn’t show any signal. Both lines (SDA, SCL) have a pullup resistor.
The purpose of connecting a second BME280 is to exclude the one integrated on the board because it is influenced by the heat from the CPU.
In the picture attached you can see the board and the 4 pins I used for connecting an external BME280 with the different address (0x76) of the internal (0x77).
That will vary depending on which library you’re using. Search your entire source tree for that constant and see where it is located. For me it is in: “Adafruit_BME280.h”. Somewhere you’ll have (something like): “bool begin(uint8_t addr = BME280_ADDRESS, TwoWire *theWire = &I2CPort);”. Be sure to change that to use the alternate I2C Slave ID.