ESP32 ENS160 Digital Metal-Oxide Multi-Gas Sensor

ENS160 Digital Metal-Oxide Multi-Gas Sensor image

ENS160

Protocol: I2C

Overview

The ENS160 is a digital MOX gas sensor optimized for indoor air quality monitoring. It provides accurate measurements of TVOC and eCO₂ levels, along with AQIs, making it ideal for applications in building automation, HVAC systems, and air purifiers. The sensor supports both I²C and SPI interfaces, allowing for flexible integration into various microcontroller platforms.

About ENS160 Digital Metal-Oxide Multi-Gas Sensor

The ENS160 is a high-precision metal-oxide (MOX) multi-gas sensor designed for indoor air quality monitoring. It detects total volatile organic compounds (TVOC) and equivalent CO₂ (eCO₂) levels, providing real-time air quality indices (AQIs).

Key Features

  • Multi-Gas Detection – Measures TVOC, eCO₂, and gases like ethanol, toluene, hydrogen, and nitrogen dioxide.
  • Four Independent MOX Sensor Elements – Each with its own hotplate control for enhanced selectivity and accuracy.
  • Superior Air Quality Monitoring – More precise than standard sensors like the CCS811, with improved gas selectivity.
  • I²C Communication – Seamless integration with ESP32, Arduino, and other microcontrollers.

With its advanced detection capabilities, the ENS160 is ideal for HVAC systems, smart home air monitoring, and industrial applications. 🚀

The ENS160 features on-chip algorithms for humidity and temperature compensation, baseline management, and calculation of AQIs, reducing the need for external processing. It supports both I²C and SPI interfaces, facilitating easy integration into various applications such as building automation, smart home systems, HVAC, and air purifiers.

Where to Buy

ENS160 Digital Metal-Oxide Multi-Gas Sensor

Starting from

10$ per piece

Amazon com
Amazon.com Ships worldwide
View Price
Amazon de
Amazon.de Ships to EU
View Price
Aliexpress
AliExpress Best value
View Price

Prices are subject to change. We earn from qualifying purchases as an Amazon Associate.

Technical Specifications

Measurement Parameters TVOC, eCO₂, AQI
Operating Voltage 1.71V to 1.98V (VDD); 1.71V to 3.6V (VDDIO)
Interface I²C, SPI
Operating Temperature -40°C to 85°C
Operating Humidity 5% to 95% RH (non-condensing)
Package 3 x 3 x 0.9 mm LGA

Pinout Configuration

The VCC pin is used to supply power to the sensor, and it typically requires 3.3V or 5V (refer to the datasheet for specific voltage requirements). The GND pin is the ground connection and must be connected to the ground of your ESP32.

The ENS160 pinout is as follows:

  • VIN: Power supply input (1.71V to 1.98V).
  • GND: Ground connection.
  • SDA: I²C data line.
  • SCL: I²C clock line.
  • INT: Interrupt output (optional).
  • WAKE: Wake-up control input.
  • ADDR: I²C address selection.
  • CS: Chip select for SPI interface (tie to GND for I²C mode).

Wiring with ESP32

To interface the ENS160 with a microcontroller like an Arduino or ESP32 using I²C, connect the sensor's VIN to the 3.3V or 5V power supply (depending on the breakout board specifications), GND to ground, SDA to the microcontroller's SDA pin, and SCL to the microcontroller's SCL pin. Ensure that appropriate pull-up resistors are present on the I²C lines if not already provided on the breakout board. For SPI communication, additional connections and configurations are required as per the sensor's datasheet.

Troubleshooting Guide

Common Issues

💻 Compilation Error: 'TwoWire::begin(uint8_t&, uint8_t&)'

❌ ENS160 Readings Unavailable in ESPHome

⚠️ ENS160 Fails to Initialize with WiFi Enabled on ESP32

❌ ENS160 Not Detected on I2C Bus

Debugging Tips

🔍 Serial Monitor

⚡ Voltage Checks

Code Examples

Arduino Example

C++
🔧

ESP-IDF Example

C++
🏠

ESPHome Example

YAML
🛠️

PlatformIO Example

C++
🐍

MicroPython Example

Python

Conclusion

The ESP32 ENS160 Digital Metal-Oxide Multi-Gas Sensor is a powerful Air Quality sensor that offers excellent performance and reliability. With support for multiple development platforms including Arduino, ESP-IDF, ESPHome, PlatformIO, and MicroPython, it's a versatile choice for your IoT projects.

For optimal performance, ensure proper wiring and follow the recommended configuration for your chosen development platform.

Always verify power supply requirements and pin connections before powering up your project to avoid potential damage.