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

How to Use Adafruit CCS811: Examples, Pinouts, and Specs

Image of Adafruit CCS811
Cirkit Designer LogoDesign with Adafruit CCS811 in Cirkit Designer

Introduction

The Adafruit CCS811 (Part ID: 3566) is a digital air quality sensor designed to measure indoor air quality. It detects the concentration of carbon dioxide (CO2) and total volatile organic compounds (TVOCs) in the air. The sensor uses advanced metal oxide (MOX) technology to provide accurate and reliable measurements. It communicates via the I2C protocol, making it easy to integrate into microcontroller-based systems.

Explore Projects Built with Adafruit CCS811

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 Smart Energy Monitoring and Control System
Image of smart: A project utilizing Adafruit CCS811 in a practical application
This circuit utilizes an ESP32 microcontroller to read from an ACS712 current sensor, a voltage sensor, and a DHT11 temperature and humidity sensor. It displays information on a 16x2 I2C LCD and controls a DC motor through a relay, with a buzzer for audible notifications. The circuit is powered by a 3.7V power source.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino Mega 2560 and Adafruit DS1841 Battery-Powered Sensor Interface
Image of Capacitance meter: A project utilizing Adafruit CCS811 in a practical application
This circuit is a sensor interface system powered by a 9V battery, featuring an Arduino Mega 2560 microcontroller and an Adafruit DS1841 digital potentiometer. The circuit includes resistors and capacitors for signal conditioning, with the Arduino handling data acquisition and communication via I2C with the DS1841.
Cirkit Designer LogoOpen Project in Cirkit Designer
Smart Weighing System with ESP8266 and HX711 - Battery Powered and Wi-Fi Enabled
Image of gggg: A project utilizing Adafruit CCS811 in a practical application
This circuit is a multi-sensor data acquisition system powered by a 18650 battery and managed by an ESP8266 microcontroller. It includes a load sensor interfaced with an HX711 module for weight measurement, an IR sensor, an ADXL345 accelerometer, a VL53L0X distance sensor, and a Neo 6M GPS module for location tracking. The system is designed for wireless data transmission and is supported by a TP4056 module for battery charging.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Controlled Smart Lighting System with Power Monitoring
Image of Energy Monitoring System: A project utilizing Adafruit CCS811 in a practical application
This circuit appears to be a multi-channel current monitoring system using several ACS712 current sensors to measure the current through different loads, likely bulbs connected to a 220V power source. The current readings from the sensors are digitized by an Adafruit ADS1115 16-bit ADC, which interfaces with an ESP32 microcontroller via I2C communication for further processing or telemetry. A buck converter is used to step down the voltage to power the ESP32 and the sensors, and the system is powered through a 2.1mm DC barrel jack, indicating it is designed for external power supply.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with Adafruit CCS811

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 smart: A project utilizing Adafruit CCS811 in a practical application
ESP32-Based Smart Energy Monitoring and Control System
This circuit utilizes an ESP32 microcontroller to read from an ACS712 current sensor, a voltage sensor, and a DHT11 temperature and humidity sensor. It displays information on a 16x2 I2C LCD and controls a DC motor through a relay, with a buzzer for audible notifications. The circuit is powered by a 3.7V power source.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Capacitance meter: A project utilizing Adafruit CCS811 in a practical application
Arduino Mega 2560 and Adafruit DS1841 Battery-Powered Sensor Interface
This circuit is a sensor interface system powered by a 9V battery, featuring an Arduino Mega 2560 microcontroller and an Adafruit DS1841 digital potentiometer. The circuit includes resistors and capacitors for signal conditioning, with the Arduino handling data acquisition and communication via I2C with the DS1841.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of gggg: A project utilizing Adafruit CCS811 in a practical application
Smart Weighing System with ESP8266 and HX711 - Battery Powered and Wi-Fi Enabled
This circuit is a multi-sensor data acquisition system powered by a 18650 battery and managed by an ESP8266 microcontroller. It includes a load sensor interfaced with an HX711 module for weight measurement, an IR sensor, an ADXL345 accelerometer, a VL53L0X distance sensor, and a Neo 6M GPS module for location tracking. The system is designed for wireless data transmission and is supported by a TP4056 module for battery charging.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Energy Monitoring System: A project utilizing Adafruit CCS811 in a practical application
ESP32-Controlled Smart Lighting System with Power Monitoring
This circuit appears to be a multi-channel current monitoring system using several ACS712 current sensors to measure the current through different loads, likely bulbs connected to a 220V power source. The current readings from the sensors are digitized by an Adafruit ADS1115 16-bit ADC, which interfaces with an ESP32 microcontroller via I2C communication for further processing or telemetry. A buck converter is used to step down the voltage to power the ESP32 and the sensors, and the system is powered through a 2.1mm DC barrel jack, indicating it is designed for external power supply.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications and Use Cases

  • Smart home air quality monitoring
  • HVAC systems
  • IoT environmental sensing
  • Indoor air quality research
  • Health and wellness devices

