11-13-2020 11:05 AM
Hi Folks,
Long story short ->
I'd like to let this sensor (sitting on "CJMCU-680" breakout) up & running on a Jetson Nano through I2C. My very 1st milestone is use BME680_driver.
Nothing really special. The breakout board choosed I2C Address 0x77. This should be the most "special" one I guess. 😄
---
Through
i2cdetect -y -r 0
I know the sensor is there, and I did got dump from i2cdump under this address as well. I can read some registers without changes. (To exclude possible hardware issue)
---
I got many input from repo (Bus read / write functions): bsec_bme680_linux
Could any one gives me a idea what can be wrong with my mini implementation? My Repo: Bosch_BME680_Jetson
The current symptom is: It only read out the values as follow:
Status: 128 Index: 255 T: 33.87 degC, P: 679.49 hPa, H 100.00 %rH
Solved! Go to Solution.
11-16-2020 11:00 PM
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.
11-17-2020 02:16 PM
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.
11-17-2020 11:16 PM
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.
11-19-2020 02:40 PM
| 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?]??
11-19-2020 06:15 PM
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.