BME680: Temperature msmt OK, Pressure & Humidity Not Good

Hello:

I am using the latest C code provided in the gitHub repository: bme680.c, bme680.h, and bme680_defs.h

I have built a functional code module to configure and read the BME680. It configures good, I get back a 0x61 for the module type, and no other errors during the initialization or setup as I check the "rslt"  flag each time.

The controller is a STM32L4 series and the I2C seems to be functioning good. I have an array of 30 bytes in which to contain the return data after a read.

This is passed back to the BME software via the read and write calls:

int8_t user_i2c_read(uint8_t dev_addr, uint8_t reg_addr, uint8_t *reg_data, uint16_t cnt)

int8_t user_i2c_read(uint8_t dev_addr, uint8_t reg_addr, uint8_t *reg_data, uint16_t cnt)

I am using the exact example code as provided on the page:  https://github.com/BoschSensortec/BME680_driver, in the section "Example for reading all sensor data"

The read at an interval of 1 second.  below is the first 12 prints from the conversion, along with the status byte.

[0]T: 21.61 degC, P: 940.05 hPa, H 100.00 %rH
status = 80
[1]T: 21.61 degC, P: 648.99 hPa, H 100.00 %rH
status = 80
[2]T: 21.61 degC, P: 648.99 hPa, H 100.00 %rH
status = 80
[3]T: 21.60 degC, P: 648.99 hPa, H 100.00 %rH
status = 80
[4]T: 21.60 degC, P: 648.99 hPa, H 100.00 %rH
status = 80
[5]T: 21.61 degC, P: 648.99 hPa, H 100.00 %rH
status = 80
[6]T: 21.60 degC, P: 648.99 hPa, H 100.00 %rH
status = 80
[7]T: 21.60 degC, P: 648.99 hPa, H 100.00 %rH
status = 80
[8]T: 21.60 degC, P: 648.99 hPa, H 100.00 %rH
status = 80
[9]T: 21.60 degC, P: 648.99 hPa, H 100.00 %rH
status = 80
[10]T: 21.60 degC, P: 648.99 hPa, H 100.00 %rH
status = 80
[11]T: 21.60 degC, P: 648.99 hPa, H 100.00 %rH
status = 80
[12]T: 21.60 degC, P: 648.99 hPa, H 100.00 %rH
status = 80

The temperature is very accurate, and it responds perfectly to any changes. However, the RH and Humidity seem to be incorrect. Humidity never moves from 100%, and the pressure (649hPa=65kPa)) should be close to the current value of 100kpA .

Can anyone provide some help on what the issue might be?

Thank you,

Gary

 

 

 

 

 

Best reply by Minhwan

Hello Mayor, 

 

He found that this issue happened because of his I2C setup configuration. 

Thanks, 

View original
5 replies
Resolved