Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use ENS160 Air Quality Sensor: Examples, Pinouts, and Specs

Image of ENS160 Air Quality Sensor
Cirkit Designer LogoDesign with ENS160 Air Quality Sensor in Cirkit Designer

Introduction

The ENS160 is a digital air quality sensor manufactured by PiicoDev, designed to measure various air quality parameters such as volatile organic compounds (VOCs), carbon dioxide (CO2), and total volatile organic compounds (TVOCs). This sensor provides real-time data, making it ideal for monitoring indoor air quality in applications like smart homes, HVAC systems, air purifiers, and IoT devices.

The ENS160 leverages advanced metal oxide (MOX) technology and integrates a microcontroller for on-chip processing, enabling accurate and reliable air quality measurements. Its compact design and I²C/SPI communication interfaces make it easy to integrate into a wide range of projects.

Explore Projects Built with ENS160 Air Quality Sensor

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
ESP32-Based IoT Indoor Air Quality Monitoring System with OLED Display and RGB LED
Image of air quality: A project utilizing ENS160 Air Quality Sensor in a practical application
This IoT indoor air quality monitoring circuit uses an ESP32 microcontroller to read data from a DHT22 temperature and humidity sensor, an MQ-7 carbon monoxide sensor, and a PM2.5 air quality sensor. The collected data is displayed on a 128x64 OLED display, and an RGB LED and PWM fan are controlled based on the air quality readings to indicate and manage air quality levels.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino UNO Air Purification System with MQ-135 and ENS160 Sensors
Image of airquality sensor: A project utilizing ENS160 Air Quality Sensor in a practical application
This circuit is an air purification system that uses an Arduino UNO to monitor air quality through an MQ-135 gas sensor and an ENS160+AHT21 sensor. If poor air quality is detected, the system activates an LED and turns on a fan to purify the air.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Based Air Quality Monitoring System with LoRa Communication
Image of Esquema_Proyect_Grade: A project utilizing ENS160 Air Quality Sensor in a practical application
This circuit is designed for environmental monitoring, featuring a collection of sensors interfaced with an ESP32 microcontroller. It includes a LoRa Ra-02 SX1278 module for long-range communication, various air quality sensors (CCS811, PMS5003, MQ6, MQ-7) for detecting pollutants and gases, and an SHT1x sensor for measuring temperature and humidity. The ESP32 collects sensor data and can transmit it wirelessly via LoRa, enabling remote air quality and climate monitoring.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Based Air Quality Monitoring System with Multiple Sensors
Image of IIIT_H_mini_project: A project utilizing ENS160 Air Quality Sensor in a practical application
This circuit is an air quality monitoring system that uses an ESP32 microcontroller to collect data from various sensors, including the MQ135 and MQ-2 gas sensors, a DHT11 temperature and humidity sensor, and a PMS5003 PM2.5 air quality sensor. The ESP32 processes the sensor data and can potentially transmit it for further analysis or display.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with ENS160 Air Quality Sensor

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of air quality: A project utilizing ENS160 Air Quality Sensor in a practical application
ESP32-Based IoT Indoor Air Quality Monitoring System with OLED Display and RGB LED
This IoT indoor air quality monitoring circuit uses an ESP32 microcontroller to read data from a DHT22 temperature and humidity sensor, an MQ-7 carbon monoxide sensor, and a PM2.5 air quality sensor. The collected data is displayed on a 128x64 OLED display, and an RGB LED and PWM fan are controlled based on the air quality readings to indicate and manage air quality levels.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of airquality sensor: A project utilizing ENS160 Air Quality Sensor in a practical application
Arduino UNO Air Purification System with MQ-135 and ENS160 Sensors
This circuit is an air purification system that uses an Arduino UNO to monitor air quality through an MQ-135 gas sensor and an ENS160+AHT21 sensor. If poor air quality is detected, the system activates an LED and turns on a fan to purify the air.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Esquema_Proyect_Grade: A project utilizing ENS160 Air Quality Sensor in a practical application
ESP32-Based Air Quality Monitoring System with LoRa Communication
This circuit is designed for environmental monitoring, featuring a collection of sensors interfaced with an ESP32 microcontroller. It includes a LoRa Ra-02 SX1278 module for long-range communication, various air quality sensors (CCS811, PMS5003, MQ6, MQ-7) for detecting pollutants and gases, and an SHT1x sensor for measuring temperature and humidity. The ESP32 collects sensor data and can transmit it wirelessly via LoRa, enabling remote air quality and climate monitoring.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of IIIT_H_mini_project: A project utilizing ENS160 Air Quality Sensor in a practical application
ESP32-Based Air Quality Monitoring System with Multiple Sensors
This circuit is an air quality monitoring system that uses an ESP32 microcontroller to collect data from various sensors, including the MQ135 and MQ-2 gas sensors, a DHT11 temperature and humidity sensor, and a PMS5003 PM2.5 air quality sensor. The ESP32 processes the sensor data and can potentially transmit it for further analysis or display.
Cirkit Designer LogoOpen Project in Cirkit Designer

