Hello, I have designed a product which has the BME680.
Now we like to upgrade to the BME688 which is pin/footprint compatible, so far so good.
But how can I determine from the firmware if I have the older BME680 or the newer BME688 ? They both have the same I2C address and the have the same chipId 0x50..
Somehow my firmware (which I can upgrade) needs to be able to work on older boards with the 680, and on newer boards with the 688.
Solved! Go to Solution.
By carefully comparing both datasheets, I see that the BME688 has an additional variant register (registeraddress 0xF0), returning the value 0x01.
I don't know what the BME680 will return if you read this, but maybe this register can be used to detect 680 vs 688 from firmware.
As I have some hardware with the BME680 on it, I will test it tomorrow.