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 set the current 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’ or it can be downloaded here. 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.
We do not plan to regularly stock all SparkX products so get them while they’re hot!
Based on 1 ratings:
I do some work in home environment industry and have been using various NDIR CO2 sensors for about 10 years. At $60, this is one of the best CO2 sensors on the market. Based on the date of some of the documents for this, it seems to be a very recently released device.
As far as CO2 measurements, I’ve compared it side-by-side with a known calibrated standard, and was rock solid from near 0 ppm to about 8000 ppm. There was a slight variation about 8000 ppm, but likely due to me messing around with the internal calibration values. I’ll have test a another fresh out of the box.
Like many NDIR sensors, the SCD30 has an internal auto calibration routine that requires the device to be exposed to fresh air on a daily basis. This limits the application. If your using it as an indoor monitor, the lowest co2 levels it detects will be assumed ambient outdoor values, and the output value will drift up over time. You can turn off the auto-cal feature, but I haven’t had mine long enough to determine the trend.
A minor annoyance is it takes up to 7 days for a new device to auto-cal, requiring exposure to outside ambient. Again, if your application doesn’t get exposed to fresh air daily, the first auto-cal won’t complete. I ended up setting mine outside for a week powered up.
This is the first NDIR CO2 Sensor I’ve seen with both built-in temperature and humidity sensors to compensate. This gives the SCD30 the potential to be extremely accurate in harsh envirments. There’s an option to add a barometric sensor if your going to use this device at multiple altitudes or inside HVAC ducting where there are significant pressure changes. For average room monitoring this isn’t required.
Although the device has a PWM connection, it’s not functional in the current version.
Documentation is hard to come by. It took some serious digging to get the I2C protocol. The data sheet indicates a serial com mode, but I haven’t tried it.
Nate’s done a great job of supplying a library and examples of the common functions. With minor code changes, the library should be portable to most micro controllers. It took only minor changes to make it compile for a Particle Photon so I can get remote data. Although advertised as a QWIIC device (it does work), I bypassed the QWIIC cabling to use the Ready output to grab measurement data rather than the fixed delay in the library.
If your looking for a high accuracy CO2 Sensor, this is your best price-to-performance option. It rivals $400 and up sensors that don’t have the built-temp and humidity. It’s well constructed and looks very rugged. For the price, you can’t beat it.