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

How to Use SCD30: Examples, Pinouts, and Specs

Image of SCD30
Cirkit Designer LogoDesign with SCD30 in Cirkit Designer

Introduction

The SCD30, manufactured by Sensirion, is a high-precision digital sensor designed for measuring carbon dioxide (CO2), temperature, and humidity. It employs non-dispersive infrared (NDIR) technology for CO2 detection, ensuring accurate and reliable measurements. The SCD30 is widely used in applications such as indoor air quality monitoring, HVAC systems, greenhouses, and smart home devices. Its compact design and integrated temperature and humidity sensors make it a versatile solution for environmental sensing.

Explore Projects Built with SCD30

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-S3 GPS and Wind Speed Logger with Dual OLED Displays and CAN Bus
Image of esp32-s3-ellipse: A project utilizing SCD30 in a practical application
This circuit features an ESP32-S3 microcontroller interfaced with an SD card module, two OLED displays, a GPS module, and a CAN bus module. The ESP32-S3 records GPS data to the SD card, displays speed on one OLED, and shows wind speed from the CAN bus on the other OLED, providing a comprehensive data logging and display system.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-S3 GPS Logger and Wind Speed Display with Dual OLED and CAN Bus
Image of Copy of esp32-s3-ellipse: A project utilizing SCD30 in a practical application
This circuit features an ESP32-S3 microcontroller interfaced with an SD card, two OLED displays, a GPS module, and a CAN bus module. It records GPS data to the SD card every second, displays speed in knots on one OLED display, and shows wind speed from the CAN bus in NMEA 2000 format on the other OLED display.
Cirkit Designer LogoOpen Project in Cirkit Designer
Arduino UNO Controlled TCS3200 Color Sensor with I2C LCD Display
Image of CeledonioT3: A project utilizing SCD30 in a practical application
This circuit features an Arduino UNO microcontroller interfaced with a TCS3200 color sensor and an I2C LCD 16x2 display. The TCS3200 color sensor's output is connected to the Arduino's digital pin D12, and its frequency scaling pins (S0-S3) are connected to digital pins D8-D11 for configuration. The LCD display communicates with the Arduino via the I2C protocol, using A4 (SDA) and A5 (SCL) for data transfer, allowing the system to display color readings or other information from the sensor.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Powered Smart Audio System with Data Logging
Image of Para Smart Speaker 1 Pro: A project utilizing SCD30 in a practical application
This circuit is a sophisticated audio playback and recording system with timekeeping functionality. It features an ESP32 S3 microcontroller for digital signal processing, connected to a DAC, an I2S microphone, an RTC, and a Micro SD card module. The audio output is handled by a 2.1 channel amplifier driving stereo speakers and a subwoofer, with power supplied by a series of 3.7V batteries and regulated by a DC step-down converter.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with SCD30

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 esp32-s3-ellipse: A project utilizing SCD30 in a practical application
ESP32-S3 GPS and Wind Speed Logger with Dual OLED Displays and CAN Bus
This circuit features an ESP32-S3 microcontroller interfaced with an SD card module, two OLED displays, a GPS module, and a CAN bus module. The ESP32-S3 records GPS data to the SD card, displays speed on one OLED, and shows wind speed from the CAN bus on the other OLED, providing a comprehensive data logging and display system.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Copy of esp32-s3-ellipse: A project utilizing SCD30 in a practical application
ESP32-S3 GPS Logger and Wind Speed Display with Dual OLED and CAN Bus
This circuit features an ESP32-S3 microcontroller interfaced with an SD card, two OLED displays, a GPS module, and a CAN bus module. It records GPS data to the SD card every second, displays speed in knots on one OLED display, and shows wind speed from the CAN bus in NMEA 2000 format on the other OLED display.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of CeledonioT3: A project utilizing SCD30 in a practical application
Arduino UNO Controlled TCS3200 Color Sensor with I2C LCD Display
This circuit features an Arduino UNO microcontroller interfaced with a TCS3200 color sensor and an I2C LCD 16x2 display. The TCS3200 color sensor's output is connected to the Arduino's digital pin D12, and its frequency scaling pins (S0-S3) are connected to digital pins D8-D11 for configuration. The LCD display communicates with the Arduino via the I2C protocol, using A4 (SDA) and A5 (SCL) for data transfer, allowing the system to display color readings or other information from the sensor.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Para Smart Speaker 1 Pro: A project utilizing SCD30 in a practical application
ESP32-Powered Smart Audio System with Data Logging
This circuit is a sophisticated audio playback and recording system with timekeeping functionality. It features an ESP32 S3 microcontroller for digital signal processing, connected to a DAC, an I2S microphone, an RTC, and a Micro SD card module. The audio output is handled by a 2.1 channel amplifier driving stereo speakers and a subwoofer, with power supplied by a series of 3.7V batteries and regulated by a DC step-down converter.
Cirkit Designer LogoOpen Project in Cirkit Designer

