edit

Grove - CO2 & Temperature & Humidity Sensor (SCD30)

The Grove - CO2 & Temperature & Humidity Sensor (SCD30) is a high precision carbon dioxide sensor, which is based on Sensirion SCD30. The measuring range of this sensor is 0 ppm-40'000 ppm, and the measurement accuracy can reach to ±(30 ppm + 3%) between 400ppm to 10'000ppm.

In addition to the Non-Dispersive Infrared(NDIR) measurement technology for CO2 detection, the SCD30 integrates Sensirion humidity and temperature sensors on the same sensor module.

Tip

We've released the Seeed Gas Sensor Selection Guide, it will help you choose the gas sensor that best suits your needs.

Application Ideas

  • Air Purifier
  • Environmental Monitoring
  • Plant Environmental Monitoring

Feature

  • NDIR CO2 sensor technology
  • Integrated temperature and humidity sensor
  • Best performance-to-price ratio
  • Dual-channel detection for superior stability
  • Digital interface I2C
  • Low power consumption
  • Ultra-long sensor lifetime (15 years)

Specification

Parameter Value
Supply voltage 3.3V / 5V
Operating temperature 0 – 50℃
Storage temperature - 40°C – 70°C
Humidity operating conditions 0 – 95 %RH
Sensor lifetime 15 years
Interface I2C
I2C Address 0x61
Table 1.General Specification
Parameter Conditions Value
CO2 measurement range 0 – 40’000 ppm
Accuracy 400ppm – 10'000ppm ± (30 ppm + 3%)
Repeatability 400ppm – 10'000ppm 10ppm
Response time τ63% 20 s
Table 2.CO2 Sensor Specifications
Parameter Conditions Value
Humidity measurement range 0 %RH – 100 %RH
Accuracy 0 – 50°C, 0 – 100%RH ±2 %RH
Repeatability 0.1 %RH
Response time τ63% 8 s
Table 3.Humidity Sensor Specifications
Parameter Conditions Value
Temperature measurement range -40°C – 120°C
Accuracy 0 – 50°C ±0.5°C
Repeatability 0.1°C
Response time τ63% > 2 s
Table 4.Temperature Sensor Specifications
Parameter Conditions Value
Average current Update interval 2 s 19 mA
Max. current During measurement 75 mA
Energy consumption 1 measurement 120 mJ
Table 5.Electrical Specifications

Hardware Overview

Platforms Supported

Arduino Raspberry Pi BeagleBone Wio LinkIt ONE

Getting Started

Play With Arduino

Hardware

Materials required

Seeeduino V4.2 Base Shield Grove-CO2 & T&H SCD30
enter image description here enter image description here enter image description here
Get ONE Now Get ONE Now Get ONE Now

In addition, you can consider our new Seeeduino Lotus M0+, which is equivalent to the combination of Seeeduino V4.2 and Baseshield.

Note

1 Please plug the USB cable gently, otherwise you may damage the port. Please use the USB cable with 4 wires inside, the 2 wires cable can't transfer data. If you are not sure about the wire you have, you can click here to buy

2 Each Grove module comes with a Grove cable when you buy. In case you lose the Grove cable, you can click here to buy.

Hardware Connection

  • Step 1. Connect the Grove - CO2 & Temperature & Humidity Sensor (SCD30) to the I2C port of the Base Shield.

  • Step 2. Plug Grove - Base Shield into Seeeduino.

  • Step 3. Connect Seeeduino to PC via a USB cable.

Software

Attention

If this is the first time you work with Arduino, we strongly recommend you to see Getting Started with Arduino before the start.

  • Step 1. Download the Grove Multi Switch Library from Github.

  • Step 2. Refer to How to install library to install library for Arduino.

  • Step 3. Restart the Arduino IDE. Open the example, you can open it in the following three ways: a. Open it directly in the Arduino IDE via the path: File → Examples →Grove_scd30_co2_sensor→SCD30_Example.

    b. Open it in your computer by click the SCD30_Example.ino which you can find in the folder XXXX\Arduino\libraries\Seeed_SCD30-master\examples\SCD30_Example, XXXX is the location you installed the Arduino IDE.

    c. Or, you can just click the icon in upper right corner of the code block to copy the following code into a new sketch in the Arduino IDE.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include "SCD30.h"

#if defined(ARDUINO_ARCH_AVR)
    #pragma message("Defined architecture for ARDUINO_ARCH_AVR.")
    #define SERIAL Serial
#elif defined(ARDUINO_ARCH_SAM)
    #pragma message("Defined architecture for ARDUINO_ARCH_SAM.")
    #define SERIAL SerialUSB
#elif defined(ARDUINO_ARCH_SAMD)
    #pragma message("Defined architecture for ARDUINO_ARCH_SAMD.")  
    #define SERIAL SerialUSB
#elif defined(ARDUINO_ARCH_STM32F4)
    #pragma message("Defined architecture for ARDUINO_ARCH_STM32F4.")
    #define SERIAL SerialUSB
#else
    #pragma message("Not found any architecture.")
    #define SERIAL Serial
#endif



void setup()
{
    Wire.begin();
    SERIAL.begin(115200);
    SERIAL.println("SCD30 Raw Data");
    scd30.initialize();
}

void loop()
{
    float result[3] = {0};

    if(scd30.isAvailable())
    {
        scd30.getCarbonDioxideConcentration(result);
        SERIAL.print("Carbon Dioxide Concentration is: ");
        SERIAL.print(result[0]);
        SERIAL.println(" ppm");
        SERIAL.println(" ");
        SERIAL.print("Temperature = ");
        SERIAL.print(result[1]);
        SERIAL.println(" ℃");
        SERIAL.println(" ");
        SERIAL.print("Humidity = ");
        SERIAL.print(result[2]);
        SERIAL.println(" %");
        SERIAL.println(" ");
        SERIAL.println(" ");
        SERIAL.println(" ");
    }

    delay(2000);
}

Attention

The library file may be updated. This code may not be applicable to the updated library file, so we recommend that you use the first two methods.

  • Step 4. Upload the demo. If you do not know how to upload the code, please check How to upload code.

Success

If everything goes well, the raw data of the Grove - CO2 & Temperature & Humidity Sensor (SCD30) should be able to read from Serial Monitor.

Calibration and Placement

In order to get more accurate results in a practical scenario, you need to pay attention to the following two points:

    1. The correct placement
    1. Calibration

Placement

Please refer to the SCD30 Design-In Guidelines for the correct placement.

Calibration

When activated for the first time a period of minimum 7 days is needed so that the algorithm can find its initial parameter set for ASC. The sensor has to be exposed to fresh air for at least 1 hour every day. Also during that period, the sensor may not be disconnected from the power supply, otherwise the procedure to find calibration parameters is aborted and has to be restarted from the beginning. The successfully calculated parameters are stored in non-volatile memory of the SCD30 having the effect that after a restart the previously found parameters for ASC are still present. For more detail about the calibration, please refer to the Interface Description Sensirion SCD30 Sensor Module

There are two ino sample in the SCD30 library foldor, you can run the SCD30_auto_calibration.ino to start the calibration.

Resources

Tech Support

Please submit any technical issue into our forum