Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

I2C address for BME280 GYBMEP 0x76 #15

Closed
techi602 opened this issue Oct 5, 2016 · 21 comments
Closed

I2C address for BME280 GYBMEP 0x76 #15

techi602 opened this issue Oct 5, 2016 · 21 comments

Comments

@techi602
Copy link

techi602 commented Oct 5, 2016

Thanks for awesome library. However I had some hard time to make my sensor working.
The default I2C address is set to 0x77 - (which is also default for BMP180)
I have noticed there are several variants of the sensor

Mine however is running on 0x76 address (many thanks to I2C scanner)

BME280

Means that this library works fine when changing the default I2C address
I have also found this reference in bosch library https://github.com/BoschSensortec/BMP280_driver/blob/master/bmp280.h
as BMP280_I2C_ADDRESS1

Perhaps I would create PR which allows to set I2C address in constructor ( with commented macro i.e. BME280_ADDRESS_GYBMEP )

not sure how common issue is it but I believe someone else may appreciate it

@techi602 techi602 changed the title I2C address for BME280 GYBMEP I2C address for BME280 GYBMEP 0x76 Oct 5, 2016
@golvellius
Copy link

Thanks a lot techi602 ...

It's very usefull to me ...

@Deliaz
Copy link

Deliaz commented Nov 21, 2016

Thanks, it helped me.

@rogerclarkmelbourne
Copy link

Similar issue applies to the BMP280 lib as well

@Bruce17
Copy link

Bruce17 commented Dec 1, 2016

Thanks! I have the same issue with the same sensor 😉

@ladyada
Copy link
Member

ladyada commented Dec 1, 2016

yes, the code supports passing in alternate i2c addresses already :)

https://github.com/adafruit/Adafruit_BME280_Library/blob/master/Adafruit_BME280.h#L133

@ladyada ladyada closed this as completed Dec 1, 2016
@Bluebrain2000
Copy link

Thanks! Helped me too!

@DooMMasteR
Copy link

DooMMasteR commented Apr 24, 2017

By the way, it is pretty easy to change the address.
Of the 3 solder pads the first 2 are connected, rip the connection with a knife and connect the center one with the last pad instead, this will pull the SDO pin of the BME280 up and change the base address to 0x77 which is convenient if you want to use 2 BME280 on the same bus.
CHECK if you have ripped the connection properly or you will short VCC to GND :P

According to these schematics, the creator intended to have a switch on the pads to allow for convenient changing of the address. https://ae01.alicdn.com/kf/HTB1LnM.JFXXXXbAXFXXq6xXFXXXC/10pcs-DC1-8-5V-I2C-BME280-Digital-Barometric-Pressure-Altitude-Sensor-Temperature-Humidity-Module-for-Arduino.jpg

@Bender-Ender
Copy link

Of the 3 solder pads the first 2 are connected, rip the connection with a knife and connect the center one with the last pad instead

Thanks DooMMasteR. I thought that might be the case but couldn't find anywhere that said that conclusively.

@sruthikrahulk
Copy link

Did i get the lpc1768 code for BMP280

@kukyarce
Copy link

kukyarce commented Apr 15, 2018

with this
https://github.com/Seeed-Studio/Grove_BME280
works with no traumatic board work
https://www.youtube.com/watch?v=PidE-pJiIXY
i have low level of knowledge....only a copy+paste and first shot and after think...sorry

@Povilasgtar
Copy link

Thank you for a link to Seeed, really useful, just worth mentioning, that I am using a BMP sensor attached to a GY-91 module instead of a BME sensor, but it has the same address as BME (0x76), so all that I had to do is just download and install the BMP280 zip also change the address entry in the library file in the sketch folder and everything works perfectly!

@estevE11
Copy link

Man, thank you so fvcking much. Honestly without this thread I was done. Thanks.

@JasonG-FR
Copy link

For anyone having the same issue, here is how I managed to make it work :
I simply replaced status = bme.begin(); by status = bme.begin(0x76); in the bme280test.ino sketch.

@877dev
Copy link

877dev commented Feb 24, 2019

@JasonG-FR thanks for the comment, it really helped me!
Was having trouble getting two sensors to read in i2c, I needed to use:

bool status;

status = bme1.begin(0x77);
status = bme2.begin(0x76);

Cheers :)

@ColomeDisco
Copy link

Hi, Is possible to connect 4 devices at the same i2c bus?
I want to make a project to diferential values like a pitot Tube
tanks

@JasonG-FR
Copy link

JasonG-FR commented Jul 1, 2019

@ColomeDisco yes it's possible to connect more than 4 devices on the i2c bus.

The issue is to get each one a unique address.

If you want to use 4 BME280, the Adafruit ones have 2 jumper solder pads that could be used to change their address, so 4 unique addresses in total.

@ColomeDisco
Copy link

Ok, Thanks for the response, but I not have clear documentation how to do it...
do you have some link or information about it?
thanks again!!

@JasonG-FR
Copy link

JasonG-FR commented Jul 1, 2019

@ColomeDisco Sorry I made a mistake, you can only connect 2 Adafruit module on the i2c bus at the same time : https://forums.adafruit.com/viewtopic.php?f=22&t=128043
If you want to use 4 at the same time, you could use SPI instead:

If you want to connect multiple BME280's to one microcontroller, have them share the SDI, SDO and SCK pins. Then assign each one a unique CS pin.

from https://learn.adafruit.com/adafruit-bme280-humidity-barometric-pressure-temperature-sensor-breakout/pinouts

@giacomolanzi
Copy link

For who has the same issue and search for a quick solution:

simply use bme280 = adafruit_bme280.Adafruit_BME280_I2C(i2c, address=0x76)

from https://circuitpython.readthedocs.io/projects/bme280/en/latest/

@dan0delellis
Copy link

I was getting OSError: [Errno 121] Remote I/O error and ValueError: No I2C device at address: 77 after my sensor made contact with condensation in a gravity-assisted experiment failure. This cleared the errors right up!

@joaofgoncalves
Copy link

Worked for me as well with bme.begin(0x76)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests