Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use Adafruit SGP30: Examples, Pinouts, and Specs

Image of Adafruit SGP30
Cirkit Designer LogoDesign with Adafruit SGP30 in Cirkit Designer

Introduction

The Adafruit SGP30 is an advanced sensor that measures the levels of Total Volatile Organic Compounds (TVOC) and equivalent Carbon Dioxide (eCO2) in the air. It is designed for indoor air quality monitoring and can be used in various applications such as smart homes, HVAC systems, and air purifiers. The sensor is known for its high accuracy, reliability, and long-term stability.

Explore Projects Built with Adafruit SGP30

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Arduino Nano-Based Air Quality Monitor with OLED Display and Alert Buzzer
Image of Luftkvalitetsmätare: A project utilizing Adafruit SGP30 in a practical application
This circuit features an Arduino Nano microcontroller interfaced with an Adafruit SGP30 air quality sensor, an Adafruit SHTC3 temperature and humidity sensor, and a 0.96" OLED display for real-time environmental monitoring. The sensors communicate with the Arduino via I2C, with the SGP30 and SHTC3 sensors providing air quality readings (CO2 and TVOC) and temperature/humidity data, respectively, which are then displayed on the OLED. Additionally, a buzzer is connected to the Arduino and is programmed to activate when CO2 levels exceed a certain threshold, serving as an alert system.
Cirkit Designer LogoOpen Project in Cirkit Designer
Multi-Sensor Environmental Monitoring System with Dual-Display Output
Image of capstone: A project utilizing Adafruit SGP30 in a practical application
This circuit is designed for environmental monitoring and control, featuring multiple air quality sensors, visual output on TFT displays, and user interaction through pushbuttons and a potentiometer. It is controlled by an ESP32 microcontroller, which manages sensor data via an I2C multiplexer and controls a 12V fan through a MOSFET, suggesting applications in air quality assessment and automated ventilation systems.
Cirkit Designer LogoOpen Project in Cirkit Designer
Solar-Powered Environmental Data Logger with Adafruit Feather M0 Express
Image of Lake Thoreau Monitoring Station: A project utilizing Adafruit SGP30 in a practical application
This circuit is designed for environmental data collection and logging, utilizing an Adafruit Feather M0 Express microcontroller as the central processing unit. It interfaces with a BME280 sensor for atmospheric temperature, humidity, and pressure measurements, an SGP30 sensor for monitoring air quality (eCO2 and TVOC), and a STEMMA soil sensor for detecting soil moisture and temperature. The system is powered by a solar panel and a 3.7v LiPo battery, managed by an Adafruit BQ24074 Solar-DC-USB Lipo Charger, and provides easy access to the microcontroller's connections through an Adafruit Terminal Breakout FeatherWing.
Cirkit Designer LogoOpen Project in Cirkit Designer
Adafruit MPU6050 and VL6180X Sensor Interface with Servo Control
Image of wire: A project utilizing Adafruit SGP30 in a practical application
This circuit features an Adafruit QT Py microcontroller interfaced with an Adafruit MPU6050 6-axis accelerometer/gyroscope and an Adafruit VL6180X Time of Flight (ToF) distance sensor, both connected via I2C communication. The QT Py also controls a Servomotor SG90, likely for physical actuation based on sensor inputs. The embedded code initializes the sensors, reads their data, and outputs the readings to a serial monitor, with the potential for motion control based on the sensor feedback.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with Adafruit SGP30

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of Luftkvalitetsmätare: A project utilizing Adafruit SGP30 in a practical application
Arduino Nano-Based Air Quality Monitor with OLED Display and Alert Buzzer
This circuit features an Arduino Nano microcontroller interfaced with an Adafruit SGP30 air quality sensor, an Adafruit SHTC3 temperature and humidity sensor, and a 0.96" OLED display for real-time environmental monitoring. The sensors communicate with the Arduino via I2C, with the SGP30 and SHTC3 sensors providing air quality readings (CO2 and TVOC) and temperature/humidity data, respectively, which are then displayed on the OLED. Additionally, a buzzer is connected to the Arduino and is programmed to activate when CO2 levels exceed a certain threshold, serving as an alert system.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of capstone: A project utilizing Adafruit SGP30 in a practical application
Multi-Sensor Environmental Monitoring System with Dual-Display Output
This circuit is designed for environmental monitoring and control, featuring multiple air quality sensors, visual output on TFT displays, and user interaction through pushbuttons and a potentiometer. It is controlled by an ESP32 microcontroller, which manages sensor data via an I2C multiplexer and controls a 12V fan through a MOSFET, suggesting applications in air quality assessment and automated ventilation systems.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of Lake Thoreau Monitoring Station: A project utilizing Adafruit SGP30 in a practical application
Solar-Powered Environmental Data Logger with Adafruit Feather M0 Express
This circuit is designed for environmental data collection and logging, utilizing an Adafruit Feather M0 Express microcontroller as the central processing unit. It interfaces with a BME280 sensor for atmospheric temperature, humidity, and pressure measurements, an SGP30 sensor for monitoring air quality (eCO2 and TVOC), and a STEMMA soil sensor for detecting soil moisture and temperature. The system is powered by a solar panel and a 3.7v LiPo battery, managed by an Adafruit BQ24074 Solar-DC-USB Lipo Charger, and provides easy access to the microcontroller's connections through an Adafruit Terminal Breakout FeatherWing.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of wire: A project utilizing Adafruit SGP30 in a practical application
Adafruit MPU6050 and VL6180X Sensor Interface with Servo Control
This circuit features an Adafruit QT Py microcontroller interfaced with an Adafruit MPU6050 6-axis accelerometer/gyroscope and an Adafruit VL6180X Time of Flight (ToF) distance sensor, both connected via I2C communication. The QT Py also controls a Servomotor SG90, likely for physical actuation based on sensor inputs. The embedded code initializes the sensors, reads their data, and outputs the readings to a serial monitor, with the potential for motion control based on the sensor feedback.
Cirkit Designer LogoOpen Project in Cirkit Designer

