BME280 breakout board gives constant -147.29°C and incorrect pressure readings

Customer:

I purchased your BME280 sensor breakout board. This isn’t my first board with this sensor, but it’s my first one from your production.

I’m having problems with the readings. I’m getting values like 616 hPa, -147.29 °C (constantly) and humidity 38.4%.

I verified that everything is connected properly and the connections are good. I tried connecting another board with the same sensor to the same RPi and got correct readings.

I’m using Pimatic https://pimatic.org/ with this plugin https://www.npmjs.com/package/pimatic-bme280, which uses this library https://www.npmjs.com/package/node-bme280 in the background to communicate with the BME280 sensor.

I looked at the Arduino implementation https://github.com/e-radionicacom/BME280-Arduino-Library but I don’t see obvious problems in the code mentioned above. Do you have any suggestions? Are you familiar with issues around this board?

Original message (Croatian)

kupio sam vasu plocicu s BME280 senzorom. Ovo mi nije prva plocica s ovim senzorom, ali je prva plocica vase izrade.

Imam problema s ocitanjima. Dobivam vrijednosti tipa 616 hPa, -147.29 C (konstantno) i vlagu 38.4%

Provjerio sam da je sve spojeno pravilno i da su spojevi dobri. Pokusao sma na isti RPi spojiti drugu plocicu s istim senzorom i dobio sam dobro ocitanje.

Koristim Pimatic https://pimatic.org/

s ovim pluginom https://www.npmjs.com/package/pimatic-bme280

koji u pozadini koristi ovaj library https://www.npmjs.com/package/node-bme280 za komunikaciju s BME280 senzorom.

Pogledao sam implementaciju za arduino https://github.com/e-radionicacom/BME280-Arduino-Library ali ne primjecujem ocite probleme u gore spomenutom kodu. Imate li kakvih savjeta? Jeste li upoznati s problemima oko ove plocice?

Originally submitted via email support on 28 September 2017. Migrated to the forum for community visibility.

Soldered Support:

Is the other BME280 board you tested also our production? The I2C addresses are the same in both libraries. Do you have an Arduino or Croduino board you could quickly test the sensor with? It’s unlikely but possible that the sensor is defective. Let me know your answers and we can see what the next step is.

Original message (Croatian)

hvala na javljanju i žao mi je zbog nastalih problema! Prvi puta čujemo za ovaj problem. Je li druga pločica s BME280 koju ste probali isto naše proizvodnje?

I2C adrese su iste u oba “libraryja”. Imate li možda Arduino/Croduino pločicu da nabrzinu isprobate senzor?

Mala je mogućnost, ali postoji, da je senzor neispravan. Javite odgovore na ova pitanja pa ćemo vidjeti koji je sljedeći korak.

Customer:

The other board is specifically this one: 404 page .html?spm=a2g0s.9042311.0.0.NliEet

The library is not written specifically for that board in any way.

Unfortunately, I don’t have physical access to the board since I’m no longer in the location, but it’s connected to an RPi and I can connect via VPN and try your suggestions.

Do you have any code for RPi that you know for sure works? Is there a recalibration and reset procedure? I tried sending a reset command mentioned in Bosch’s documentation, but it didn’t help.

Original message (Croatian)

hvala na brzom odgovoru.

Druga plocica je konkretno ova: 404 page .html?spm=a2g0s.9042311.0.0.NliEet

Spomenuti library nije ni na koji nacin posebno pisan za tu plocicu.

Nazalost, nemam fizickog pristupa plocici jer nisam vise u Zagrebu, ali ju imam zakopcanu na RPi i mogu se spojiti putem VPNa pa isprobati prijedloge.

Imate li mozda neki kod za RPi za koji znate da sigurno radi?

Postoji li neki postupak rekalibracije i reseta? Pokusao sam sa slanjem reset nardbe koja je spomenuta u Boschovoj dokumentaciji, ali nije pomoglo.

[name removed]

Soldered Support:

