Arduino SGP30 Air Quality Monitor

Difficulty: beginner Cost: $25-45 Build time: 1-2 hours

#arduino#air-quality#sgp30#oled#tvoc#eco2#sensor

Affiliate disclosure: This page contains affiliate links. When you buy through these links, we earn a small commission at no extra cost to you. This helps us keep the site running and the links up to date.

What This Project Is

This project builds an indoor air quality monitor using an Arduino UNO, a Sensirion SGP30 gas sensor, and a small OLED display. It measures Total Volatile Organic Compounds (TVOC) and equivalent CO2 (eCO2) levels, showing the readings on a clear 0.96-inch screen. This is a solid beginner project for getting started with I2C sensors and displays on Arduino.

The original Arduino Project Hub page provides the code and a basic parts list, but many of the links are generic or point to components that are frequently out of stock. This guide provides current, working buy links for all components, including common substitutions, along with practical build tips and warnings gathered from various SGP30 guides.

What You’ll Need to Buy

#ComponentSpecQtyBuy LinkNotes
1Arduino UNO R3ATmega328P, 5V logic, 14 digital I/O, 6 analog inputs, I2C on A4/A5 (SDA/SCL), 16 MHz, USB-B1SparkFun — Arduino UNO R3Any 5V-logic Arduino (Nano, Mega) works with pin reassignment. UNO R4 Minima is a direct form-factor replacement.
2SGP30 Air Quality Sensor BreakoutSensirion SGP30, I2C address 0x58, 3.3V or 5V compatible, measures TVOC 0–60,000 ppb and eCO2 400–60,000 ppm1Adafruit — SGP30 BreakoutAdafruit #3709 is often out of stock; generic GY-SGP30 modules are electrically equivalent.
3OLED Display Module 0.96” 128×64 I2C (SSD1306)SSD1306 driver, 128×64 pixels, I2C address 0x3C, 3.3V–5V compatible1Adafruit — OLED DisplayGeneric SSD1306 0.96” modules from Amazon are electrically identical and widely available.
4Half-Size Breadboard400 tie points, standard 0.1” pitch, power rails included1Adafruit — Half-Size BreadboardAny standard half-size or full-size breadboard works.
5Jumper Wires Male-Male (Dupont)Male-to-male, 6” (150mm), 28 AWG, at least 6 wires needed1 packAdafruit — Jumper WiresIf using the Adafruit SGP30, a STEMMA QT to male pin cable simplifies connection.
6USB Cable Type A to Type BUSB-A to USB-B, 6 foot, for Arduino UNO programming and power1SparkFun — USB CableStandard printer-style USB cable. If using UNO R4 Minima, you’ll need a USB-A to USB-C cable.

Estimated total cost for all components: $25-45.

Where to Get the Files

Build Notes

About This Page

Some Assembly Mandatory builds supply guides for popular maker projects. We research and verify every component link so you can focus on building, not shopping. This guide was researched and compiled with AI assistance and reviewed by our editorial team. Found a dead link or a better component? Let us know.