[*SparkX CO₂ Humidity and Temperature Sensor - SCD30 (SPX-14751)*](https://www.sparkfun.com/products/14751)
[*SparkX CO₂ Humidity and Temperature Sensor - SCD30 (SPX-14751)*](https://www.sparkfun.com/products/14751)
The SCD30 from Sensirion is a high quality [NDIR](https://en.wikipedia.org/wiki/Nondispersive_infrared_sensor) 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.
The SCD30 from Sensirion is a high quality [NDIR](https://en.wikipedia.org/wiki/Nondispersive_infrared_sensor) 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](https://www.sparkfun.com/products/14425) to connect the SCD30 to a Qwiic compatible board. The Ye*LL*ow wire goes in the SC*L* pin. The SCD30 also supports a serial interface but we haven't worked with it.
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](https://www.sparkfun.com/products/14425) to connect the SCD30 to a Qwiic compatible board. The Ye*LL*ow wire goes in the SC*L* pin. The SCD30 also supports a serial interface but we haven't worked with it.
...
@@ -20,14 +20,18 @@ Thanks to!
...
@@ -20,14 +20,18 @@ Thanks to!
*[jobr97](https://github.com/jobr97) for adding the getTemperatureOffset() method
*[jobr97](https://github.com/jobr97) for adding the getTemperatureOffset() method
*[bobobo1618](https://github.com/bobobo1618) for writing a CRC check and improving the return values of the library
*[bobobo1618](https://github.com/bobobo1618) for writing a CRC check and improving the return values of the library
*[labeneator](https://github.com/labeneator) for adding method to disable calibrate at begin
*[labeneator](https://github.com/labeneator) for adding method to disable calibrate at begin
*[AndreasExner](https://github.com/AndreasExner) for adding [reset and getAutoSelfCalibration methods](https://github.com/sparkfun/SparkFun_SCD30_Arduino_Library/pull/17)
*[awatterott](https://github.com/awatterott) for adding [getAltitudeCompensation()](https://github.com/sparkfun/SparkFun_SCD30_Arduino_Library/pull/18)
*[jogi-k](https://github.com/jogi-k) for adding [teensy i2clib](https://github.com/sparkfun/SparkFun_SCD30_Arduino_Library/pull/19) support
*[paulvha](https://github.com/paulvha) for the suggestions and corrections in [his version of the library](https://github.com/paulvha/scd30)
Repository Contents
Repository Contents
-------------------
-------------------
***/examples** - Example sketches for the library (.ino). Run these from the Arduino IDE.
***/examples** - Example sketches for the library (.ino). Run these from the Arduino IDE.
***/src** - Source files for the library (.cpp, .h).
***/src** - Source files for the library (.cpp, .h).
***keywords.txt** - Keywords from this library that will be highlighted in the Arduino IDE.
***keywords.txt** - Keywords from this library that will be highlighted in the Arduino IDE.
***library.properties** - General library properties for the Arduino package manager.
***library.properties** - General library properties for the Arduino package manager.
Documentation
Documentation
--------------
--------------
...
@@ -37,9 +41,9 @@ Documentation
...
@@ -37,9 +41,9 @@ Documentation
License Information
License Information
-------------------
-------------------
This product is _**open source**_!
This product is _**open source**_!
Various bits of the code have different licenses applied. Anything SparkFun wrote is beerware; if you see me (or any other SparkFun employee) at the local, and you've found our code helpful, please buy us a round!
Various bits of the code have different licenses applied. Anything SparkFun wrote is beerware; if you see me (or any other SparkFun employee) at the local, and you've found our code helpful, please buy us a round!
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.
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.
//WARNING: convention is surprising. TemperatureOffset can only be positive. +2.0f means that the sensor outputs 2 Kelvin too much, and should be 2K lower.
//WARNING: convention is surprising. TemperatureOffset can only be positive. +2.0f means that the sensor outputs 2 Kelvin too much, and should be 2K lower.
uint16_tunsigned16;
int16_ttickOffset=tempOffset*100;
}signedUnsigned;// Avoid any ambiguity casting int16_t to uint16_t