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

How to Use ENS 160 Sensor: Examples, Pinouts, and Specs

Image of ENS 160 Sensor
Cirkit Designer LogoDesign with ENS 160 Sensor in Cirkit Designer

Introduction

The ENS160 Sensor by Adafruit is a high-performance MOX (Metal Oxide) gas sensor designed to detect a wide range of gases, including volatile organic compounds (VOCs) and other air quality indicators. This sensor is equipped with advanced algorithms to provide accurate air quality measurements, making it ideal for applications such as environmental monitoring, HVAC systems, smart home devices, and indoor air quality management.

The ENS160 is particularly well-suited for detecting harmful gases and monitoring air quality in real-time, enabling users to maintain healthier environments. Its compact design and I²C/SPI communication interfaces make it easy to integrate into various projects and systems.

Explore Projects Built with ENS 160 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 Wi-Fi Controlled Robotic System with Multiple Sensors and Motor Drivers
Image of mit: A project utilizing ENS 160 Sensor in a practical application
This circuit is a sensor and motor control system powered by a 9V battery and regulated by a buck converter. It includes multiple sensors (SEN0245, SEN0427, I2C BMI160) connected via I2C to an ESP32 microcontroller, which also controls two N20 motors with encoders through an MX1508 DC motor driver.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32 and ENS220-Based Wi-Fi Connected Environmental Sensor
Image of ENS220_Arduino_Drop_detection: A project utilizing ENS 160 Sensor in a practical application
This circuit integrates an ENS220 evaluation kit with an ESP32 Wroom microcontroller. The ENS220 sensor is connected to the ESP32 via I2C (SDA and SCL) and an interrupt pin, allowing the ESP32 to read environmental data such as temperature, humidity, and pressure from the sensor.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Based Environmental Monitoring System with Gas Sensors and OLED Display
Image of EnviroXpert Pro: A project utilizing ENS 160 Sensor in a practical application
This circuit is an environmental monitoring system using an ESP32 microcontroller. It integrates various sensors, including the MQ-7 and MQ135 gas sensors, ENS160+AHT21 air quality and temperature/humidity sensor, and a KY-037 microphone, to collect environmental data. The data is displayed on a 1.3" OLED screen.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32 and ENS220 Sensor-Based Wi-Fi Environmental Monitoring System
Image of Copy of ENS220_Arduino_I2C_connection: A project utilizing ENS 160 Sensor in a practical application
This circuit integrates an ESP32 Wroom microcontroller with an ENS220 evaluation kit sensor module. The ESP32 provides power and I2C communication (SCL and SDA) to the ENS220, enabling it to read environmental data such as temperature and humidity.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with ENS 160 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 mit: A project utilizing ENS 160 Sensor in a practical application
ESP32-Based Wi-Fi Controlled Robotic System with Multiple Sensors and Motor Drivers
This circuit is a sensor and motor control system powered by a 9V battery and regulated by a buck converter. It includes multiple sensors (SEN0245, SEN0427, I2C BMI160) connected via I2C to an ESP32 microcontroller, which also controls two N20 motors with encoders through an MX1508 DC motor driver.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of ENS220_Arduino_Drop_detection: A project utilizing ENS 160 Sensor in a practical application
ESP32 and ENS220-Based Wi-Fi Connected Environmental Sensor
This circuit integrates an ENS220 evaluation kit with an ESP32 Wroom microcontroller. The ENS220 sensor is connected to the ESP32 via I2C (SDA and SCL) and an interrupt pin, allowing the ESP32 to read environmental data such as temperature, humidity, and pressure from the sensor.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of EnviroXpert Pro: A project utilizing ENS 160 Sensor in a practical application
ESP32-Based Environmental Monitoring System with Gas Sensors and OLED Display
This circuit is an environmental monitoring system using an ESP32 microcontroller. It integrates various sensors, including the MQ-7 and MQ135 gas sensors, ENS160+AHT21 air quality and temperature/humidity sensor, and a KY-037 microphone, to collect environmental data. The data is displayed on a 1.3" OLED screen.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Copy of ENS220_Arduino_I2C_connection: A project utilizing ENS 160 Sensor in a practical application
ESP32 and ENS220 Sensor-Based Wi-Fi Environmental Monitoring System
This circuit integrates an ESP32 Wroom microcontroller with an ENS220 evaluation kit sensor module. The ESP32 provides power and I2C communication (SCL and SDA) to the ENS220, enabling it to read environmental data such as temperature and humidity.
Cirkit Designer LogoOpen Project in Cirkit Designer

Technical Specifications

Below are the key technical details of the Adafruit ENS160 MOX Gas Sensor:

