Awesome
SparkFun SCD30 CO₂ Sensor Library
SparkX CO₂ Humidity and Temperature Sensor - SCD30 (SPX-14751)
The SCD30 from Sensirion is a high quality 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 compensate for altitude.
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'. We recommend using a Qwiic Breadboard Cable to connect the SCD30 to a Qwiic compatible board. The YeLLow wire goes in the SCL pin. The SCD30 also supports a serial interface but we haven't worked with it.
The CO₂ sensor works very well and for additional accuracy the SCD30 accepts ambient pressure readings. We recommend using the SCD30 in conjunction with the Qwiic Pressure Sensor - MS5637 or the Qwiic Environmental Sensor - BME680 to obtain the current barometric pressure.
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.
Library written by Nathan Seidle (SparkFun).
Thanks to!
- jobr97 for adding the getTemperatureOffset() method
- bobobo1618 for writing a CRC check and improving the return values of the library
- labeneator for adding method to disable calibrate at begin
- AndreasExner for adding reset and getAutoSelfCalibration methods
- awatterott for adding getAltitudeCompensation()
- jogi-k for adding teensy i2clib support
- paulvha for the suggestions and corrections in his version of the library
- yamamaya for the 3ms delay
Repository Contents
- /examples - Example sketches for the library (.ino). Run these from the Arduino IDE.
- /src - Source files for the library (.cpp, .h).
- keywords.txt - Keywords from this library that will be highlighted in the Arduino IDE.
- library.properties - General library properties for the Arduino package manager.
Documentation
- Installing an Arduino Library Guide - Basic information on how to install an Arduino library.
License Information
This product is open source!
Please use, reuse, and modify these files as you see fit. Please maintain attribution to SparkFun Electronics and release anything derivative under the same license.
Distributed as-is; no warranty is given.
- Your friends at SparkFun.