0

BME280 I2C address
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

BME280 I2C address

by camrex on Tue Apr 26, 2016 11:01 am

I am currently working on a project that I would like to add a BME280 sensor to. As I understand it, the default address of Adafruit's BME280 is 0x77. Looking at the schematic and eagle diagram, SDO is tied to VDDIO (3V3) through a 10k resistor.

Looking through the datasheet I should be able to tie SDO to GND to change the I2C address to 0x76, which would require removing the 10k resistor between SDO & VDDIO and then adding a jumper to the SDO side of the resistor pad to GND.

One point of confusion is that on page 37 (Table 35) says that SDO is tied to GND for the default address (0x77). Perhaps a typo?

Is my thinking correct on this? I just don't want to make the change and kill a BME280 if I'm totally wrong.
Thanks for any assistance.

EDIT: Thought I'd add my reason for changing the address. The project also includes a BMP180 (which has a default address, which I can't change of 0x77). While I have a I2C multiplexer in the project, I am actually trying to get it removed from the project.

camrex
 
Posts: 23
Joined: Wed Oct 07, 2015 1:27 pm

Re: BME280 I2C address

by adafruit_support_bill on Tue Apr 26, 2016 11:10 am

Unless you are concerned about saving a fraction of a milliamp, there is no need to remove the pullup resistor to change the address. You can just add a jumper to GND. The documentation does seem to be inconsistent. I believe that the text is correct and the table is wrong.

adafruit_support_bill
 
Posts: 70975
Joined: Sat Feb 07, 2009 10:11 am

Re: BME280 I2C address

by camrex on Tue Apr 26, 2016 11:21 am

Thanks Bill.

So in that case, I should be able to just add a jumper from the SDO pin to the GND pin to get address 0x76.

That is great news, as it would be reversible.

While the project is solar powered, I don't think a fraction of a milliamp is going to make enough difference to justify removing the resistor.

Thanks again.

This may be worth adding to the BME280's Learn page for others to reference. I'll report back if I have any problems.

camrex
 
Posts: 23
Joined: Wed Oct 07, 2015 1:27 pm

Re: BME280 I2C address

by adafruit_support_bill on Tue Apr 26, 2016 11:44 am

Thanks for the feedback. I'll mention it to the author.

adafruit_support_bill
 
Posts: 70975
Joined: Sat Feb 07, 2009 10:11 am

Re: BME280 I2C address

by erniberni on Fri Nov 11, 2016 6:59 am

I just found that you can add the differing i2c address to the bme.begin call
change this
Code: Select all | TOGGLE FULL SIZE
  if (!bme.begin()) {
to
Code: Select all | TOGGLE FULL SIZE
  if (!bme.begin(0x76)) {

The 0x77 is defined in the library.

erniberni
 
Posts: 15
Joined: Fri May 20, 2016 1:28 am

Re: BME280 I2C address

by pierrot10 on Sun Dec 23, 2018 7:59 am

Hello,
I am concerning regarding saving some mA.

I am not sure about which resistance to remove. My project work with 3,3V.
Should I only remove R1 and R1 (in yellow) or should I remove R1, R2 and R7 and R8 (orange).
Image
I believe the R1 and R2 are enough but if R7 and R8 are useless, I would like to remove as well.

Merry Christmas!!

pierrot10
 
Posts: 276
Joined: Tue Nov 17, 2015 4:34 pm

Re: BME280 I2C address

by pierrot10 on Wed Jan 09, 2019 5:16 am

Any idea?

pierrot10
 
Posts: 276
Joined: Tue Nov 17, 2015 4:34 pm

Re: BME280 I2C address

by adafruit_support_bill on Wed Jan 09, 2019 8:52 am

@pierrot10 - this thread is regarding addressing. Best to start a new thread for your question.

adafruit_support_bill
 
Posts: 70975
Joined: Sat Feb 07, 2009 10:11 am

Please be positive and constructive with your questions and comments.