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

How to Use Sensirion SCD40 CO₂ sensor breakout board: Examples, Pinouts, and Specs

Image of Sensirion SCD40 CO₂ sensor breakout board
Cirkit Designer LogoDesign with Sensirion SCD40 CO₂ sensor breakout board in Cirkit Designer

Introduction

The Sensirion SCD40 CO₂ sensor breakout board is a compact and highly accurate module designed for measuring carbon dioxide (CO₂) concentration in the air. It features the Sensirion SCD40 sensor, which utilizes photoacoustic sensing technology to deliver precise CO₂ measurements in a small form factor. This breakout board is ideal for applications such as indoor air quality monitoring, HVAC systems, greenhouses, and other environmental monitoring systems.

With its small size and I²C communication interface, the SCD40 breakout board is easy to integrate into a variety of projects, making it a popular choice for both hobbyists and professionals.

Explore Projects Built with Sensirion SCD40 CO₂ sensor breakout board

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Arduino Pro Mini Based CO2 Monitoring System with LoRa Wireless Transmission
Image of Caboma : A project utilizing Sensirion SCD40 CO₂ sensor breakout board in a practical application
This circuit is designed for CO2 monitoring and wireless data transmission. It uses an Arduino Pro Mini to read CO2 levels from a SenseAir S8 CO2 sensor and transmit the data via a LoRa Ra-02 SX1278 module. A step-up boost power converter is used to adjust the voltage for the Arduino and sensor, powered by an 18650 battery.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP8266-Controlled CO2 Monitoring System with Multi-Color LED Indicators and Buzzer Alarm
Image of Copy of PROYECTO MICA MONITOREO INALAMBRICO DE LA CALIDAD DEL AIRE: A project utilizing Sensirion SCD40 CO₂ sensor breakout board in a practical application
This circuit is designed to monitor CO2 levels in an environment using a SenseAir S8 CO2 sensor, with an ESP-8266 microcontroller handling data processing and communication. The ESP-8266 controls three LEDs (red, yellow, green) and a buzzer as indicators of CO2 concentration levels, and it is programmed to send CO2 data to a ThingSpeak server for remote monitoring. A push switch is connected to the reset pin of the ESP-8266 for manual resetting of the microcontroller.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Based Air Quality Monitoring Station with BMP280, SGP41, and PMS5003 Sensors
Image of indoor-sensors-v6: A project utilizing Sensirion SCD40 CO₂ sensor breakout board in a practical application
This circuit is designed for environmental sensing and monitoring, featuring multiple sensors including a BMP280 for barometric pressure and temperature, a SenseAir S8 for CO2 levels, a PMS5003 for particulate matter, and an SGP41 for VOC and NOx levels. These sensors are interfaced with an ESP32 microcontroller, which likely serves as the central processing unit to collect, process, and possibly transmit sensor data. The ESP32 is connected to the sensors using I2C (SDA/SCL lines) and serial communication (RX/TX lines), and it provides power to the sensors (3V3/VIN lines).
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Powered Environmental Monitoring System with SCD30, MQ-136, and Methane Sensors
Image of Biogas : A project utilizing Sensirion SCD40 CO₂ sensor breakout board in a practical application
This circuit is designed for environmental monitoring, utilizing an ESP32 microcontroller to collect data from various sensors including an MQ-136 for H2S detection, an SCD30 for CO2 and humidity measurement, and an SJH-100A for methane detection. The collected data is processed and can be integrated with Home Assistant for real-time monitoring and analysis.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with Sensirion SCD40 CO₂ sensor breakout board

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 Caboma : A project utilizing Sensirion SCD40 CO₂ sensor breakout board in a practical application
Arduino Pro Mini Based CO2 Monitoring System with LoRa Wireless Transmission
This circuit is designed for CO2 monitoring and wireless data transmission. It uses an Arduino Pro Mini to read CO2 levels from a SenseAir S8 CO2 sensor and transmit the data via a LoRa Ra-02 SX1278 module. A step-up boost power converter is used to adjust the voltage for the Arduino and sensor, powered by an 18650 battery.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Copy of PROYECTO MICA MONITOREO INALAMBRICO DE LA CALIDAD DEL AIRE: A project utilizing Sensirion SCD40 CO₂ sensor breakout board in a practical application
ESP8266-Controlled CO2 Monitoring System with Multi-Color LED Indicators and Buzzer Alarm
This circuit is designed to monitor CO2 levels in an environment using a SenseAir S8 CO2 sensor, with an ESP-8266 microcontroller handling data processing and communication. The ESP-8266 controls three LEDs (red, yellow, green) and a buzzer as indicators of CO2 concentration levels, and it is programmed to send CO2 data to a ThingSpeak server for remote monitoring. A push switch is connected to the reset pin of the ESP-8266 for manual resetting of the microcontroller.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of indoor-sensors-v6: A project utilizing Sensirion SCD40 CO₂ sensor breakout board in a practical application
ESP32-Based Air Quality Monitoring Station with BMP280, SGP41, and PMS5003 Sensors
This circuit is designed for environmental sensing and monitoring, featuring multiple sensors including a BMP280 for barometric pressure and temperature, a SenseAir S8 for CO2 levels, a PMS5003 for particulate matter, and an SGP41 for VOC and NOx levels. These sensors are interfaced with an ESP32 microcontroller, which likely serves as the central processing unit to collect, process, and possibly transmit sensor data. The ESP32 is connected to the sensors using I2C (SDA/SCL lines) and serial communication (RX/TX lines), and it provides power to the sensors (3V3/VIN lines).
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Biogas : A project utilizing Sensirion SCD40 CO₂ sensor breakout board in a practical application
ESP32-Powered Environmental Monitoring System with SCD30, MQ-136, and Methane Sensors
This circuit is designed for environmental monitoring, utilizing an ESP32 microcontroller to collect data from various sensors including an MQ-136 for H2S detection, an SCD30 for CO2 and humidity measurement, and an SJH-100A for methane detection. The collected data is processed and can be integrated with Home Assistant for real-time monitoring and analysis.
Cirkit Designer LogoOpen Project in Cirkit Designer

