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.
Version¶
Product Version | Changes | Released Date |
---|---|---|
Grove - CO2 & Temperature & Humidity Sensor (SCD30) V1.0 | Initial | Dec 2018 |
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 |
Size | L: 58mm W: 38mm H: 19mm |
Weight | 19.7g |
Package Size | L: 110mm W: 70mm H: 40mm |
Gross weight | 27g |
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 |
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 |
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 |
Parameter | Conditions | Value |
---|---|---|
Average current | Update interval 2 s | 19 mA |
Max. current | During measurement | 75 mA |
Energy consumption | 1 measurement | 120 mJ |
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 |
---|---|---|
![]() |
![]() |
![]() |
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:
-
- The correct placement
-
- 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.