Unfortunately we haven’t tested the BME280 with Raspberry Pi. We’ve tested and installed dozens of units on Arduino. I’d suggest a reset command via I2C, but if you’ve already tried that, then I see you know what you’re doing. The sensors are factory calibrated (you can even retrieve that data from the device memory) so there’s no option for additional calibration. After this, nothing else comes to mind. Perhaps I can test it on Raspberry Pi in the coming days to confirm that the code works. The chances are that you got a “bad unit” and it’s awkward now because we have no way to replace it since you’re not physically at the board.

Original message (Croatian)

hvala na feedbacku! Nažalost nismo probali BME280 s Raspberryjem. Probali smo i ugradili više desetaka komada na Arduinu.

Predložio bih reset komandu putem I2C-a, ali ako ste to već probali.. onda vidim da razumijete što radite :slight_smile: senzori su inače tvornički kalibrirani(čak se i može doći do tih podataka iz memorije uređaja) tako da ni ne postoji opcija dodatne kalibracije.

Nakon ovoga, ne pada mi više ništa napamet. Jedino možda mogu ovih dana isprobati na Raspberyju da bih potvrdio da kod radi. Šanse su da ste dobili “bad unit” i sad je nezgodno jer nemamo kako zamijeniti budući da niste fizički kod pločice.

Customer:

Since there’s no hurry, I’d appreciate it if you could test Raspberry Pi with the code and a board you know works when you get a chance. If you get the same results, then it’s a bad unit, otherwise something is wrong with the library or the board isn’t compatible with RPi in some way.

To start, you could try the Python scripts from the two links below, that should be faster. They give me the same results, but with slightly lower pressure (about 200 hPa lower, I haven’t read the math they do, but the temp and humidity are the same).

I forgot to mention that I can see the board on the I2C interface using the i2cdetect -y 1 command at address 0x76 and there are no problems with communication.

Original message (Croatian)

obzirom da nema zurbe bio bi zahvalan da isprobate RPi s istim kodom i plocicom za koju znate da radi kad stignete. Ako dobijete iste rezultate, onda je rijec o bad unitu, a inace nesto ne valja s libraryem ili plocica nije kompatibilna s RPi na naku foru.

Za prvu ruku mozete isprobati i python skripte s donja dva linka, to bi trebalo biti brze. One mi daju iste rezultate, ali malo manji tlak (cca 200 hPa manji, nisam citao matematiku koju izvode, ali temp i vlaga su isti)

GitHub - adafruit/Adafruit_Python_BME280: Python Driver for the Adafruit BME280 Breakout · GitHub

Using the BME280 I2C Temperature and Pressure Sensor in Python - Raspberry Pi Spy

Zaboravio sam napomenuti da plocicu vidim na i2c sucelju pomocu naredbe i2cdetect -y 1 na adresi 0x76 i nema problema pri komunikaciji.

Customer:

Any news? I still have someone at the location with access to the board today.

Original message (Croatian)

Ima kakvih vijesti? Danas još imam nekoga na lokaciji sa pristupom pločici.

[name removed]

Soldered Support:

I tested more modules hoping to find the defective one and on the twentieth or so I found one that gave the same result as yours. I put it through reflow and now everything works fine. So I’m now pretty confident that this is a bad unit. Everything else is tested and this doesn’t happen often. Do you have a suggestion for what to do now, since sending a replacement board doesn’t make sense since you’re not at the location?

Original message (Croatian)

Isprobavao sam još modula u nadi da ću pronaći neispravan i na 20-i-nekome našao sam jedan(iako sam hrpe “netestiranih”) koji je dao isti rezultat kao i tvoj.

Stavio sam ga u reflow ponovno i sada sve radi okej. Tako da, sad sam prilično siguran da se radi o bad unit-u. Inače je sve testirano i ovo se ne događa često.

Imate kakav prjedlog što sada napraviti, budući da slanje nove pločice nema smisla jer niste na lokaciji?