Parameter Value
Manufacturer Adafruit
Part ID Adafruit ENS160 MOX Gas Sensor
Operating Voltage 3.3V to 5V DC
Communication Interfaces I²C, SPI
Operating Temperature Range -40°C to +85°C
Gas Detection VOCs, CO2 equivalents, and air quality
Power Consumption Low power consumption
Dimensions Compact breakout board (approx. 20mm x 20mm)

Pin Configuration and Descriptions

The ENS160 sensor breakout board has the following pin configuration:

Pin Name Description
VIN Power input (3.3V to 5V DC)
GND Ground connection
SDA I²C data line (used for communication with microcontrollers)
SCL I²C clock line (used for communication with microcontrollers)
CS Chip Select (used for SPI communication; connect to GND for I²C mode)
SDO SPI Data Out (used for SPI communication; leave unconnected for I²C mode)
INT Interrupt pin (optional, used for event signaling)
RST Reset pin (optional, used to reset the sensor)

Usage Instructions

How to Use the ENS160 Sensor in a Circuit

  1. Power the Sensor: Connect the VIN pin to a 3.3V or 5V power source and the GND pin to ground.
  2. Choose Communication Mode:
    • For I²C: Connect the SDA and SCL pins to the corresponding I²C pins on your microcontroller. Ensure the CS pin is connected to GND.
    • For SPI: Connect the CS, SDO, and other SPI pins to your microcontroller as per the SPI protocol.
  3. Install Required Libraries: If using an Arduino, install the Adafruit ENS160 library from the Arduino Library Manager.
  4. Write Code: Use the provided library functions to initialize the sensor, read air quality data, and process the results.

Important Considerations and Best Practices

  • Power Supply: Ensure a stable power supply to avoid inaccurate readings.
  • Warm-Up Time: Allow the sensor to warm up for a few seconds after powering it on for optimal performance.
  • Placement: Place the sensor in an area with good airflow for accurate air quality measurements.
  • Avoid Contaminants: Keep the sensor away from liquids, dust, and other contaminants that could damage it.

Example Code for Arduino UNO

Below is an example of how to use the ENS160 sensor with an Arduino UNO via I²C:

#include <Wire.h>
#include <Adafruit_ENS160.h>

// Create an instance of the ENS160 sensor
Adafruit_ENS160 ens160;

void setup() {
  Serial.begin(115200); // Initialize serial communication for debugging
  while (!Serial) delay(10); // Wait for Serial to initialize

  Serial.println("Adafruit ENS160 Test");

  // Initialize I²C communication and the ENS160 sensor
  if (!ens160.begin()) {
    Serial.println("Failed to find ENS160 sensor! Check connections.");
    while (1) delay(10); // Halt if sensor is not detected
  }

  Serial.println("ENS160 sensor initialized successfully!");
}

void loop() {
  // Read air quality data from the sensor
  ens160.readData();

  // Print air quality index (AQI) to the Serial Monitor
  Serial.print("Air Quality Index (AQI): ");
  Serial.println(ens160.getAQI());

  // Print equivalent CO2 (eCO2) levels
  Serial.print("Equivalent CO2 (eCO2): ");
  Serial.println(ens160.getECO2());

  // Print total VOCs (TVOC) levels
  Serial.print("Total VOCs (TVOC): ");
  Serial.println(ens160.getTVOC());

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

Troubleshooting and FAQs

Common Issues and Solutions

  1. Sensor Not Detected:

    • Ensure the VIN and GND pins are properly connected to the power supply.
    • Verify that the SDA and SCL pins are correctly connected to the microcontroller.
    • Check that the CS pin is grounded for I²C mode.
  2. Inaccurate Readings:

    • Allow the sensor to warm up for a few seconds after powering it on.
    • Ensure the sensor is placed in an area with good airflow.
    • Avoid exposing the sensor to extreme temperatures or humidity.
  3. Library Errors:

    • Ensure the Adafruit ENS160 library is installed and up to date.
    • Verify that the correct I²C address is being used (default: 0x53).

FAQs

Q: Can the ENS160 detect specific gases?
A: The ENS160 is optimized for detecting VOCs and providing air quality indices. It does not provide specific gas concentrations but offers equivalent CO2 (eCO2) and total VOC (TVOC) levels.

Q: Can I use the ENS160 with a 5V microcontroller?
A: Yes, the ENS160 breakout board includes level-shifting circuitry, making it compatible with both 3.3V and 5V systems.

Q: How often should I calibrate the sensor?
A: The ENS160 is factory-calibrated and does not require user calibration. However, ensure proper placement and avoid contaminants for consistent performance.

Q: What is the typical response time of the sensor?
A: The ENS160 has a fast response time, typically within a few seconds, depending on the gas concentration and environmental conditions.