COVID-19 "Healthy-Indoors-Project"

Dear all,

I like to share my recent project monitoring Air Quality in rooms with multiple sensors using ad-hoc networks.

Air quality (measured by CO2 or VOC levels) can be an indicator of possible virus concentrations in the air. To lower health risks in indoor environments it is important to ventilate rooms regularly. This project could help schools or offices without sufficient mechanical ventilation especially as the temperatures will fall soon.

I hope this could be a educational project for schools and students. Open space offices and benefit too. Every room occupied by many people raises the risk of infections of any kind.

Live data of my 3 BME680 are published on mqtt:// subscribe to: healthy-indoors-project/# currently placed in my home but soon installed in an open space office.

Demo flow on GitHub

Using: dashboard, ui-table, node-red-contrib-homie-convention, node-red-contrib-ui-artless-gauge


Oh no, not another project that I really want to build but haven't got enough time for :frowning:


I totally understand - we have to slow down the angular speed of the earth :wink:

Not a healthy behavior too ... my sleep tracker is going mad for weeks now.

Nice project. I don't want to scare you but with 6400ppm CO2 you should worry - and not just a little bit, this number should preferably be lower than 600.

:+1: Good spot. I’m using BME680 sensors for now. They do not measure CO2 directly. This is only a estimate (eCO2 = equivalent CO2). The sensor measures VOCs. The screenshot is taken me using an e-cigarette = steam vapor = aerosol = so perhaps good for testing. As you see the much to high CO2 values are from sensors just started or calibrating = the eCO2 is not valid.
Ordered some IR CO2 sensors to compare both technologies. Found some papers mentioning that VOC sensors are perhaps a better indicator for IRQ than CO2. (See also linked video from Bosch.)
In the end perhaps it makes no sense to use absolute figures and only working with relative trends (calibrate/zero a well ventilated unoccupied room in the morning work from this)
All this considerations and analysis are part of the project.

Indeed, looks like a scaling issue on the table.

The term “volatile organic compounds” is perhaps too difficult in a Public discussion but seamed to be a good option to start this project. (Small, cheap, low power consumption)
On the other hand VOC sensors measure the background concentration (smog / bad furniture/ carpets / fabrics) too where CO2 give a “natural” scale not affected by too many local factors. VOCs are very sensitive on human aerosols - it is enough to exhale near to a BME860 and you get a significant peak.
In the end both types together with dust and whatever (mass spectrometer?) do the science.

