adafruit / adafruit/Adafruit_CircuitPython_BME680
Gas sensor values fundamentally UNRELIABLE & BROKEN in multiple ways
- Dominant language
- Python
- Stars
- 63
- Forks
- 42
- PR merge metrics
- No merged PRs in 30d
Description
I have been rigorously observing the gas sensor values and observed the following multiple broken behaviors (I am using version 3.7.8)
1. The **initial** gas sensor reading is always just about 4X subsequent readings (this is not true for the temperature/humidity/pressure readings)
2. If the sensor is read repeatedly in relatively close succession (e.g., within 5 seconds), the gas value keeps increasing (the faster you re-read, the faster it goes up). The temperature/humidity/temperature values remain stable.
3. After such an artificial increase, the value of the gas sensor only *slowly* returns to normal (drops by about 4-5 kOhms every minute)
4. If two processes call the sensor in close proximity, then the sensor again spikes to 3-4 times its previous value (again this is only true for the gas reading, not the temperature/humidity/pressure readings). However, unlike in # 3, the value returns pretty much to baseline on the next reading (provided a minute or so has elapsed)
5. Different boards give widely different values for the gas reading (while consistent on temperature/humidity/pressure).
6. The output of the gas sensor seems to be very temperature dependent.
Assuming that I don't just have a bunch of bad sensors, it seems like some or all of this is due to bugs in the driver.
At *best* the gas sensor can be relied on to provide relative values when sampled no more frequently than about once a minute (without restarting between samples).
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing the reported gas-reading behavior with version 3.7.8, then inspect the BME680 driver’s sensor-read path and compare gas measurements with temperature, humidity, and pressure. Done means identifying and correcting the driver behavior behind the initial spike, repeated-read increase, recovery delay, or process interaction, with evidence that gas readings behave consistently.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- embedded-iot
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100