Datasheet

www.sensirion.com Version 0.9 August 2017 8/15
Air Quality Signals
The SGP30 uses a dynamic baseline compensation algorithm and on-chip calibration parameters to provide two
complementary air quality signals. Based on the sensor signals a total VOC signal (TVOC) and a CO
2
equivalent signal
(CO
2
eq) are calculated. Sending an “Init_air_quality” command starts the air quality measurement. After the “Init_air_quality”
command, a “Measure_air_quality” command has to be sent in regular intervals of 1s to ensure proper operation of the
dynamic baseline compensation algorithm. The sensor responds with 2 data bytes (MSB first) and 1 CRC byte for each of the
two preprocessed air quality signals in the order CO
2
eq (ppm) and TVOC (ppb). For the first 15s after the “Init_air_quality”
command the sensor is in an initialization phase during which a “Measure_air_quality” command returns fixed values of
400 ppm CO
2
eq and 0 ppb TVOC.
The SGP30 also provides the possibility to read and write the baseline values of the baseline correction algorithm. This feature
is used to save the baseline in regular intervals on an external non-volatile memory and restore it after a new power-up or soft
reset of the sensor. The command “Get_baseline” returns the baseline values for the two air quality signals. The sensor
responds with 2 data bytes (MSB first) and 1 CRC byte for each of the two values in the order CO
2
eq and TVOC. These two
values should be stored on an external memory. After a power-up or soft reset, the baseline of the baseline correction
algorithm can be restored by sending first an “Init_air_quality” command followed by a “Set_baseline” command with the two
baseline values as parameters in the order as (TVOC, CO
2
eq). An example implementation of a generic driver for the baseline
algorithm can be found in the document SGP30_driver_integration_guide.
A new “Init_air_quality” command has to be sent after every power-up or soft reset.
Sensor Raw Signals
The command “Measure_raw_signals” is intended for part verification and testing purposes. It returns the sensor raw signals
which are used as inputs for the on-chip calibration and baseline compensation algorithms as shown in Figure 6. The
command performs a measurement to which the sensor responds with 2 data bytes (MSB first) and 1 CRC byte (see Figure
9) for 2 sensor raw signals in the order H2_signal (s
out_H2
) and Ethanol_signal (s
out_EthOH
). Both signals can be used to calculate
gas concentrations c relative to a reference concentration c
ref
by
󰇡



󰇢


with a = 512, s
ref
the H2_signal or Ethanol_signal output at the reference concentration, and s
out
= s
out_H2
or s
out
= s
out_EthOH
.
Humidity Compensation
The SGP30 features an on-chip humidity compensation for the air quality signals (CO
2
eq and TVOC) and sensor raw signals
(H2-signal and Ethanol_signal). To use the on-chip humidity compensation an absolute humidity value from an external
humidity sensor like the SHTxx is required. Using the “Set_humidity” command, a new humidity value can be written to the
SGP30 by sending 2 data bytes (MSB first) and 1 CRC byte. The 2 data bytes represent humidity values as a fixed-point 8.8bit
number with a minimum value of 0x0001 (=1/256 g/m
3
) and a maximum value of 0xFFFF (255 g/m
3
+ 255/256 g/m
3
). For
instance, sending a value of 0x0F80 corresponds to a humidity value of 15.50 g/m
3
(15 g/m
3
+ 128/256 g/m
3
).
After setting a new humidity value, this value will be used by the on-chip humidity compensation algorithm until a new humidity
value is set using the “Set_humidity” command. Restarting the sensor (power-on or soft reset) or sending a value of 0x0000
(= 0 g/m
3
) sets the humidity value used for compensation to its default value (0x0B92 = 11.57 g/m
3
) until a new humidity value
is sent. Sending a humidity value of 0x0000 can therefore be used to turn off the humidity compensation.
Feature Set
The SGP30 features a versioning system for the available set of measurement commands and on-chip algorithms. This so
called feature set version number can be read out by sending a Get_feature_set_versioncommand. The sensor responds
with 2 data bytes (MSB first) and 1 CRC byte (see Table 9). This feature set version number is used to refer to a
corresponding set of available measurement commands as listed in Table 10.
Most significant byte (MSB)
Least significant byte (LSB)
Bit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Product type
SGP30: 0
Reserved for
future use
0
Product version
Table 9 Structure of the SGP feature set number. Please note that the last 5 bits of the product
version (bits 12-16 of the LSB) are subject to change. This is used to track new features added to
the SGP multi-pixel platform.