Good to know the sensor is working.
But this temperature inscreasing is not expected performance of the sensor even the GAS measurement is turnning on. It is already increased 8 degrees which is too big here.
Please also check if you have component on board to generate extra heat on PCB level.
Hi @Vincent, Thanks a lot for the reply.
After playing around with different drivers. I may slowly understand why every one want get BESEC library get compiled in their project. With a 3rd-party library (https://github.com/pimoroni/bme680), I read out my room enviroment T:22°C / H: 60%, with the official bme680_driver I successfully compiled yesterday, I read out T:33°C / H: 36%. Yes you are right, the difference is far away from each other.
I moved the break out on my workbench around to make sure it won't gethering heat any how, but still experienced similar symptom from both drivers. May the break out some how not a geniue BME680 soldered? (Breakout: CJMCU-680)
Thanks again.
I checked the link you provided to me, i don't think the BME680 is not wel soldered on the board which will cause your current issue of higher temperature.
What is your room temperature as reference here?
In general, i will say 33 degrees from BME680 API looks bit higher than expectation.
I need more details from your setup up which includes picture of system, position of BME680, sensor read out raw value, all calibration parameters from sensor, for better understanding the root cause of this issue.
| What is your room temperature as reference here?
Real temperature: 22.5°C, parameter in code:
gas_sensor.amb_temp = 15;
---
| In general, i will say 33 degrees from BME680 API looks bit higher than expectation.
I do agree.
| I need more details from your setup up which includes picture of system, position of BME680, sensor read out raw value, all calibration parameters from sensor, for better understanding the root cause of this issue.
No size specified (using byte-data access)
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: 21 aa 16 4d 23 00 47 22 00 00 01 f8 00 04 02 a0 !??M#.G"..??.???
10: a0 00 40 ff 00 00 20 00 1f 7f 1f 10 00 80 00 50 ?.@... .????.?.P
20: 61 90 76 68 c0 5d c2 80 00 00 6e a0 00 04 00 00 a?vh?]??..n?.?..
30: 80 00 00 80 00 00 80 00 80 00 00 00 04 00 04 00 ?..?..?.?...?.?.
40: 00 80 00 00 80 00 00 80 00 80 00 00 00 04 00 04 .?..?..?.?...?.?
50: 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ?...............
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
70: 10 10 02 04 8c 08 00 00 0f 04 fe 16 9b 08 10 00 ??????..???????.
80: 86 2e 89 56 35 11 7f 06 b1 c0 54 67 03 f0 03 89 ?.?V5?????Tg????
90: 6c d7 58 00 3f 24 f8 fe 17 1e 00 00 8f fe 37 f2 l?X.?$????..??7?
a0: 1e 7d 22 00 00 00 00 00 00 00 00 00 33 00 00 c0 ?}".........3..?
b0: 00 54 00 00 00 00 60 02 00 01 00 50 1f 60 03 00 .T....`?.?.P?`?.
c0: 04 00 8c ff 0f 00 00 00 02 11 00 00 00 00 00 00 ?.?.?...??......
d0: 61 01 00 00 00 00 00 00 00 00 00 00 04 10 40 00 a?..........??@.
e0: 00 3e 43 35 00 2d 14 78 9c c9 65 e9 e6 d5 12 50 .>C5.-?x??e????P
f0: 00 00 02 04 8c 08 00 50 61 90 76 68 c0 5d c2 80 ..????.Pa?vh?]??
From the picture you provided, the BME680 is far away from the heat source. so i will not expect any self heating which brings the temperature value upto 33 degrees.
You try the memory dump which is not easy for me to read through. i'm sorry for that.
Did you start from register address 0x00?
Do you able to go little deep inside bme680.c? during the initialize, the bme680_init should try to read the calibration parameters. if you can print out the value after that call, it will be helpful for me to take deep look into the issue.