In this multi part series, I will be taking you through building, breaking and re-making of a rugged (dust and water proof) and reliable (firmware, power, and connectivity) with Hornbill series of ESP32 dev boards. The aim is show the process of building, documenting the failure as well as the working! So in this first part we will try and build a quick prototype and show that it is possible. At the end of it we will ask some fundamental questions and re-visit the design and see what can be improved.

0 iaq esp32.jpeg

Why do it?

Air pollution is on rise in all major Indian cities. Indoor Air Pollution at times is worse than outdoors. In my opinion it is important to measure it. We may not be able to control it with this project but as the saying goes "If You Can't Measure It, You Can't Improve It. "


So I had a poll with a fellow makers and they believe it is important to measure it.

Measuring Indoor Air Quality (IAQ)

Although measuring Indoor Air Quality is important, basic research suggest that it is a complex task. The end goal would be to provide a simple indication to showing the air the quality. In this example let us concentrate on getting the data from chosen sensors provides. Air quality deteriorates due to CO2, volatile organic compounds (VOCs) in conjunction with temperature and relative humidity. The sensor AMS iAQCore provide C02 equivalents and TVOC. The combination of these parameters should be able to provide a basic indication of air quality. Figure below shows how these combination of factors affects Air Quality and it could be detected with our setup. IaqCorePlot.png In the subsequent articles in the series, we will try and make sense of the data, go through the available standards and figure out a metric for normal, good and bad air.

So we will be measuring the following

  • Temperature in degree Celsius
  • Humidity in Percentage
  • Carbon Dioxide(CO2) equivalents in Parts per Million ppm
  • Total Volatile Organic Componds (TVOC) in Parts per Billion ppb


Iaq schematic.png


  • Hornbill ESP32 Dev Board
  • Hornbill ESP32 Proto Board
  • AMS iAQCore
  • Other passive components


Well giving it shot should be fun enough!

The Data Plots

The data is sent to thingspeak over http. This could be improved further to use https.

Logging data to the blynk app was simple enough. Blynk allows displays data on smartphones with nice widgets and controls.
Blynk IAQ.png


Going further

There are some essential questions that we need to ask at this point, so that the design can be improved further.

  • Data Logging Frequency: We are logging data every 20 seconds. We need to arrive at a logical time interval which is much higher. This will help us save power.
  • Can Power modes be configured to put the system is sleep mode when logging?
  • Can local (SD card) data storing and logging once in a while make more sense?
  • How can the data be interpreted to indicate Air Quality in a Simpler way?
  • Should we measure the power as a parameter?
  • Can the code be re-written in 'C' for lower power consumption?

We will explore all of this and more in the future articles.