The CO2 Bricklet 2.0 can be used to extend the features of Bricks with the capability to measure CO2 concentration in the air. The measured CO2 concentration can be read out in ppm. With configurable events it is possible to react on changing CO2 concentration without polling.
The Bricklet also measures temperature and humidity. These are used internally for compensation and can additionally be read out.
It is possible to apply an ambient air pressure value to achieve further compensation and better CO2 concentration measurement.
Property | Value |
---|---|
Sensor | Sensirion SCD30 |
Current Consumption (average) | 60mW (12mA at 5V) |
Current Consumption (peak) | 400mW (80mA at 5V) |
CO2 Concentration Resolution | 1ppm with range of 400ppm to 10000ppm |
Temperature Resolution | 0.01°C with range of -40°C to 70°c |
Humidity Resolution | 0.01%RH with range of 0%RH to 100%RH |
CO2 Concentration Accuracy | ±30ppm (full-scale), ±3% (of reading) |
Temperature Accuracy | ± (0.4°C + 0.023 × (T [°C] – 25°C))* |
Humidity Accuracy | ± 3 %RH |
Measurement Frequency | 0.5 measurements per second |
Dimensions (W x D x H) | 35 x 40 x 18mm (1.38 x 1.57 x 0.71") |
Weight | 9g |
* This is the temperature at the exact position of the sensor. If the Bricklet is used inside of an enclosure, the air around the Bricklet may heat up more than the ambient air. The Bricklet does have API to calibrate this kind of offset.
The CO2 Bricklet 2.0 has API to set an ambient air pressure value for additionl internal compensation to achieve increased CO2 concentration accuracy.
You can use a Barometer Bricklet 2.0 or Air Quality Bricklet to measure the air pressure and update the compensation value periodically.
Additionally, if the Bricklet is used inside of an enclosure, the air around the Bricklet may heat up more than the ambient air. This temperature offset can also be calibrated with the API. We recommend that you leave the parts in the enclosure running for at least 24 hours such that a temperature equilibrium can be reached.
Gas sensors need to be calibrated from time to time. Typically this is done by applying a specified amount of CO2 to it. Since this is impractical for a CO2 sensor at home, the gas sensor of this Bricklet (Sensirion SCD30) do a permanent automatic calibration (ASC).
Here is what Sensirion is writing about it:
Note
To work properly SCD30 has to see fresh air on a regular basis. Optimal working conditions are given when the sensor sees fresh air for one hour every day so that ASC can constantly re-calibrate. ASC only works in continuous measurement mode.
That means if the sensor is not seeing fresh air in that period it will calibrate with the wrong values decreasing the accuracy of the sensor.
To test a CO2 Bricklet 2.0 you need to have Brick Daemon and Brick Viewer installed. Brick Daemon acts as a proxy between the USB interface of the Bricks and the API bindings. Brick Viewer connects to Brick Daemon. It helps to figure out basic information about the connected Bricks and Bricklets and allows to test them.
Connect the CO2 Bricklet 2.0 to a Brick with a Bricklet Cable.
If you connect the Brick to the PC over USB, you should see a new tab named "CO2 Bricklet 2.0" in the Brick Viewer after a moment. Select this tab. If everything went as expected the Brick Viewer should look as depicted below.
After this test you can go on with writing your own application. See the Programming Interface section for the API of the CO2 Bricklet 2.0 and examples in different programming languages.
See Programming Interface for a detailed description.
Language | API | Examples | Installation |
---|---|---|---|
C/C++ | API | Examples | Installation |
C/C++ for Microcontrollers | API | Examples | Installation |
C# | API | Examples | Installation |
Delphi/Lazarus | API | Examples | Installation |
Go | API | Examples | Installation |
Java | API | Examples | Installation |
JavaScript | API | Examples | Installation |
LabVIEW | API | Installation | |
Mathematica | API | Examples | Installation |
MATLAB/Octave | API | Examples | Installation |
MQTT | API | Examples | Installation |
openHAB | API | Examples | Installation |
Perl | API | Examples | Installation |
PHP | API | Examples | Installation |
Python | API | Examples | Installation |
Ruby | API | Examples | Installation |
Rust | API | Examples | Installation |
Shell | API | Examples | Installation |
Visual Basic .NET | API | Examples | Installation |
TCP/IP | API | ||
Modbus | API |