BME680 gas resistance values

Hi, my sensor arrived today in the mail. I will install and report values.

1 Like

So did you guys figure this out? I also have very low readings (8550ohm) and have no clue what this means.

Still waiting for input of other people… at least I am not alone :wink:


27899 Ohms lol but i am printing a 13 hours PLA part with my 3D Printer…

I read here

we can have a IAQ value with this formule :
comp_gas = log(R_gas[ohm]) + 0.04 log(Ohm)/%rh * hum[%rh]

How can i integrate this in EspHome with Lambda please?


Wow you found it.

I also want to know how to make it IAQ

you great !! thx.



but do you know how integrate this in Lambda please? :wink:

Your resistance is high (and thus air quality is also good) if you are printing PLA.

Perhaps I should also start printing more 3d parts to have better air quality :smile: :thinking:.

I wonder if we would put both sensors in the same room they would show the same values.


Hopefully PLA is not bad for health like ABS… :wink:

Is there a way to convert this value in EspHome? my knoledge is not enought good to make the Lambda formule with comp_gas = log(R_gas[ohm]) + 0.04 log(Ohm)/%rh * hum[%rh]

Any idea?

Did anyone convert gas resistance to AQI?

what are the ranges people are getting in Ohms? I have just set mine up via ESP home and was getting a constant 48633, it was like this for attest 24 hours. I have now moved across to a tasmota device I had lying round and im getting close to 10000.

I have mine in the basement, typically get values ranging from 12,000-16,000.
Last night I was working on some hydraulics, spraying penetrating oils and such, the value shot down to 5,600 overnight and has been crawling back up.

Does Tasmota AQI calculation?

No unfortunately, neither does esp home. I did notice last night though that the home assistant integration does.

I have the BME680 from Adafruit running, and have the IAQ calculatet this way:

  - platform: bme680
      name: "BME680 Temperature"
      oversampling: 16x
      name: "BME680 Pressure"
      name: "BME680 Humidity"
      id: hum
      name: "BME680 Gas Resistance"
      id: g_res
    address: 0x77
    update_interval: 60s  
# comp_gas = log(R_gas[ohm]) + 0.04 log(Ohm)/%rh * hum[%rh]    
  - platform: template
    name: "BME680 IAQ"
    id: IAQ
    unit_of_measurement: IAQ
    lambda: 'return log(id(g_res).state) + 0.04 *  id(hum).state;'  

Just use the lambda to do this simpel calculation.

Edit: I run this on a ESP32


Which integration?

1 Like

First off, thanks for posting the lambda for converting to IAQ. I do have a question though. Since setting this up, my IAQ has been a consistent ~10. I’ve tried blowing on the sensor, burning a candle nearby, trying to see if I see it change and…nothing. Anyone else having oddly consistent readings? All my other parameters seem to fluctuate.

Its working with esphome.

For anyone coming across this I found this one uses the bosch library which has it all built in now

# Minimal example configuration with common sensors


  - platform: bme680_bsec
      name: "BME680 Temperature"
      name: "BME680 Pressure"
      name: "BME680 Humidity"
      name: "BME680 IAQ"
      name: "BME680 CO2 Equivalent"
      name: "BME680 Breath VOC Equivalent"

  - platform: bme680_bsec
      name: "BME680 IAQ Accuracy"

from a room where people smoke

1 Like