CO₂ Humidity and Temperature Sensor - SCD30

The SCD30 from Sensirion is a high quality Nondispersive Infrared (NDIR) based CO₂ sensor capable of detecting 400 to 10000ppm with an accuracy of ±(30ppm+3%). In order to improve accuracy the SCD30 has temperature and humidity sensing built-in, as well as commands to set the current altitude. For additional accuracy the SCD30 also accepts ambient pressure readings!

We've written an Arduino library to make reading the CO₂, humidity, and temperature very easy. It can be downloaded through the Arduino Library manager: search for 'SparkFun SCD30' or it can be found in the Documents tab above.

Note: The SCD30 has an automatic self-calibration routine. Sensirion recommends 7 days of continuous readings with at least 1 hour a day of 'fresh air' for self-calibration to complete.

  • Power supply voltage: 3.3V - 5.5V
  • NDIR CO2 sensor technology
  • Integrated temperature and humidity sensor
  • Best performance-to-price ratio
  • Dual-channel detection for superior stability
  • Small form factor: 35 mm x 23 mm x 7 mm
  • Measurement range: 400 ppm – 10.000 ppm
  • Accuracy: ±(30 ppm + 3%)
  • Current consumption: 19 mA @ 1 meas. per 2 s.
  • Energy consumption: 120 mJ @ 1 measurement
  • Fully calibrated and linearized
  • Digital interface UART or I2C

CO₂ Humidity and Temperature Sensor - SCD30 Product Help and Resources

Core Skill: Soldering

This skill defines how difficult the soldering is on a particular product. It might be a couple simple solder joints, or require special reflow tools.

1 Soldering

Skill Level: Noob - Some basic soldering is required, but it is limited to a just a few pins, basic through-hole soldering, and couple (if any) polarized components. A basic soldering iron is all you should need.
See all skill levels


Core Skill: Programming

If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.

3 Programming

Skill Level: Competent - The toolchain for programming is a bit more complex and will examples may not be explicitly provided for you. You will be required to have a fundamental knowledge of programming and be required to provide your own code. You may need to modify existing libraries or code to work with your specific hardware. Sensor and hardware interfaces will be SPI or I2C.
See all skill levels


Core Skill: Electrical Prototyping

If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.

3 Electrical Prototyping

Skill Level: Competent - You will be required to reference a datasheet or schematic to know how to use a component. Your knowledge of a datasheet will only require basic features like power requirements, pinouts, or communications type. Also, you may need a power supply that?s greater than 12V or more than 1A worth of current.
See all skill levels


Comments

Looking for answers to technical questions?

We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.

Customer Reviews

4.5 out of 5

Based on 2 ratings:

Currently viewing all customer reviews.

Easy to use CO2 sensor

I wrote some Python code to use this with a Beaglebone (because I knew the beaglebone hardware supported I2C clock stretching). It was a very enjoyable experience because the Sensirion documentation covered the interface very well, above and beyond what I've ever seen before. Maybe it mentioned it somewhere but I would add that the returned CO2 values are encoded as a 32-bit float. The sensor seems quite responsive, I could open a window, and see the CO2 ppm levels change as the room ventilated. I didn't go thru all the details for the calibration process; I was getting about 530ppm for outside air, when I expected something like 405 ppm.

Works as advertised.

Used sparkfun's available software and QWIC Red Board which was a great help in getting this device up and running. It would be helpful to have a pins added version. For my application needing to expose the sensor to 1 hour of fresh air each 24 hour period was a problem. If you are using this to sample and store continuous reading inside a closed area, then taking it out to provide "fresh" air can be a problem. 7 day calibration worked perfectly. Used two built up sensors two compare outputs which after calibration was within stated accuracy between the two sensors. I did not have a alternate calibration source to test the sensor against which would have helped.