I’ve recently purchased the Pimoroni bme680 breakout, and it’s behaving unexpectedly.
Running the “read-all.py” script stops returning correct values after an indeterminate period of time (between 10-20 minutes). The gas readout stops working, and the other measurements freeze at odd values:
2x I2C 1x SPI breakout garden on a RPi Zero W. Raspberry Pi OS, but not the very latest.
After playing with it for a while, it seems to have settled down. It’s been running for about 2 hours without issue, which is by far the longest it has been going. I’ll report back later with an update.
Ok, I have an i2c SPI Mini breakout garden and the i2c mini Breakout Garden plugged into the Mini Hat Hack3r, that connect to a Zero W. No issues I am aware of.
BME280, RV3028, LTR-559 in the i2c mini and a 0.96 LCD display in the i2c SPI mini.
I was running my Pi off of a laptop USB port, which I know isn’t ideal. I’ve moved it to a good USB power supply now to see how it runs. I suspect these kinds of precision components are sensitive to power quality.
I’m thinking its a faulty sensor. You could try the temperature-pressure-humididty.py example. Just to see if its only the air sensor part that’s glitching.
Yeah, disabling the gas sensor in the read-all.py script, it’s rock solid with just temp/press/humid. Looks like it’s the gas sensor that spoils things. Anyway, I’ve emailed Pimoroni so I’ll take it from there.
Did you get any resolution to this? I get the same with two Pimoroni BME680 boards.
Using temp-press-hum.py but with a 1s delay between readings, after about 15 mins:
The output is slightly different but measurement code is the same and I get the issue with the vanilla temp-press-hum.py too.
If I leave it running for a while, I get an exception:
Traceback (most recent call last):
File "temp-press-hum.py", line 36, in <module>
if sensor.get_sensor_data():
File "/usr/local/lib/python3.7/dist-packages/bme680/__init__.py", line 244, in get_sensor_data
status = self._get_regs(FIELD0_ADDR, 1)
File "/usr/local/lib/python3.7/dist-packages/bme680/__init__.py", line 296, in _get_regs
return self._i2c.read_byte_data(self.i2c_addr, register)
OSError: [Errno 121] Remote I/O error
If I don’t have the 1s delay, I typically just get the exception, after about 10 mins.
It’s plugged in to a pi400 via the breakout garden. I only have one in at a time and default 0x76.
Thanks, Richard
I have two BME680’s but I’m not using the gas sensor part. Mine are in headless setups with the WIFI turned off which makes it a bit of a PITA to mess with them.
I get the occasional glitch which I “think” is an io error. I have multiple i2c devices though, and no monitor connected to see what actually happened.
On the whole though IMHO my BME680’s are pretty reliable.
Thanks. Not sure if it’s the BME680. Both my sensors reliably fail in the right hand I2C slot on my breakout 400 (in a pi 400), but so far OK in the left hand I2C slot, and on the pi4.
My two BME680’s have male headers soldered on, which connect to female to female jumper wires, which then plug into a male header on a Proto hat.
I have a BME280 in an i2c Breakout Garden mini, first slot on the left. It also has an RV3028 and LT-559 in it. All working just fine, as far as I know. I’m running Enviro code on them. I have the 0.96 LCD in a i2c SPI Breakout Garden Mini showing the results. The two Breakout Garden MINI’s are plugged into a Mini Black Hat Hack3r. Pi Zero W.