BME680 gas resistance values and IAQ calculation with BSEC library

Customer:

I need help understanding the Soldered BME680 sensor implementation.

I bought a BME680 from you about 2 years ago. Today I used it in a project with a DASDUINO CONNECT Plus connected via EasyC connector.

I’m calling:

bme680.readSensorData(tempC, humidity, pressure, gasResistance);

The value returned in gasResistance is between 400 to 600 (I let it run for a few hours).

Your documentation states this is a value in mOhm. Documentation available on the Internet generally mentions values in the range of tens of kOhm.

I also see that in BME680-SOLDERED.cpp in the readSensorData() function, the raw “gas” value is divided by 100.

Question: Is the value actually in mOhm?

The official BME680 documentation mentions values in Ohm. My goal is to use the BSEC library to get the IAQ value. The BSEC library expects resistance values in Ohm. When I divide the obtained value by 1000 (mOhm => Ohm), the IAQ is always 0.

Original message (Croatian)

Molim pomoc oko razumijevanja Soldered implementacije BME680 senzora.

Prije cca. 2 godine kupio sam od vas BME680. Danas sam ga upotrijebio u projektu u kojem koristim DASDUINO CONNECT Plus na kojeg je preko EasyC konektora spojen BME680.

bme680.readSensorData(tempC, humidity, pressure, gasResistance);

vrijednost dobivena u gasResistance je izmedju 400 do 600 (ostavio sam ga da radi par sati).

U vasoj dokumentaciji spominje se kako je to vrijednost u mOhm. Dokumentacija dostupna na Internetu uglavnom spominje vrijednosti reda velicine deseting kOhma.

Takodjer vidim da je u BME680-SOLDERED.cpp u funkciji readSensorData() ocitana vrijednost za “gas” podijeljena sa 100.

Pitanje: Je li vrijednost zaista u mOhm-ima?

Sluzbena BME680 dokumentacija spominje vrijednosti u Ohm-ima. Moj konacni cilj je upotrijebiti BSEC library kako bih dobio IAQ vrijednost. BSEC “Library” podrazumijeva vrijednost otpora u Ohm-ima … pa ako dobivenu vrijednost podijelim sa 1000 (mOhm => Ohm) IAQ je uvijek 0.

Originally submitted via email support on 4 January 2026. Migrated to the forum for community visibility.

Soldered Support:

Bosch documentation states a typical gas resistance range of hundreds to tens of kOhm as you mentioned. Your range values of 400-600 are realistic and good values, but they are not in mOhm as stated in the documentation (this will be corrected when the library is updated). The problem with the IAQ value is that when you divide the obtained value by 1000, you actually get values of 0.4-0.6 Ω, which is why the result is always 0. So you don’t need to divide the value further—send the value as returned from the readSensorData() function, which is already in Ohm.

If you need the most accurate IAQ display, we recommend using the BSEC Arduino library (GitHub - boschsensortec/BSEC-Arduino-library: Arduino library for BSEC to simplify integration into compatible platforms. To report issues, go to https://community.bosch-sensortec.com/t5/Bosch-Sensortec-Community/ct-p/bst_community · GitHub). When running a program with the BSEC library, the sensor needs some time to warm up, then it begins a “learning” process where it self-calibrates to provide the most accurate readings of all data. This learning process may take some time depending on the air conditions in the room.

Original message (Croatian)

Boschova dokumentacija navodi tipičan raspon vrijednosti za gas resistance od par stotina do desetak kOhm-a kao što ste naveli. Vaše vrijednosti raspona 400 - 600 su realne i dobre vrijednosti, ali nisu u mOhm kako je navedeno u dokumentaciji (ovo će biti popravljeno kada bude update library-ja). Problem sa IAQ vrijednosti je taj što tu dobivenu vrijednost podijelite sa 1000, onda zapravo dobivate vrijednosti 0.4 - 0.6 Ω i zato je rezulat uvijek 0. Dakle nije potrebno dodatno dijeliti vrijednost već poslati onu dobivenu iz readSensorData funkcije koja je već u Ohm-ima.
Ako Vam treba najtočniji prikaz IAQ vrijednosti preporuka je da koristite baš taj BSEC Arduino library (GitHub - boschsensortec/BSEC-Arduino-library: Arduino library for BSEC to simplify integration into compatible platforms. To report issues, go to https://community.bosch-sensortec.com/t5/Bosch-Sensortec-Community/ct-p/bst_community · GitHub). Prilikom pokretanja programa sa BSEC libaray-em senzoru je potrebno neko vrijeme da se ugrije a zatim započinje proces “učenja” u kojem se on sam kalibrira kako bi kasnije dobio najtočniji prikaz svih podataka, ovaj proces učenja može potrajati neko vrijeme ovisno o stanju zraka u prostoriji.
Ako imate još nekih pitanja vezano za korištenje ovog senzora i library-ja slobodno se javite.