Skip to content

BME680 temperature, humidity, pressure and gas sensor

This feature is included only in tasmota-sensors.bin

Otherwise you must compile your build. Add the following to user_config_override.h:

#ifndef USE_BME680
#define USE_BME680    // Enable support for BME680 sensor using Bosch BME680 library (+4k code)

BME680 sensor, an environmental I2C sensor with temperature, humidity, barometric pressure and gas.

The BME680 takes those sensors to the next step in that it contains a small MOX sensor. The heated metal oxide changes resistance based on the volatile organic compounds (VOC) in the air, so it can be used to detect gasses & alcohols such as Ethanol, Alcohol and Carbon Monoxide, and perform air quality measurements. Note it will give you one resistance value, with overall VOC content, but it cannot differentiate gasses or alcohols.

See BME680 - Temperature, Humidity, Pressure and Gas Sensor for more information.



BME680 ESP8266
VCC 3.3V

Tasmota Settings~

In the Configuration -> Configure Module page assign:

  • GPIOx to I2C SDA (6)
  • GPIOy to I2C SCL (5)

After a reboot the driver will detect BME680 automatically and display temperature, humidity, pressure and gas resistance measured.


Sensor sends a tele/%topic%/SENSOR JSON reponse:

  "Time": "2019-11-03T21:25:53",
  "BME680": {
    "Temperature": 27.7,
    "Humidity": 65.2,
    "Pressure": 989,
    "Gas": 346.24
  "PressureUnit": "hPa",
  "TempUnit": "C"


TempOffset can be used for calibrating the measured temperature. This setting affects all temperature sensors on the device.

Breakout Boards~

Buy from: - Adafruit - AliExpress