Skip to content

ENS161 indoor air quality sensor~

This feature is not included in precompiled binaries

When compiling your build add the following to user_config_override.h:

#ifndef USE_ENS16x
#define USE_ENS16x         

The ENS161 indoor air quality sensor is a low-cost solution for detecting air quality. This module uses MEMS hotplate coated with metal oxide semiconductor (MOx) technology to detect a broad range of VOCs (volotile organic compounds). In addition an CO2 equivalent value as well as a relative air quality index is reported. Two versions are available ENS160 and ENS161. ENS161 is the latest release offering in addition a low power option and AQIS output. THe driver is able to work with both options.



Follow datasheet for required pull-ups when connecting the bare sensor module directly to ESP8266. Wemos and NodeMCU board include the required pull-up. The component is operated with 3.3V and 1.8V. The sensor component can be operated with two differnet I2C addresses. So in principle the use of two components on the same I2C interface is possible.

Tasmota Settings~

In the Configuration -> Configure Module page assign:

  1. GPIOx to I2C SDA
  2. GPIOy to I2C SCL

After configuring the GPIO's the driver will check both possible I2C addresses and detect connected ENS161 sensors automatically.


Typical sensor reading should be around 450 ppm eCO2 and 125 ppb TVOC. The AQIS value is in the range of 0 to 500.

Where to get (e.g.)~

ENS161 Datasheet