Technical Specifications

The following table outlines the key technical details of the Adafruit CCS811 sensor:

Parameter Value
Operating Voltage 3.3V to 5V
Communication Interface I2C
CO2 Measurement Range 400 ppm to 8192 ppm
TVOC Measurement Range 0 ppb to 1187 ppb
Operating Temperature Range -40°C to 85°C
Operating Humidity Range 10% to 95% RH (non-condensing)
Power Consumption 1.2mW (typical)
Dimensions 20mm x 18mm x 3mm

Pin Configuration and Descriptions

The Adafruit CCS811 sensor has the following pinout:

Pin Name Description
VIN Power input (3.3V to 5V). Connect to the power supply of your microcontroller.
GND Ground. Connect to the ground of your circuit.
SDA I2C data line. Connect to the SDA pin of your microcontroller.
SCL I2C clock line. Connect to the SCL pin of your microcontroller.
WAKE Wake pin. Pull low to enable the sensor. Can be tied to GND for continuous use.
RST Reset pin. Pull low to reset the sensor.
INT Interrupt pin. Can be used for event-driven applications.

Usage Instructions

How to Use the Component 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. Connect I2C Lines: Connect the SDA and SCL pins to the corresponding I2C pins on your microcontroller.
  3. Wake the Sensor: Pull the WAKE pin low to enable the sensor. If you want the sensor to remain active continuously, tie the WAKE pin to GND.
  4. Optional Connections: Use the RST pin to reset the sensor if needed. The INT pin can be used for interrupt-driven applications.
  5. Install Required Libraries: If using an Arduino, install the Adafruit CCS811 library from the Arduino Library Manager.

Important Considerations and Best Practices

  • Burn-in Period: The sensor requires a burn-in period of 48 hours for optimal accuracy during the first use.
  • Warm-up Time: Allow the sensor to warm up for 20 minutes before taking measurements.
  • I2C Address: The default I2C address is 0x5A. If the ADDR pin is pulled high, the address changes to 0x5B.
  • Environmental Conditions: Avoid exposing the sensor to high humidity or condensation, as this may damage the sensor.

Example Code for Arduino UNO

Below is an example code snippet to read CO2 and TVOC values from the Adafruit CCS811 sensor using an Arduino UNO:

#include <Wire.h>
#include "Adafruit_CCS811.h"

// Create an instance of the CCS811 sensor
Adafruit_CCS811 ccs;

void setup() {
  Serial.begin(9600); // Initialize serial communication
  Serial.println("CCS811 Air Quality Sensor Test");

  if (!ccs.begin()) {
    Serial.println("Failed to start CCS811 sensor! Check connections.");
    while (1);
  }

  // Wait for the sensor to be ready
  while (!ccs.available());
}

void loop() {
  if (ccs.available()) {
    if (!ccs.readData()) {
      // Read CO2 and TVOC values
      Serial.print("CO2: ");
      Serial.print(ccs.geteCO2());
      Serial.print(" ppm, TVOC: ");
      Serial.print(ccs.getTVOC());
      Serial.println(" ppb");
    } else {
      Serial.println("Error reading data from CCS811 sensor.");
    }
  }
  delay(1000); // Wait 1 second before the next reading
}

Troubleshooting and FAQs

Common Issues and Solutions

  1. Sensor Not Detected on I2C Bus:

    • Ensure the SDA and SCL pins are correctly connected to the microcontroller.
    • Verify the I2C address (0x5A or 0x5B) matches the configuration in your code.
    • Check for loose or faulty wiring.
  2. Incorrect or Unstable Readings:

    • Allow the sensor to complete its burn-in period (48 hours).
    • Ensure the sensor is operating within the specified temperature and humidity range.
    • Avoid placing the sensor near sources of contamination, such as adhesives or cleaning agents.
  3. Sensor Fails to Initialize:

    • Verify that the WAKE pin is pulled low or tied to GND.
    • Check the power supply voltage (3.3V to 5V) and ensure it is stable.

FAQs

Q: Can the CCS811 measure outdoor air quality?
A: The CCS811 is optimized for indoor air quality monitoring. Outdoor conditions, such as extreme temperatures and humidity, may affect its performance.

Q: How often should I calibrate the sensor?
A: The CCS811 performs automatic baseline correction. However, for best results, expose the sensor to fresh air periodically.

Q: Can I use the CCS811 with a 3.3V microcontroller?
A: Yes, the CCS811 is compatible with both 3.3V and 5V systems.

Q: What is the lifespan of the CCS811 sensor?
A: The sensor has an estimated operational lifespan of 5 years under normal usage conditions.