Technical Specifications

Below are the key technical details of the ENS160 air quality sensor:

General Specifications

Parameter Value
Manufacturer PiicoDev
Part ID ENS160
Measurement Parameters VOCs, CO2, TVOCs
Operating Voltage 1.8V to 3.6V
Communication Interfaces I²C, SPI
Operating Temperature Range -40°C to +85°C
Power Consumption 1.1 mA (typical)
Package Type LGA

Pin Configuration

The ENS160 sensor has the following pin configuration:

Pin Name Pin Number Description
VDD 1 Power supply input (1.8V to 3.6V)
GND 2 Ground
SDA 3 I²C data line
SCL 4 I²C clock line
CS 5 Chip select for SPI (active low)
SDO 6 SPI data output
SDI 7 SPI data input
INT 8 Interrupt output (optional, configurable)
RST 9 Reset pin (active low, optional)

Usage Instructions

How to Use the ENS160 in a Circuit

  1. Power Supply: Connect the VDD pin to a 1.8V to 3.6V power source and the GND pin to ground.
  2. Communication Interface: Choose between I²C or SPI for communication:
    • For I²C, connect the SDA and SCL pins to the corresponding lines on your microcontroller.
    • For SPI, connect the CS, SDO, and SDI pins to the appropriate SPI lines.
  3. Pull-Up Resistors: If using I²C, ensure pull-up resistors (typically 4.7kΩ) are connected to the SDA and SCL lines.
  4. Interrupt and Reset: Optionally, connect the INT pin to monitor interrupts and the RST pin for hardware resets.
  5. Initialization: Configure the sensor using the appropriate commands for your chosen interface.

Important Considerations and Best Practices

  • Power Stability: Ensure a stable power supply to avoid measurement inaccuracies.
  • Placement: Place the sensor in an area with good airflow for accurate air quality readings.
  • Warm-Up Time: Allow the sensor to warm up for a few seconds after powering on for optimal performance.
  • I²C Address: The default I²C address of the ENS160 is 0x53. Ensure no address conflicts if multiple devices are on the same bus.

Example Code for Arduino UNO (I²C)

Below is an example of how to interface the ENS160 with an Arduino UNO using the I²C protocol:

#include <Wire.h> // Include the Wire library for I²C communication

#define ENS160_I2C_ADDRESS 0x53 // Default I²C address of the ENS160

void setup() {
  Wire.begin(); // Initialize I²C communication
  Serial.begin(9600); // Start serial communication for debugging

  // Initialize the ENS160
  Wire.beginTransmission(ENS160_I2C_ADDRESS);
  Wire.write(0x10); // Example: Write to a configuration register
  Wire.write(0x01); // Example: Set the sensor to active mode
  if (Wire.endTransmission() == 0) {
    Serial.println("ENS160 initialized successfully.");
  } else {
    Serial.println("Failed to initialize ENS160.");
  }
}

void loop() {
  // Request air quality data from the ENS160
  Wire.beginTransmission(ENS160_I2C_ADDRESS);
  Wire.write(0x02); // Example: Register address for air quality data
  Wire.endTransmission();

  Wire.requestFrom(ENS160_I2C_ADDRESS, 2); // Request 2 bytes of data
  if (Wire.available() == 2) {
    uint8_t highByte = Wire.read(); // Read high byte
    uint8_t lowByte = Wire.read();  // Read low byte
    int airQuality = (highByte << 8) | lowByte; // Combine bytes into a 16-bit value

    Serial.print("Air Quality Index: ");
    Serial.println(airQuality);
  }

  delay(1000); // Wait 1 second before the next reading
}

Troubleshooting and FAQs

Common Issues and Solutions

  1. Sensor Not Responding

    • Cause: Incorrect wiring or I²C address mismatch.
    • Solution: Double-check the wiring and ensure the correct I²C address (0x53) is used.
  2. Inaccurate Readings

    • Cause: Insufficient warm-up time or poor sensor placement.
    • Solution: Allow the sensor to warm up for a few seconds and ensure it is placed in an area with good airflow.
  3. Communication Errors

    • Cause: Missing pull-up resistors on the I²C lines.
    • Solution: Add 4.7kΩ pull-up resistors to the SDA and SCL lines.
  4. High Power Consumption

    • Cause: Sensor operating in high-power mode.
    • Solution: Configure the sensor to operate in low-power mode if supported.

FAQs

  1. Can the ENS160 measure CO2 directly?

    • No, the ENS160 estimates CO2 levels based on VOC measurements.
  2. What is the typical response time of the ENS160?

    • The sensor typically responds within a few seconds to changes in air quality.
  3. Is the ENS160 suitable for outdoor use?

    • The ENS160 is designed for indoor air quality monitoring and may not perform reliably in outdoor environments.
  4. Can I use the ENS160 with a 5V microcontroller?

    • Yes, but you will need a level shifter to step down the 5V signals to the sensor's operating voltage range (1.8V to 3.6V).