“Here, we propose an open-source, portable, autonomous, cheap and easy-to-use device to monitor and record the concentration of CO2 in ambiant air in real-time. Using CO2 as a proxy for respiratory aerosols, the device can help define best practices regarding the ventilation of closed space (an important anti-Covid19 measure).
Starting from early 2020, the advent of the Covid19 pandemic has had a profound impact on the daily lives of billions of people. The perspective of active vaccines becoming available as soon as early 2021 has shone a ray of light on an otherwise dire situation. However, it is expected that as much as 70% of a country’s population will have to be vaccinated in order to stop the spreading of the virus there. Even for countries with excellent medical infrastructures, reaching this aim represents a difficult and uncertain challenge.
Under such circumstances, the different measures that have been taken worldwide against the spreading of the virus (such as social distancing, frequent hand washing, wearing of respiratory masks, and so on and so forth) will have to be maintained for many more months, possibly even years. Any new strategy, information or technological solution that may help fight the virus, besides vaccines, can therefore have a large-scale and lasting impact.
In this tutorial, we try to address an issue that is both simple and very complex: the efficient ventilation of closed spaces occupied by people. SARS-CoV2, the virus responsible for Covid19, is considered to be an airborne virus, spreading (among other ways) through respiratory aerosols (microscopic droplets that are expired as a normal byproduct of respiration). Outdoor or in largely open spaces, the best mitigating strategy against aerial contamination remains distancing: maintaining a distance of one to two meters between people is considered to be an easy way to safeguard against virus exchange through aerosols. By contrast, in closed spaces, respiratory aerosols have been shown to travel over large distances and to diffuse uniformly in whole rooms when given enough time. Under such circumstances, distancing loses part of its efficiency, and the breathable air in the whole room is at risk of becoming a contamination vector. Remediation against this problem is easy, in principle: ensuring a good ventilation of closed spaces solves the problem. However, what makes the problem difficult is the lack of obvious metrics on which to rely in order to choose the best ventilation strategy: for a given number of people in a given closed space, how often should windows or doors be open, and for how long ?
We propose using the monitoring of CO2 as a proxy to provide a quantitative measurement of how much breathable air in a room is potentially charged with respiratory aerosols.
Trying to detect directly the microscopic droplets responsible for aerial contaminations, while technically feasible, would prove absurdly complex and expensive under normal, day-to-day conditions. However, considering that said aerosols are a direct byproduct of the respiration of the people present in the room, they can indirectly be monitored through another natural product of respiration: carbon dioxide. By dosing carbon dioxide in a room occupied by people and comparing that measurement with the local background atmospheric CO2 concentration (usually around 400 ppm on average), one gets a direct estimate of how much air has been “breathed out” by the occupants. Based on that measurement, a sound ventilation strategy can then be experimented on and monitored, ensuring a safer occupation of closed spaces.
The “heart” of the device we propose here is an infrared CO2 sensor piloted by an Arduino-compatible microcontroller, to which are added a visual interface and a logging device enabling the continuous recording of CO2 levels on micro-SD cards. The device continuously measures, records and displays the date, time and the CO2 concentration in ppm. An RGB LED next to the screen indicates three possible states of operation: Blue when the device is preheating, green when the CO2 concentration is below the user-chosen threshold and red when it exceeds that threshold. Three buttons next to the screen allow users to select their chosen threshold, the default value being 1000 ppm (as per the recommendation of most international health agencies).
Gravity NDIR CO2 Sensor (SEN0219)
Adafruit Feather 328P or any similar Arduino-compatible microcontroller ( Feather M0, M4, 32u4, …)
Adafruit Featherwing Adalogger or any separate SPI SD Card and I2C RTC boards
Adafruit Featherwing OLED 128x32 or any I2C-addressable OLED screen
Stacking Headers and Male Headers
5 mm RGB LED (common cathode type)
120 Ohms resistor
USB Power Bank (of 1500 mAh capacity or more)
Short USB A - Micro-USB Cable
Electric Wires and Heat Shrink Tubing
Any kind of box (size determined by Power Bank)
Estimated total cost as of January 2021: around 100 Euro / 120 USD
The Feather 328P microcontroller listed above is the equivalent of an Arduino board, adapted here to the Feather form factor and running on 3.3 V logic tension. If size is not an issue (for instance for fixed devices), then it can be replaced by any basic Arduino board. The requirement for any replacement board for this project is that the chosen microcontroller be capable of communicating with peripherals through both SPI and I2C, while also having at least one analog input pin associated to an ADC (ideally with a range over 2V).
Any Arduino-compatible Feather may be used instead of the 328P model listed here, like, for instance, a Feather M0 board, an M4 or 32u4 board, or any other model. The rationale behind the particular choice of model 328P is simply cost, this model being the cheapest existing Feather board (as of the writing of this guide).
Featherwings are the equivalent, for Feather boards, of “Shields” in the Arduino ecosystem. If you would rather substitute a classical Arduino board to the Feather 328P, then similarly, the listed Featherwings will have to be replaced by equivalent shields or separate boards.
As its name suggests, the Featherwing OLED is a small OLED screen, which communicates through I2C. An interesting feature of the particular model recommended here is the presence of three buttons (A, B and C), which are used here to interact with the device’s interface. They can easily be replaced by independent push-buttons if needed.
The Featherwing Adalogger is the combination of an I2C RTC and a SPI SD Card reader. It is used here to record measurements and their corresponding time and date.
The power bank can be replaced by a Micro-USB phone charger of any type, in case the device is used as a fixed apparatus plugged to a wall socket. Note that USB power banks generally come with their own USB A - Micro-USB cable (beware: in most cases, such battery cables only have power wires, and cannot be used for programming or for data transfer). Similarly, products like the Feather microcontroller or its Featherwings are generally sold with appropriate male headers. If however you want to stack the two Featherwings on top of the Feather board, long stacking female headers are required.”