Back to

New CO2 sensor suggestion

I’ve been reading up on the Grove- SCD30 - based on Sensiron SCD30, and found it at a very good price for a CO2 sensor.
I’m currently unable to used the SC2.1 sensors for eCO2 etc, as the eCO2 values stay above 1000, and I have no way to recalibrate the sensor, would it be possible to attach the SCD30 to the board and use this for reporting CO2 values? (Or I can write the code myself worst case).


My sensor keeps reading in 1800’s in the middle of the wooded area.
Totally unreliable.
Same goes for the sound readings: readings are not frequent enough to cat h real values.

Dear @tor,

Thanks for the post, the sensor looks very good :partying_face:

Regarding the eCO2 sensor, we apologise for the weird readings you are seing. This sensor is a very low cost sensor that has an internal temperature and humidity correction that we do not control. We have in our plans the implementation of the raw data from the sensor, to validate if the correction is correct, but as it stands, the sensor is to be used in indoor conditions for best behaviour (outdoors can be affected by cross-sensitivity). At the moment there is not much we can say if the sensor behaves weirdly, other than to try to stabilise it in controlled indoor conditions.

Regarding the sensor you suggest, it looks interesting enough to include it to our supported sensor list (we haven’t gone for any NDIR CO2 sensor yet). Although it would deffinitively be possible to implement since the sensor has a digital I2C interface, we are a bit busy at the moment and I believe the fastest for you would be to give it a try if you have one sensor already and if you have some C++ experience. We would definitively support on this if you need guidance with the firmware structure (it’s in our to-do list to complete this section, and then try to release a firmware version if all goes well.

Eitherway, I will look if we can get one ourselves too.

Thanks again! keep us posted!


The code says that on “reset” it will read the CCS811 “baseline” and store it in config for next boots. That is the only recalibration the sensor allows, and how SmartCitizen maps the process to its reset button.

So far I only got bad measures of CO2 from this sensor - and I am testing in-dwelling measurements, not outside.

The spec says about 1h warming, and something else after the first 48h that I don’t fully understand. I guess the sensor is simply tricker to operate than the current procedure. I still don’t know the procedure though.

" Note: Please be aware that the CCS811 datasheet recommends a burn-in of 48 hours and a run-in of 20 minutes (you must allow 20 minutes for the sensor to warm up and output valid data)."

I saw in the code that the temperature and humidity are fed to the CSS811 so that should allow quicker measurements I understand.