One idea of the project is start a discussion about air quality in general by simply doing something instead of complaining. (See links to some papers in the

But simply I had 3 BME680 in my drawer intended to use as present detectors.

Will see what real life tests in a office environment bring or experiences from others. Hope I get my CO2 sensors in time to compare.

Good CO2 sensors are very expensive - depending on the sensitivity, and they may only last a couple of years (if they are not NDIR type sensors).

Good readings and cheap don't work in the realm of particle reading unfortunately. ±50ppm accuracy starts at about €100 and still quite inaccurate - NDIR sensors, they get influenced by temperature and humidity. If you go to 20ppm or lower, you are looking at €1000's. Nice research paper comparing some of these sensors against scientific equipment.

I looked at CO2 sensors before and it was a rabbithole :wink:

There was a really good YouTube video somewhere. I seem to remember by one of the BME680 designers about air quality measurements, their limitations and how you could produce useful results. Not sure I could find it again now ... Oh, wrong, there it was in my electronics list :sunglasses:

1 Like

Hi Christian-Me I would highly recommended you watch this RESET is the gold standard for IQA in commercial buildings the vid covers their Research and findings on Covid.

I would add this to your reading list's%20an%20easy-to,up%20with%20potentially%20infectious%20exhalations.

1 Like

Hi Julian,
yes actually you planted the seed a decade ago: New bathroom ideas

I know the limitation of a BME680 and I believe the eCO2 figure is more a marketing stunt. The BME has it’s origin from the automotive industry (as they mention in the video a couple of times) and certainly not a scientific sensor for CO2. In my car these sensors start the ventilation if they recognize a increase of the compounds these kind of sensor measure (mixed gas sensors).

And this is (as I think) exactly what it is necessary these days. We currently do not measure the climate change (even if I sometimes think it would be good to be able to focus on more than one problem at a time)

Perhaps to outline the project (I know and understand ... TL;DR)

  • currently the indication of "relative" air quality is crucial. Against absolute values you might can’t do anything (Smog, pollution) through ventilation.
  • cheap sensors easy to implement (prefer i2c insted of 5v modbus & level shifters & more code: ie. sensair S8)
  • visualize a "relative" value - that`s why I made the neopixel monitor node... no values to discuss. or charts without a grid / values
  • VOC values goes up immediately when people enter a room and after a short period (5-10s) these liquid based compounds reach the other corner of the room! If you think aerosols are a thing that is scary. I think (but will find out soon) that CO2 levels go up much slower
  • check which sensors work best.
  • and finally build something yourself!

Thank you for the links. Great video - I will add this and take other measures like humidity into account (as there is a humidity sensor build into the BME680)
I actually have dozens of these papers in my files - In germany the researchers of the TU-Berlin around Professor Dr. Martin Kriegel is all around in the media. With little success.
Colleges of mine close the only window in a meeting room today - traffic was to noisy. School kids are not allowed to bring CO2 sensors into classrooms (Teachers doesn’t like to be controlled). Politics desperately what business as usual and a airborn virus might destroy all safety concepts.

“There is no glory in prevention.”

So my Idea is to sneek into offices and classroom via a “science project” - people might learn from it and make their own conclusions.

Or did you found any concerns/ mistakes in my post?

1 Like

The RESET vid shows how important humidity is for virus survivability.
The bosh vid interesting showing that VOC is also a good indicator for use cases that co2 doesn't capture. But co2 is being touted as a good proxy for particle accumulation.
And there is evidence that ACH air changes an hr need to increase too.

Haha, I can barely remember what I did yesterday let alone the start of the year, that seems more like a lifetime ago than a decade :slight_smile:


Hi @Christian-Me

Very interesting project.
Also your ui-table looks really cool.

I am just wondering how the sensors are powered.
And in case they are battery powered how long they can run on charged battery.



Thank you. Acutally the flow is a slightly modified version of the remote-device-table. Could be impoved in marking unrealistic readings and so on.
I started the project with parts out of my toolbox. The first monitor node is esp8266 wroom module with a lion 18650 single cell including charging chip and step up converter: not efficient but has a physical power switch. I have a wemos li-on board but that is not ideal because it does not have a power switch.
I started now coding for a ttgo/lolin esp32 + 1.4” TFT + lipo pack (1 or 2Ah): will make some measurements then but expect a hole day without deep sleep and one led.
The BME can work with deep sleep and I already coded saving the calibration data to RTC memory. But didn’t tested everything rushing to get the proof of concept (but lately I discovered that Bosch provides a ESP32 deep sleep demo) Have to avoid recalibrating after wake up.
So the LED indicator will be the biggest power drain because we don’t need wifi with its long and busy handshake.

I expect a sensor with led working a day minimum. I will put the TFT on a push button and timeout. We will see. So many tasks and unfinished parts. And I have three LoRa boards too untested and no LoRa experience on my side.

Last but not least the ESP32 has an ultra low power core ... why not reading the sensor and only wake up after a significant change.

So I everybody is invited to contribute :smiley:


I developed the project further (even my time is limited)

latest updates

  • combined sensor / monitor nodes
  • add a TFT color display (using the quite nice TTGO T-Display module)
  • simple GUI with multiple charts
  • added a Chinese CO2 sensor (MHZ19)
  • redesigned the software architecture (work in progress)
  • case designs for pocket size modules to 3D-print

still a ton of things to do

  • finish software architecture
  • pairing sensors to monitors (i.e. rooms)
  • pairing rooms with "rooms over the corridor" to coordinate cross ventilation
  • better thermal design for the cases (LED heating the sensor is not good :wink: )
  • implement LVGL as GUI & touch screen config and room monitor
  • single MCU bridge between esp-now and WiFi (serial workaround is OK but far from optimal)
  • desktop / mobile user interface
  • battery optimization with "smart" deep sleep, deep sleep using the ULP-core of the ESP32, battery surveillance and low power modes of the sensors, displays ...
  • battery powered nodes running minimum a hole working day (8h)
  • bug fixing and documentation
  • scientific research
  • combining different sensors and measurements to a common IAQ index per room / cluster / building
  • designing a PCP to combine mcu, sensors, displays, charging (think still using of the shelf modules)

Looking at the current numbers :grimacing: and the experiences in my office I became less convinced that the project can help. But in the future air quality is still an issue which is ignored for too long.

All input to the project is highly appreciated.


This topic was automatically closed after 60 days. New replies are no longer allowed.