Indoor Air Quality Monitoring

Indoor air quality monitoring with ESP32 and Qubitro IoT platform.

Indoor Air Quality Monitoring

Indoor air quality is so important that at least 75% of the population spend 80% of their time indoors. Not only Dust [Particulate Matter] is essential for Indoors, CO2 and TVOCs play a significant role in affecting our health.

As per US EPA, exposure to TVOCs leads to several irritations and even nausea, emesis, epistaxis. Some are even suspected of causing cancer in humans. Many household products are the sources of TVOCs. Some are paints, solvents, aerosol sprays, hobby supplies, air fresheners, pesticides, etc.

Monitoring indoor air quality helps us to understand our daily exposure to TVOCs and take reliable actions.

In this post, we'll see how to build our indoor air quality and view the data in Qubitro.

Things you'll need:


  1. SGP30 / SGP40 [I have used SGP30].
  2. Any ESP32 Board.
  3. Some Jumpers.
  4. An enclosure.


  1. Arduino IDE.

ESP32 Board:

I have used a custom ESP32 board developed by myself. You can read more about it here.  The design files are open-sourced, and you can get them fabricated from JLCPCB or Pcbway. If you can't make one, you can easily use ESP32 NodeMCU or several boards available from Adafruit and Sparkfun.



Interfacing an SGP30/40 with an ESP32 is really easy. SGP works on the I2C interface, and if you're using any of the Thingplus boards from Sparkfun, you would need a Qwiic cable. That's it!


You can assemble your setup as per your wish. But I have used laser-cut acrylic sheets and stacked the entire structure as it looks fantastic! I recommend using an enclosure with proper airflow.


To use an ESP32 with the Arduino IDE, you need to install the board packages. You can follow this tutorial if you're new to the Arduino platform.

Before uploading the code, you'll need an account in Qubitro and create a device. The code for the device can be found here. You just need to change the keys and WiFi credentials.


First, you have to create an account in Qubitro. Then you should create a project as shown below.

After creating a project, you should add a device to your project—select custom under device brand and device model.

After creating a device, you'll need the device credentials.

Copy the device ID and the Device Token from the portal and insert them in your code. Once you're done, upload the code, and the device will connect to the WiFi. You'll start seeing data flowing in your portal.

Under the Analytics section, you create charts for the analysis of data. By visualizing the graphs, you can understand your exposure to TVOCs daily and help you take relevant actions.

You can also create an interactive dashboard like this under the dashboard section using different widgets.

You can also use Qubitro's API for getting data and mix it with your own works. Read the documentation here and don't forget to try our Interactive Reference Guide.

You're having many options for the API and feel free to use anything you need!

Happy Making!

Subscribe to Qubitro Blog

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.