BME280 Breakout not detected on I2C after initial connection

Customer:

I purchased a BME280 Breakout to connect to a Raspberry Pi 4. I soldered the pins and connected 4 pins via breadboard:

VCC 01 (3.3V)
SDA 03
SCL 05
GND 06

After enabling the I2C interface in raspi-config, I ran the i2cdetect 1 script and successfully got a response showing address 0x76 present - a sanity check that everything was connected properly and the sensor was working. I put everything away until I had time to continue with the project. Several days later, I connected everything identically, but the sensor address no longer appears. When attempting to access address 0x76 programmatically, I get this error:

OSError: [Errno 121] Remote I/O error indicates that an I2C device is not connected to the bus.

I interpret this as the breakout board no longer behaving the same way as during the first scan attempts - in fact it doesn’t appear to be connected at all.

Do you have any suggestions, or is there a way to reset the sensor/EEPROM? What else should I try before deciding to return what appears to be a good sensor?

Original message (Croatian)

Kupio sam BME280 Breakout s idejom da ga spojim na Raspberri Pi 4. Zalemio sam nozice i preko breadboarda spojio 4 pina:

VCC 01 (3.3V)

SDA 03

SCL 05

GND 06.

Nakon sto sam u raspi-config omogucio I2C interface, pokrenuo sam skriptu “i2cdetect 1” te sam uspjesno dobio kao odgovor da je 0x76 adresa “tu”, to je bio sanity check da je sve dobro spojeno i senzor radi. Stavio sam sve u ladicu dok ne uhvatim vremena nastaviti s projektom. Nekoliko dana kasnije, spojim sve na identican nacin, međutim adresa senzora se više ne pojavljuje. Programskim pristupanjem adresi 0x76 dobijem sljedecu gresku:

OSError: [Errno 121] Remote I/O error indicates that an I2C device is not connected to the bus.

To interpretiram kao da se breakout board vise ne ponasa isto kao kod prvih pokusaja skeniranja tj uopce nije spojena.

Zanima me imate li kakav savjet ili prijedlog, moze li se ikako “resetirati” senzor/EEPROM te sto da jos pokusam prije nego odlucim vratiti(vjerojatno dobar) senzor.

U nadi za uspješno rješenje problema,

Lp :slight_smile:

[name removed]

Originally submitted via email support on 4 June 2023. Migrated to the forum for community visibility.

Soldered Support:

If you haven’t sent any data, just checked the address - the BME280 shouldn’t change its behavior. Try running this on the Raspberry Pi: Raspberry Pi | How to Scan and Detect I2C Addresses | Adafruit Learning System

This will scan all addresses; perhaps the BME somehow changed address. More likely is a poor connection. I2C is quite sensitive to losing contact. Try to solder the wires directly if you can.

Do you have an Arduino device that can also run an I2C scanner sketch? Arduino Playground - I2cScanner Try with that - if it also doesn’t detect it (after attempts to fix the electrical contact), then something really is wrong.

Try it and let us know if it still doesn’t work.

Original message (Croatian)

Ako nisi slao nikakve podatke već samo provjerio adresu - BME280 ne bi trebao mijenjati svoje ponašanje. Probaj na Raspberry PI-ju pokrenuti ovo: Raspberry Pi | How to Scan and Detect I2C Addresses | Adafruit Learning System

Ovo će provjeriti sve adrese, možda je BME nekako promijenio adresu. Vjerojatniji slučaj je da je riječ o lošoj konekciji. I2C je dosta osjetljiv na gubljenje kontakta. Probaj, ako možeš, baš zalemiti žice.

Imaš li možda Arduino uređaj koji isto može pokrenuti I2C scanner sketch? Arduino Playground - I2cScanner Probaj s njim - ako ga ni on ne detektira (uz pokušaje popravljana električnog kontakta), onda nešto stvarno nije u redu.

Probaj, pa ako još uvijek ne radi, javi