06-09-2022 12:20 PM
Hello,
I'm using a BME680 sensor together with a Silicon Labs MGM210 module. I use SPI 4-Pin as the communication interface.
Reading and writing to the registers works well, I have verified the communication with an oscilloscope. Reading temperature and air pressure works well, the values fit the enviroinment.
However reading the Humidity does not work, I always get 0x8000h out of the register (or 100% after conversion). That would suggest that humidity measurements are disabled as this is the default register value. However they aren't. When initializing the sensor I write all 3 OSRs together (using Bosch's BME68x code on github). After that I have even read them back from the sensor and compared them... They have been written correctly! Writing definitely works, as the other channel outputs(for example temperature) correspond to the OSR values (i.e. they are set to their defaults with OSR_NONE, but read values with other OSR values set ). I really don't know what to do anymore. The Problem exists with all my 4 test units. (chip marking: 859 EP)
Are they defective? Maybe the soldering technique destroyed all 4 of them. However I really doubt that. They have been correctly reflow soldered.
06-09-2022 02:34 PM
Hi jbarrows4,
This is attached BME68X example code for your reference. If you also couldn't get humidity output with reference code, you need to check your hardware.
06-09-2022 04:01 PM
I'm sorry, but I don't see any attachments...
I always followed the BME68x code examples on github. I have given up a few months ago, but as I can see the library does now include a self-test. Maybe I will run that (even though, after quickly skimming through the code, it seems to just test if the values are within a user-defined margin)
06-09-2022 04:31 PM