The last issue of Make: magazine had an article about building a
CO2 monitor. The concentration of CO2 is apparently a
good estimator for the concentration of
SARS-CoV-2 in the
air, which is correlated to the risk of transmission. The article suggests
keeping the concentration of CO2 under 800 ppm when people are
wearing masks.
The Make: article proposes a green-yellow-red light indicator, where the light
is green when the concentration is below 1000 ppm, yellow above that level and
red when it goes above 2000 ppm. These values are rather about indoors air
quality and not directly related to limiting the transmission of SARS-CoV-2.
An article from NIST however indicates that the 1000 ppm limit has no basis
whatsoever
so I decided to use the 800 ppm limit instead and a rather arbitrary limit of
1300 ppm based on looking at Figure 2 in this
article which seems to
indicate that some cognitive abilities drop around that concentration.
Description
The device itself is quite simple: it has an on/off switch and a single
two-color LED indicator, red and green. The yellow color is obtained by
turning on both green and red colors at the same time. It also has a small
hole where a paperclip can be inserted for triggering the calibration
procedure. The holes next to the power switch expose the CO2 sensor
and its temperature/humidity sensor.
Inside the box there is an Arduino-like
Jeenode I had lying around
with an AA Power
board (I have no
idea if these are still sold, I've had them around for over ten years). The
AA Power board is meant for a single AA battery, but it cannot provide enough
current, so I removed the battery clips and connected it to a 2-AA battery
holder, via the switch. It seems to be working well with two NiMH
rechargeable batteries.
The CO2 sensor is a Sensirion
SCD30. It is quite expensive (about 50
EUR), but has an easy to use I2C interface and is the most accurate of the
sensors presented in the Make: article. The software is quite trivial (if you
except the calibration procedure, see below), and available
here. The device
automatically makes a measurement ever two seconds, the program reads it and
updates the LED accordingly. That's it.
Calibration
There is an automatic calibration procedure that requires to keep the sensor
powered for at least 7 days and put it in fresh (outdoors) air at least an
hour per day. This is not very practical given that I've estimated that the
batteries would last about 25 hours (20 mA for the ATmega, 17 mA for the
SCD30, 10 mA for the LED at 3.3 V, with maybe a 80% efficiency for the power
board with two 1900 mAh batteries at 2.4 V). There is however also the
possibility to expose the sensor to air with a known CO2
concentration and tell it the actual value it is measuring. It then uses this
value as a reference point for subsequent measurements. The device is
apparently sensitive to changes in shape (e.g. when subjected to mechanical
stress during transport) so as a portable device it probably needs to be
regularly re-calibrated.
The calibration procedure is simple: place the device outdoors, wait about 2
minutes for it to settle, then introduce a paperclip into the hole and press
the button underneath it; the LED will be flashing red. The device will take
repeated measurements every 2 seconds, and when a succession of 10 measurements
is considered stable enough (i.e. the absolute value of the difference
between the first and last of those is at most 1, and the sum of the absolute
values of each measurement with its previous one is at most 10), it sets the
calibration value to 416 ppm (which seems to be about the average value in
2021). As the device is accurate to +/- 30 ppm, the exact value does not
matter so much. The device then returns to its normal operation mode, showing
a green, yellow or red light.
What next?
Put a sticker on it with some indications about the LED colors and the reset
button hole.