Hi. Here is a SW trace from I2C communication. I have tried to decode the configuration // First at sensor init
00> [00:00:00.046,813] <wrn> BME280: Read 1 bytes from 0xd0
00> [00:00:00.046,844] <wrn> BME280: Result
00> 58 |X
00> [00:00:00.049,468] <wrn> BME280: Read 24 bytes from 0x88
00> [00:00:00.049,499] <wrn> BME280: Result
00> 43 6b 8d 64 32 00 20 95 11 d6 d0 0b a7 1b d7 ff |Ck.d2. . ........
00> f9 ff 8c 3c f8 c6 70 17 |...<..p.
00> [00:00:00.049,499] <wrn> BME280: Write 0x55 to 0xf4
// 0x55
// 0101 0101
// 010- ---- temp oversampling - 2X
// ---1 01-- press oversampling - 16X
// ---- --01 power mode - Forced mode
// 00> [00:00:00.049,896] <wrn> BME280: Write 0xa8 to 0xf5
// 0xA8
// 1010 1000
// 101- ---- inactive time, not used in force mode
// ---0 10-- filter 2
// ---- --00 SPI disabled
// Then when measurement is made
00> [00:00:18.111,206] <wrn> BME280: Write 0x55 to 0xf4
00> [00:00:18.115,264] <wrn> BME280: Read 1 bytes from 0xf3
00> [00:00:18.115,264] <wrn> BME280: Result
00> 0c |.
00> [00:00:18.118,927] <wrn> BME280: Read 1 bytes from 0xf3
00> [00:00:18.118,927] <wrn> BME280: Result
00> 0c |.
00> [00:00:18.122,589] <wrn> BME280: Read 1 bytes from 0xf3
00> [00:00:18.122,589] <wrn> BME280: Result
00> 0c |.
00> [00:00:18.126,251] <wrn> BME280: Read 1 bytes from 0xf3
00> [00:00:18.126,281] <wrn> BME280: Result
00> 0c |.
00> [00:00:18.129,974] <wrn> BME280: Read 1 bytes from 0xf3
00> [00:00:18.129,974] <wrn> BME280: Result
00> 0c |.
00> [00:00:18.134,338] <wrn> BME280: Read 1 bytes from 0xf3
00> [00:00:18.134,338] <wrn> BME280: Result
00> 0c |.
00> [00:00:18.138,000] <wrn> BME280: Read 1 bytes from 0xf3
00> [00:00:18.138,031] <wrn> BME280: Result
00> 0c |.
00> [00:00:18.141,662] <wrn> BME280: Read 1 bytes from 0xf3
00> [00:00:18.141,662] <wrn> BME280: Result
00> 0c |.
00> [00:00:18.145,324] <wrn> BME280: Read 1 bytes from 0xf3
00> [00:00:18.145,324] <wrn> BME280: Result
00> 0c |.
00> [00:00:18.148,986] <wrn> BME280: Read 1 bytes from 0xf3
00> [00:00:18.148,986] <wrn> BME280: Result
00> 04 |.
00> [00:00:18.149,993] <wrn> BME280: Read 6 bytes from 0xf7
00> [00:00:18.150,024] <wrn> BME280: Result
00> 4d 07 70 79 fe 80 |M.py..
00> [00:00:18.150,054] <dbg> bmp280.late_bmp280_measurement: BMP280 temperature: 18.520000
00> [00:00:18.150,115] <dbg> bmp280.late_bmp280_measurement: Return pressure (kPa): 100.340863
// The sequence and values above were identical through 5 boots, after 6th boot:
00> [00:00:00.047,119] <wrn> BME280: Read 1 bytes from 0xd0
00> [00:00:00.047,180] <wrn> BME280: Result
00> 58 |X
00> [00:00:00.049,835] <wrn> BME280: Read 24 bytes from 0x88
00> [00:00:00.049,835] <wrn> BME280: Result
00> 43 6b 8d 64 32 00 20 95 11 d6 d0 0b a7 1b d7 ff |Ck.d2. . ........
00> f9 ff 8c 3c f8 c6 70 07 |...<..p.
00> [00:00:00.049,865] <wrn> BME280: Write 0x55 to 0xf4
00> [00:00:00.050,262] <wrn> BME280: Write 0xa8 to 0xf5
// Measurement starts
00> [00:00:18.190,093] <wrn> BME280: Write 0x55 to 0xf4
00> [00:00:18.194,122] <wrn> BME280: Read 1 bytes from 0xf3
00> [00:00:18.194,122] <wrn> BME280: Result
00> 0c |.
00> [00:00:18.197,784] <wrn> BME280: Read 1 bytes from 0xf3
00> [00:00:18.197,784] <wrn> BME280: Result
00> 0c |.
00> [00:00:18.201,446] <wrn> BME280: Read 1 bytes from 0xf3
00> [00:00:18.201,446] <wrn> BME280: Result
00> 0c |.
00> [00:00:18.205,108] <wrn> BME280: Read 1 bytes from 0xf3
00> [00:00:18.205,108] <wrn> BME280: Result
00> 0c |.
00> [00:00:18.208,801] <wrn> BME280: Read 1 bytes from 0xf3
00> [00:00:18.208,831] <wrn> BME280: Result
00> 0c |.
00> [00:00:18.213,134] <wrn> BME280: Read 1 bytes from 0xf3
00> [00:00:18.213,134] <wrn> BME280: Result
00> 0c |.
00> [00:00:18.216,796] <wrn> BME280: Read 1 bytes from 0xf3
00> [00:00:18.216,827] <wrn> BME280: Result
00> 0c |.
00> [00:00:18.220,489] <wrn> BME280: Read 1 bytes from 0xf3
00> [00:00:18.220,489] <wrn> BME280: Result
00> 0c |.
00> [00:00:18.224,151] <wrn> BME280: Read 1 bytes from 0xf3
00> [00:00:18.224,151] <wrn> BME280: Result
00> 0c |.
00> [00:00:18.227,813] <wrn> BME280: Read 1 bytes from 0xf3
00> [00:00:18.227,813] <wrn> BME280: Result
00> 04 |.
00> [00:00:18.228,820] <wrn> BME280: Read 6 bytes from 0xf7
00> [00:00:18.228,851] <wrn> BME280: Result
00> 4d 1e 40 3a 46 80 |M.@:F.
00> [00:00:18.228,881] <dbg> bmp280.late_bmp280_measurement: BMP280 temperature: -61.-550000
// Code notices that result is rubbish, and tries to read it again
00> [00:00:18.228,912] <wrn> bmp280: BMP280 temp: -61.-550000, HDC2080 temp: 17.81
00> [00:00:18.228,912] <wrn> bmp280: Maybe invalid pressure. new: 86.693117, old: 0.000000
00> [00:00:18.239,013] <wrn> BME280: Write 0x55 to 0xf4
00> [00:00:18.245,574] <wrn> BME280: Read 1 bytes from 0xf3
00> [00:00:18.245,574] <wrn> BME280: Result
00> 0c |.
00> [00:00:18.249,237] <wrn> BME280: Read 1 bytes from 0xf3
00> [00:00:18.249,237] <wrn> BME280: Result
00> 0c |.
00> [00:00:18.252,899] <wrn> BME280: Read 1 bytes from 0xf3
00> [00:00:18.252,899] <wrn> BME280: Result
00> 0c |.
00> [00:00:18.256,561] <wrn> BME280: Read 1 bytes from 0xf3
00> [00:00:18.256,561] <wrn> BME280: Result
00> 0c |.
00> [00:00:18.260,223] <wrn> BME280: Read 1 bytes from 0xf3
00> [00:00:18.260,253] <wrn> BME280: Result
00> 0c |.
00> [00:00:18.263,916] <wrn> BME280: Read 1 bytes from 0xf3
00> [00:00:18.263,916] <wrn> BME280: Result
00> 0c |.
00> [00:00:18.267,578] <wrn> BME280: Read 1 bytes from 0xf3
00> [00:00:18.267,608] <wrn> BME280: Result
00> 0c |.
00> [00:00:18.271,270] <wrn> BME280: Read 1 bytes from 0xf3
00> [00:00:18.271,270] <wrn> BME280: Result
00> 0c |.
00> [00:00:18.278,015] <wrn> BME280: Read 1 bytes from 0xf3
00> [00:00:18.278,045] <wrn> BME280: Result
00> 04 |.
00> [00:00:18.279,052] <wrn> BME280: Read 6 bytes from 0xf7
00> [00:00:18.279,052] <wrn> BME280: Result
00> 4d 21 50 7a 55 80 |M!PzU.
// Too low pressure
00> [00:00:18.279,113] <dbg> bmp280.late_bmp280_measurement: Return pressure (kPa): 99.141820 It is also interesting that calibration parameters are different when pressure drops 10mBar 43 6b 8d 64 32 00 20 95 11 d6 d0 0b a7 1b d7 ff f9 ff 8c 3c f8 c6 70 17 43 6b 8d 64 32 00 20 95 11 d6 d0 0b a7 1b d7 ff f9 ff 8c 3c f8 c6 70 07 I understood from datasheet that these should be constant
... View more