Technical Specifications

The SCD30 offers robust performance and precise measurements. Below are its key technical details:

General Specifications

Parameter Value
CO2 Measurement Range 400 ppm to 10,000 ppm
CO2 Accuracy ±(30 ppm + 3% of reading)
Temperature Range -40°C to +70°C
Temperature Accuracy ±0.3°C
Humidity Range 0% RH to 100% RH
Humidity Accuracy ±3% RH
Supply Voltage 3.3V to 5.5V
Power Consumption 19 mA (average)
Communication Interface I2C and Modbus (via UART)
Dimensions 35 mm x 23 mm x 7 mm

Pin Configuration

The SCD30 has a 6-pin interface for power and communication. Below is the pinout description:

Pin Number Name Description
1 VDD Power supply (3.3V to 5.5V)
2 GND Ground
3 SDA I2C data line
4 SCL I2C clock line
5 RX (TXD) UART receive line (Modbus communication)
6 TX (RXD) UART transmit line (Modbus communication)

Usage Instructions

The SCD30 can be easily integrated into a circuit for CO2, temperature, and humidity sensing. Below are the steps and best practices for using the sensor:

Connecting the SCD30

  1. Power Supply: Connect the VDD pin to a 3.3V or 5V power source and the GND pin to ground.
  2. I2C Communication:
    • Connect the SDA pin to the I2C data line of your microcontroller.
    • Connect the SCL pin to the I2C clock line of your microcontroller.
    • Use pull-up resistors (typically 4.7 kΩ) on the SDA and SCL lines if not already present.
  3. UART Communication (Optional):
    • Connect the RX pin to the TX pin of your microcontroller.
    • Connect the TX pin to the RX pin of your microcontroller.

Arduino UNO Example Code

Below is an example of how to use the SCD30 with an Arduino UNO via I2C:

#include <Wire.h>
#include <SparkFun_SCD30_Arduino_Library.h> // Include the SCD30 library

SCD30 airSensor; // Create an SCD30 object

void setup() {
  Serial.begin(9600); // Initialize serial communication
  Wire.begin();       // Initialize I2C communication

  if (airSensor.begin() == false) {
    Serial.println("SCD30 not detected. Check wiring and try again.");
    while (1); // Halt execution if the sensor is not detected
  }
}

void loop() {
  if (airSensor.dataAvailable()) {
    // Read and print CO2, temperature, and humidity values
    Serial.print("CO2 (ppm): ");
    Serial.println(airSensor.getCO2());

    Serial.print("Temperature (°C): ");
    Serial.println(airSensor.getTemperature());

    Serial.print("Humidity (%): ");
    Serial.println(airSensor.getHumidity());

    Serial.println(); // Print a blank line for readability
  } else {
    Serial.println("No data available. Waiting...");
  }

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

Best Practices

  • Ensure the sensor is placed in an environment with good airflow for accurate readings.
  • Avoid exposing the sensor to high humidity or condensation for prolonged periods.
  • Calibrate the sensor periodically for optimal performance, especially in environments with varying CO2 levels.
  • Use appropriate pull-up resistors for I2C communication to ensure signal integrity.

Troubleshooting and FAQs

Common Issues and Solutions

  1. Sensor Not Detected:

    • Verify the wiring connections, especially the SDA and SCL lines.
    • Ensure the correct I2C address (default: 0x61) is being used in your code.
    • Check the power supply voltage (3.3V to 5.5V).
  2. Inaccurate Readings:

    • Allow the sensor to warm up for at least 15 minutes after powering on.
    • Ensure the sensor is not exposed to direct sunlight or heat sources.
    • Perform a manual calibration if readings deviate significantly.
  3. No Data Available:

    • Confirm that the dataAvailable() function is being called correctly in the code.
    • Check for proper pull-up resistors on the I2C lines.

FAQs

Q: Can the SCD30 measure CO2 levels below 400 ppm?
A: No, the SCD30 has a minimum CO2 measurement range of 400 ppm.

Q: How often should I calibrate the SCD30?
A: Calibration frequency depends on the application. For most indoor environments, calibration every 6-12 months is sufficient.

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

Q: What is the default I2C address of the SCD30?
A: The default I2C address is 0x61.

By following this documentation, you can effectively integrate and use the SCD30 sensor in your projects.