BlueDot SGP30 Indoor Air Quality Sensor


The SGP30 is a digital multi-pixel gas sensor from Sensirion, designed for air purifiers, ventilation systems and IoT applications. The sensor contains a temperature controlled micro hotplate highly sensitive to the presence of Ethanol and H2, and from these measurements it calculates the two air quality signals TVOC (Total Volatile Organic Compound) and CO2eq (Carbon Dioxide Equivalent).


Here are the some of the board's main features:

  • 3.3 V and 5 V Power Supply. The on-board voltage regulator accepts anything from 2.6 V to 5.5 V to supply the SGP30 sensor with a constant voltage of 1.8V. 
  • Data Transfer with both 5V and 3.3V devices. While devices like the Arduino Uno interpret a 5V signal as a logic HIGH, the SGP30 uses 1.8V as a logic HIGH. The on-board logic level converter translates the 5V signals into 1.8V signals and vice-versa.
  • I2C Communication. The sensor communicates through the I2C protocol using 0x58 as the default address.
Get your BlueDot BME280 Board at Amazon!

Technical Data

Technical Data from BME280 Sensor


The first step with the SGP30 Indoor Air Quality Sensor is to solder the 4 pin header that comes along with the board. The easiest way to solder the board is to insert the header into a breadboard (long pins down) and solder the short pins to the board.

Assembly: Breakout Board with header pin
Assembly: Insert header pin into breadboard
Assembly: Solder BlueDot Board to header pin

Connecting via I2C

Here is how you can connect the SPG30 via I2C. The first step is to connect the board to the power supply.

  • VCC Pin. Connect the VCC pin from the board to either 5V or 1.8V output from your Arduino. 
  • GND Pin. Connect the GND pin from the board to the GND from the Arduino.

Now we connect the board to the I2C bus. The I2C communication uses basically two wires. The clock signal is generated by the Arduino and transferred to the sensor through the SCL line. The Arduino can send commands to the sensor using the SDA line. Just as well, all data from the sensor goes back to the Arduino through the SDA line. Because of that, the SDA line is bidirectional.

  • SDA Pin. Connect the SDA pin from the board to the SDA line on the Arduino. This corresponds to the pin A4 on the Arduino Uno.
  • SCL Pin. Connect the SCL pin from the board to the SCL line on your Arduino. This corresponds to the pin A5 on the Arduino Uno.
I2C Wiring for BlueDot BME280 Board

Installing Arduino Library

The BlueDot SGP30 board works best with the Arduino Library written by Adafruit. The easiest way to start using your new sensor is to download and install the library directly from the Arduino IDE. Just open the Arduino IDE and go to Sketch > Include Library > Manage Libraries... and search for the Adafruit SGP30 Library on the Library Manager.

Arduino IDE: Opening Library Manager
Arduino IDE: Installing BlueDot BME280 library

xkcd: commented

Upload Example-Sketch

After installing the library we can open an example sketch. Just go to File > Examples > Adafruit SGP Sensor and open the sketch sgp30test.

Arduino IDE: Uploading sketch example for BME280


Now upload the example sketch to your microcontroller and you are good to go! 

Get your BlueDot BME280 Board at Amazon!

xkcd: degrees


Schematics for BlueDot BME280 Board


Get your BlueDot BME280 Board at Amazon!

xkcd: lightsaber