Prototyping a real CO2 monitor on the Flipper Zero

Previously in Prototyping a volatile organic compound (VOC) and CO2 monitor on the Flipper Zero:

If the idea proved feasible, I’d buy a “proper” CO2 sensor like the Sensiron SCD-30.

photo of Sensiron SCD30 sensor with a STEMMA QT / Qwiic cable connected

The idea proved quite feasible, so I ordered the SCD30 and made quick work tweaking my VOC Monitor code to become a pure CO2 Monitor. Attaching it to the ProtoBoard was simpler because it’s just a single sensor package that provides CO2, temperature, and humidity through a single I2C peripheral address.

photo of the a CO2 sensor affixed to a Flipper ProtoBoard

The Sensiron SCD30 is a tiny bit taller than my previous sensors, so I had to tweak the case design to add some headroom. I also decided to close off the outer wall so the airflow only came in around the IO pins. I took the advice from Sensiron’s Design-in Guidelines and minimized the expected draft of air flowing over the sensor.

screenshot of section 3.3 of Sensiron's Design-in Guidelines

rendering of updated case design

photo of assembled module reading 802 ppm connected to the Flipper Zero

Using the module has been illuminating in my home office. I have suspected for a while that ventilation in my home is only mediocre (roughly 1000 ppm on average), and now I have some numbers to support it. Further, I have been able to demonstrate to myself the impact of opening a window and running the HVAC fan. Today, before I opened the window, the CO2 was sitting around 1150 ppm. I opened the window to the outside and turned on the HVAC fan and the CO2 dropped to around 800 ppm within just a few minutes.

I also took it for a ride into the forest to see what baseline CO2 levels might look like there.

photo of module connected to Flipper Zero reading 476 ppm

See also