Technical Specifications

Key Technical Details

  • Measurement Range:
    • TVOC: 0 ppb to 60000 ppb
    • eCO2: 400 ppm to 60000 ppm
  • Interface: I2C
  • Supply Voltage: 1.62V to 1.98V
  • Peak Current: 48 mA
  • Operating Temperature Range: -10°C to 50°C
  • Humidity Range: 0% to 90% RH, non-condensing

Pin Configuration and Descriptions

Pin Number Name Description
1 VDD Power supply (1.62V to 1.98V)
2 GND Ground
3 SDA I2C Data
4 SCL I2C Clock
5 SEL Interface select (tied to GND for I2C)
6 NC No Connection (do not connect)

Usage Instructions

Connecting to an Arduino UNO

  1. Power Connections:

    • Connect the VDD pin to the 3.3V output on the Arduino UNO.
    • Connect the GND pin to one of the GND pins on the Arduino UNO.
  2. I2C Connections:

    • Connect the SDA pin to the A4 pin (SDA) on the Arduino UNO.
    • Connect the SCL pin to the A5 pin (SCL) on the Arduino UNO.
  3. Interface Select:

    • Ensure the SEL pin is connected to GND if it is not already hardwired on the sensor board.

Arduino Code Example

#include <Wire.h>
#include "Adafruit_SGP30.h"

Adafruit_SGP30 sgp;

void setup() {
  Serial.begin(9600);
  if (!sgp.begin()){
    Serial.println("Sensor not found :(");
    while (1);
  }
  Serial.print("Found SGP30 serial #");
  Serial.print(sgp.serialnumber[0], HEX);
  Serial.print(sgp.serialnumber[1], HEX);
  Serial.println(sgp.serialnumber[2], HEX);
}

void loop() {
  if (!sgp.IAQmeasure()) {
    Serial.println("Measurement failed");
    return;
  }
  Serial.print("TVOC ");
  Serial.print(sgp.TVOC);
  Serial.print(" ppb\t");
  Serial.print("eCO2 ");
  Serial.println(sgp.eCO2);
  delay(1000);
}

Important Considerations and Best Practices

  • Calibration: The SGP30 sensor requires periodic calibration to maintain accuracy. Follow the manufacturer's guidelines for calibration procedures.
  • Power Supply: Ensure that the power supply is stable and within the specified voltage range to avoid damaging the sensor.
  • Environmental Conditions: Avoid exposing the sensor to extreme temperatures and humidity levels outside the specified range.

Troubleshooting and FAQs

Common Issues

  • Sensor Not Responding: Ensure that the I2C connections are secure and that the correct I2C address is being used in the code.
  • Inaccurate Readings: If the sensor provides inconsistent or inaccurate readings, it may require recalibration or may be affected by environmental factors such as sudden changes in temperature or humidity.

Solutions and Tips

  • I2C Address Conflict: Make sure no other devices on the I2C bus have a conflicting address.
  • Proper Ventilation: Ensure the sensor has access to fresh air and is not obstructed by other components or enclosures.

FAQs

Q: How often should the sensor be calibrated? A: The manufacturer recommends recalibrating the sensor every six months or as needed based on usage and environmental conditions.

Q: Can the sensor measure CO2 directly? A: No, the sensor measures eCO2, which is an estimation of CO2 levels based on the detected TVOCs.

Q: Is the sensor suitable for outdoor use? A: The SGP30 is designed primarily for indoor use and may not perform accurately or reliably outdoors.

For further assistance, consult the manufacturer's datasheet and resources, or contact technical support.