Project Synopsis

This project was initiated in response to the call from the EPA to design a sensory system for early warning about health risks as consequences of wildfires. In this ongoing research activity, we are extending the existing CI Rainbow infrastructure with the capability to monitor air quality with the focus on sensing the pollutants caused by wildfires that constitute health risks for people. A network of air quality sensors can provide an early warning infrastructure for communities affected by the fires especially if supported by intelligent software capable of data mining the sensory data.


A number of pollutants affect the Air Quality Index (AQI). – a country-specific measure of air quality (e.g., AQI in the US). In this activity, we are addressing sensing the following four pollutants that are related to wildfires:

  • particulate matter (particles density/dust),
  • carbon monoxide (CO),
  • carbon dioxide (CO2), and
  • ozone (trioxygen; O3).


Additionally, we are also exploring flame sensing using a 5-way (wide-angle) flame sensor.

The CI Rainbow infrastructure already implements the capability to collect sensory data from remote sensors using RaspberryPi-based sensing nodes, so it can be easily adapted to support collection of data for air quality monitoring. The following extensions to the framework are necessary to achieve that objective:

  • interfaces to sensors for the four pollutants specified by the EPA,
  • RaspberryPI-based sensory nodes that package and relay air quality sensory data to the data collection center,
  • Web-based presentation (access and visualization) of the data using the CI Rainbow Web App, and
  • notification system for triggering automated air pollution warnings.


We are also researching advanced data mining techniques to predict air quality in a given area based on the surrounding fires and weather conditions. Such capability will substantially enhance the monitoring infrastructure.


The sensors that we selected report data as analog signals, so we need to employ an analog-digital converter (ADC) to obtain digital versions of the data. We selected MCP3008, a very popular ADC, that supports multiple data channels. Owing to that, one MCP3008 supports all sensors concurrently: each sensor reports on separate channels. The following wiring image illustrates how the sensors are connected to RaspberryPi’s GPIO via the ADC.

In this example, the flame detector is connected to 4 channels on the ADC; other sensors require only one channel, so with 8 channel-capacity of MCP3008 we can add additional four sensors to the circuit.

The data is delivered to RaspberryPi using the Serial Peripheral Interface Bus (SPI) lines of the MCP3008 ADC that allow for communicating with a number of sensors through a synchronization mechanism.

The drivers for all sensors are implemented in Python using the spidev library.

All sensors need proper calibration (which is a challenge by itself).

Particulate Matter

We selected Waveshare Dust Sensor to measure particulate matter. This sensor can detect fine particular matter; so called PM2.5 that stands for particles that are smaller than 2.5 microns.







Carbon Monoxide

To measure the level of carbon monoxide in the air, we selected MQ-7. This sensor can detect CO-gas concentrations anywhere from 20 to 2000 ppm. It has high sensitivity and response time.







We use MQ-131 sensor to detect ozone in the air. The active component of the sensor is tin dioxide SnO2, which increases conductivity when the concentration of ozone in the surrounding air grows.





Carbon Dioxide

MG811 Carbon dioxide (CO2) sensor is the most expensive out of all the sensors that we use. According to the manufacturer, this sensor is highly selective to CO2 and accurate. It also has a low sensitivity to temperature and humidity that may affect the sensing. It also promises consistency of readings.






Flame Detector

We explored flame detection as a bit side activity as it is not part of sensing the quality of the air. Rather, we tried to see whether the CI Rainbow architecture could also be used for detecting fires. This particular 5-way flame sensor is sensitive to both the flame and radiation. It also can detect ordinary light source in the range of of a wavelength 760nm-1100 nm. The detection distance is up to 100 cm.



Employing Artificial Intelligence

Data Mining

Obtaining air pollution-related data is only part of the equation in the early warning infrastructure. The exact impacts on the surroundings can be evaluated only at the locations of the sensors. To evaluate the risk elsewhere predictive methods need to be invented. The objective is to predict the risk at any point (in a reasonable surrounding area) given a set of localized measurements.

In this ongoing activity, we are looking at making such predictions using machine learning techniques. The goal is to predict an AQI level at any location given a list and intensity of fires and the weather. Instead of defining such a function (that is extremely difficult to design by hand), we are looking into building a predictive model based on the historical data. For example, historical data on fires in California are available from CalFire, and EPA collects data on air pollution for the whole Nation. Historical data on weather conditions can also be obtained from numerous sources. For example, the following images show California fires on November 1st, 2017, and the AQI levels for California on the same day.

The following image shows the fires in California for the month of October, 2017. Each of these fires can be correlated with the AQI and the weather in the same period.

Using such data, we are looking into building predictive models based several Machine Learning techniques. For example, we will attempt to classify the data from a number of sensors and the local weather into one of the AQI health risk categories.

Sensory Network Engineering

Placement of air quality sensors is critical for the accuracy of the predictive models. The historical data includes measurements and calculations based on the available means; not necessarily engineered to support the creation of predictive models.

One of the research activities in the CI Rainbow project is the creation of ad hoc sensory network extensions using mesh network techniques. Such mesh networks can be constructed quickly in the areas affected by wildfires helping with both detecting the current risks and collecting the data for the future.

In this ongoing network engineering research, we are looking at designing an algorithm for the placement of the nodes in the mesh network that would optimize risk detection capability.