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 is a high-precision digital sensor manufactured by Sensirion, 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.

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

Common Applications:

  • Indoor air quality monitoring for homes, offices, and public spaces.
  • HVAC (Heating, Ventilation, and Air Conditioning) systems for optimized air circulation.
  • Environmental monitoring in greenhouses and agricultural facilities.
  • IoT (Internet of Things) devices for smart home automation.

Technical Specifications

Key Technical Details:

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.8°C)
Humidity Range 0% RH to 100% RH
Humidity Accuracy ±(3% RH)
Supply Voltage 3.3V to 5.5V
Current Consumption 19 mA (typical)
Communication Interface I2C and Modbus (via UART)
Dimensions 35 mm x 23 mm x 7 mm

Pin Configuration and Descriptions:

Pin Number Pin Name Description
1 VDD Power supply input (3.3V to 5.5V)
2 GND Ground
3 SDA I2C data line
4 SCL I2C clock line
5 RX UART receive line (for Modbus communication)
6 TX UART transmit line (for Modbus communication)
7 SEL Interface selection (I2C or UART)
8 NC Not connected

Usage Instructions

How to Use the SCD30 in a Circuit:

  1. Power Supply: Connect the VDD pin to a 3.3V or 5V power source and the GND pin to ground.
  2. Communication Interface:
    • For I2C communication, connect the SDA and SCL pins to the corresponding I2C pins on your microcontroller.
    • For UART communication, connect the RX and TX pins to the UART pins on your microcontroller.
    • Use the SEL pin to select the desired interface:
      • Pull SEL low for I2C.
      • Pull SEL high for UART.
  3. Pull-Up Resistors: If using I2C, ensure that appropriate pull-up resistors (typically 4.7 kΩ) are connected to the SDA and SCL lines.
  4. Startup Time: Allow the sensor to stabilize for at least 2 minutes after power-up for accurate readings.

Important Considerations:

  • Calibration: The SCD30 is factory-calibrated, but periodic recalibration is recommended for long-term accuracy.
  • Ventilation: Ensure proper airflow around the sensor for accurate CO2, temperature, and humidity measurements.
  • Avoid Contaminants: Protect the sensor from dust, water, and volatile organic compounds (VOCs) that may affect its performance.

Example Code for Arduino UNO (I2C Communication):

#include <Wire.h>
#include <SensirionI2CScd30.h>

// Create an instance of the SCD30 sensor
SensirionI2CScd30 scd30;

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

  // Initialize the SCD30 sensor
  scd30.begin(Wire);
  if (scd30.startPeriodicMeasurement() != 0) {
    Serial.println("Failed to start periodic measurement!");
    while (1); // Halt execution if initialization fails
  }
  Serial.println("SCD30 initialized successfully.");
}

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

  // Check if new measurement data is available
  if (scd30.readMeasurement(co2, temperature, humidity) == 0) {
    // Print the sensor readings to the serial monitor
    Serial.print("CO2: ");
    Serial.print(co2);
    Serial.print(" ppm, Temp: ");
    Serial.print(temperature);
    Serial.print(" °C, Humidity: ");
    Serial.print(humidity);
    Serial.println(" %RH");
  } else {
    Serial.println("Failed to read measurement data.");
  }

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

Troubleshooting and FAQs

Common Issues and Solutions:

  1. No Data from the Sensor:

    • Ensure the VDD and GND pins are properly connected.
    • Verify the communication interface (I2C or UART) is correctly selected using the SEL pin.
    • Check for proper pull-up resistors on the I2C lines.
  2. Inaccurate Readings:

    • Allow the sensor to stabilize for at least 2 minutes after power-up.
    • Ensure the sensor is not exposed to contaminants like dust or water.
    • Verify that the sensor is placed in an area with proper airflow.
  3. I2C Address Conflict:

    • The default I2C address of the SCD30 is 0x61. Ensure no other devices on the I2C bus share this address.
  4. Sensor Not Responding:

    • Check the wiring and ensure all connections are secure.
    • Verify that the microcontroller's I2C or UART pins are functioning correctly.

FAQs:

  • Q: Can the SCD30 measure CO2 levels below 400 ppm?
    A: No, the SCD30's CO2 measurement range starts at 400 ppm.

  • Q: How often should the sensor be recalibrated?
    A: Sensirion recommends recalibrating the sensor every 6 months to 1 year, depending on usage conditions.

  • Q: Can the SCD30 operate in high-humidity environments?
    A: Yes, the SCD30 can measure humidity up to 100% RH, but prolonged exposure to condensation should be avoided.

  • Q: Is the SCD30 compatible with 3.3V microcontrollers?
    A: Yes, the SCD30 operates with a supply voltage range of 3.3V to 5.5V, making it compatible with both 3.3V and 5V systems.


This concludes the documentation for the Sensirion SCD30 sensor. For further details, refer to the official datasheet provided by Sensirion.