I recently received an eval board for the Sensirion SCD41 CO2 Sensor (CO₂), and began some initial testing on it.
The bare sensor itself is not available yet, but the eval kit is available on Digikey for $48.75. The eval kit is nothing more than the sensor mounted on a small PCB, a header, and a cable.
To control and communicate with the SCD41, I initially chose an Adafruit Feather M0 (Adafruit Feather M0 Express [ATSAMD21 Cortex M0] : ID 3403 : $19.95 : Adafruit Industries, Unique & fun DIY electronics and kits), mainly because I already have several devices in the Feather family on hand and am familiar with them. This particular board is a single-board micro-controller (MCU) that is programmed similarly to an Arduino, but it is much smaller, uses less power, and has a much more sophisticated processor. The MCU connects to the sensor with two I2C wires. I soldered the headers onto the sensor board, made all the necessary connections on a solderless breadboard, and connected the Feather to my laptop with a USB cable that provides power and data.
I loaded and ran the program provided by Sensirion, which measures and prints out the CO2 level, the temperature, and the relative humidity every 5 seconds.
I placed the setup in a number of locations and watched the readings under different circumstances.
The output below shows the change in CO2 level when the sensor is originally in (relatively) fresh air, and then I breathe on it:
Note: the lowest reading I was able to achieve in my location (Philadelphia) was about 475ppm CO2. The automatic self-calibration (ASC) function requires regular exposure to “fresh air” at 400ppm; this is unlikely to happen here or anywhere, as the latest world-wide average CO2 concentration is now around 425ppm! So it appears the ASC function is useless. The actual calibration will require forced calibration with a known, accurate reference device.
Next: reading the SCD41 with Bluetooth.