This project sets up an Arduino MKRWIFI1010 board to read ozone (O3) and associated Air Quality Index (AQI) from a Renesas ZMOD4510 sensor and uses WiFi to HTTP POST the O3 and AQI data to machinechat’s JEDI One IoT data platform. A Sensirion SHT31 humidity and temperature sensor is also used to provide ambient compensation values when when calculating ozone and associated AQI. JEDI One is running on a Raspberry Pi 4.
RASPBERRY PI 4B/4GB
Raspberry PI 4 Model B with 4GB SDRAM
ARDUINO MKR WIFI 1010 Evaluation Board
ZMOD4510 Air Quality Sensor Pmod™ Platform Evaluation Expansion Board
Sensirion SHT31 Humidity, Temperature Sensor Grove Platform Evaluation Expansion Board
JEDI One is a ready-to-use IoT data management software solution. Capabilities include: collect data from sensors, devices and machines; build intuitive real-time and historical data and system view dashboards; create rules to monitor and respond to data conditions automatically; receive alert notifications by email and SMS.
Arduino is an open-source electronics platform based on easy-to-use hardware and software.
Per the United States EPA (Environmental Protection Agency): Ozone can be “good” or “bad” for health and the environment depending on where it’s found in the atmosphere. Stratospheric ozone is “good” because it protects living things from ultraviolet radiation from the sun. Ground-level ozone, the topic of the EPA’s website https://www.epa.gov/ground-level-ozone-pollution/ground-level-ozone-basics , is “bad” because it can trigger a variety of health problems, particularly for children, the elderly, and people of all ages who have lung diseases such as asthma.
Renesas’ ZMOD4510 gas sensor platform detects air quality in a variety of indoor and outdoor applications. The module is a 12-pin LGA assembly that consists of a gas sense element and a CMOS signal conditioning IC. The outdoor air quality includes nitrogen dioxide (NO2) and ozone (O3). Alternatively, depending on the operation mode, the ZMOD4510 can selectively measure ozone in an ultra-low power (ULP) operation. In this project, the ZMOD4510 is set up to selectively measure ozone in an ultra-low power (ULP) operation. This is accomplished by using Renesas’ provided OAQ2 firmware. The sensor outputs an Air Quality Index for ozone based on the rating of the US EPA and an ozone concentration. AQI is based on the formula provided in the EPA technical document https://www.airnow.gov/sites/default/files/2020-05/aqi-technical-assistance-document-sept2018.pdf .
The ozone sensor system hardware consists of the MKRWIFI1010 Arduino board connected over I2C to a ZMOD4510 PMOD evaluation board and SHT31 Grove board. The system is powered by 5 VDC. Arduino software running on the MKRWIFI1010 reads the sensors, calculates ozone and AQI, converts the values to JSON and HTTP POSTs the JSON data over WiFi to the JEDI One IoT platform. Below Scheme-it schematic diagram illustrates how the system is implemented.
ZMOD4510 outdoor air quality Scheme-it schematic and BOM link
1 - Set up Arduino on the MKRWIFI1010. See link Getting started with the MKR WiFi 1010
2 - Install related libraries needed for application. Add these libraries thru Arduino’s Library Manager:
3 - Arduino sample code is available from Renesas to download at ZMOD4510 - OAQ 2nd Gen Firmware - Selective Ozone and Ultra-Low Power.. Programming guidelines and code documentation are available to download from Renesas at ZMOD4510 Programming Manual. In order to download this information you will need to register and login to Renesas Electronics Corporation. The provided Arduino sample code is integrated into additional Arduino code that HTTP POSTs the ozone concentration and AQI data to the JEDI One IoT platform (note: code is very similar to and based on the Arduino code in Machinechat with Panasonic SN-GCJA5 Air Quality (PM) Sensor)
1 - If machinechat JEDI One is not already installed on the Raspberry Pi see below:
- Get Raspberry Pi version of JEDI One DK-JEDIONE-RP
- Install on Pi, see Raspberry Pi - Installing JEDI One as a Service
2 - Set up the JEDI One dasboard
In the JEDI One, select “Dashboards” tab, then select “+” to add a new chart and configure.
Name the chart, select “Chart Type”, select “Source” (MKR1010_Z4510oaq2S31PMOD), select “Property” (O3_ppb), enter “Units” (ppb) and enter “Refresh Interval”. Repeat for the second chart, name the chart, select “Source” (MKR1010_Z4510oaq2S31PMOD), select “Property” (FastAQI), and enter “Refresh Interval”. When complete the dashboard should look similar to below.
Renesas’ ZMOD4510 air quality sensor combined with their Arduino code examples and library, Sensirion’s SHT31 sensor and MKRWIFI1010 Arduino hardware platforms makes it quick and easy to implement an outdoor ozone air quality sensor. Using WiFi, the sensor data can easily be sent to machinechat’s JEDI One IoT data management software running on a Raspberry Pi to provide a complete monitoring system.