Technical Specifications

Key Technical Details

  • Sensor Type: Photoacoustic CO₂ sensor
  • Measurement Range: 400 ppm to 2000 ppm (parts per million)
  • Accuracy: ±(50 ppm + 5% of reading) at 25°C and 400–2000 ppm
  • Operating Voltage: 3.3V to 5V
  • Current Consumption:
    • Idle: ~1.5 µA
    • Measurement: ~2.6 mA
  • Communication Interface: I²C (7-bit address: 0x62)
  • Operating Temperature Range: -10°C to 60°C
  • Humidity Range: 0% to 95% RH (non-condensing)
  • Dimensions: 10 mm x 10 mm x 7 mm (sensor only)

Pin Configuration and Descriptions

The breakout board has 4 pins, as described in the table below:

Pin Name Description
1 VIN Power supply input (3.3V to 5V)
2 GND Ground
3 SDA I²C data line
4 SCL I²C clock line

Usage Instructions

How to Use the Component in a Circuit

  1. Power Supply: Connect the VIN pin to a 3.3V or 5V power source and the GND pin to ground.
  2. I²C Communication: Connect the SDA and SCL pins to the corresponding I²C pins on your microcontroller (e.g., Arduino UNO: A4 for SDA, A5 for SCL).
  3. Pull-Up Resistors: Ensure that the I²C lines (SDA and SCL) have pull-up resistors (typically 4.7 kΩ). Some breakout boards include these resistors; check the datasheet or board documentation.
  4. Initialization: Use an appropriate library or write custom code to initialize the sensor and read CO₂ data.

Important Considerations and Best Practices

  • Calibration: The SCD40 sensor features automatic self-calibration. Ensure the sensor is exposed to fresh air (400 ppm CO₂) periodically for accurate readings.
  • Placement: Avoid placing the sensor in areas with high humidity or direct airflow, as this may affect measurements.
  • Warm-Up Time: Allow the sensor to warm up for at least 5 minutes after power-up for stable readings.
  • I²C Address: The default I²C address is 0x62. Ensure no other devices on the I²C bus share this address.

Example Code for Arduino UNO

Below is an example of how to use the SCD40 breakout board with an Arduino UNO. This code uses the Sensirion SCD4x library, which can be installed via the Arduino Library Manager.

#include <Wire.h>
#include "SparkFun_SCD4x_Arduino_Library.h" // Include the SCD4x library

SCD4x scd40; // Create an SCD4x object

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

  if (scd40.begin() == false) {
    Serial.println("SCD40 not detected. Check connections.");
    while (1); // Halt execution if the sensor is not detected
  }

  Serial.println("SCD40 initialized successfully.");
}

void loop() {
  float co2, temperature, humidity;

  // Read CO₂, temperature, and humidity from the sensor
  if (scd40.readMeasurement(co2, temperature, humidity)) {
    Serial.print("CO2: ");
    Serial.print(co2);
    Serial.print(" ppm, Temp: ");
    Serial.print(temperature);
    Serial.print(" °C, Humidity: ");
    Serial.print(humidity);
    Serial.println(" %");
  } else {
    Serial.println("Failed to read from SCD40 sensor.");
  }

  delay(2000); // Wait 2 seconds before the next reading
}

Troubleshooting and FAQs

Common Issues and Solutions

  1. Sensor Not Detected:

    • Cause: Incorrect wiring or I²C address conflict.
    • Solution: Double-check the connections and ensure the I²C address (0x62) is unique on the bus.
  2. Inaccurate Readings:

    • Cause: Sensor not exposed to fresh air for calibration.
    • Solution: Periodically expose the sensor to fresh air to allow self-calibration.
  3. No Data Output:

    • Cause: Missing pull-up resistors on SDA and SCL lines.
    • Solution: Add 4.7 kΩ pull-up resistors if not already present.
  4. High Power Consumption:

    • Cause: Continuous measurement mode.
    • Solution: Use single-shot measurement mode if lower power consumption is required.

FAQs

  • Q: Can the SCD40 measure CO₂ levels above 2000 ppm?

    • A: No, the SCD40 is designed for a range of 400–2000 ppm. For higher ranges, consider using the SCD30 or other sensors.
  • Q: Does the sensor require manual calibration?

    • A: No, the SCD40 features automatic self-calibration. However, it must be exposed to fresh air periodically for accurate results.
  • Q: Can I use the SCD40 with a 3.3V microcontroller?

    • A: Yes, the SCD40 supports both 3.3V and 5V logic levels, making it compatible with a wide range of microcontrollers.
  • Q: How often should I take measurements?

    • A: For most applications, a measurement interval of 2–5 seconds is sufficient.