Datasheet – STC31-C
Smart CO2 sensor based on thermal conductivity

Highlights••

Digital and calibrated output of gas
concentration and temperature
Long-term stable measurement••

Low power
Low-cross-sensitivity to humidity and oxygen
concentration changes

The STC31-C sensor is a thermal conductivity gas concentration sensor designed for high-volume applications.
The STC31-C utilizes a revolutionary thermal conductivity measurement principle, which results in superior
repeatability and long-term stability.
The outstanding performance of these sensors is based on Sensirion’s patented CMOSens® sensor technology,
which combines the sensor element, signal processing and digital calibration on a small CMOS chip. The wellproven CMOS technology is perfectly suited for high-quality mass production and is the ideal choice fordemanding and cost-sensitive OEM applications.
With the introduction of the STC31-C as successor of the STC31, the low-cross-sensitivity measurement mode
has been introduced. It provides low-cross-sensitivity to humidity and oxygen concentration changes.
The STC31-C is fully backward compatible to the STC31. See notice at the end of the document.

Device Overview
Product

Details

STC31-CSMD Component on Reel

Evalkit

STC31-C + SHT40 on Flex PCB
SCAN ME to give feedback and help
us to improve this document.
—Thank you!

www.sensirion.com / D1

Version 3.2 – September 2024

1 / 23

Contents
1

Measurement specifications ........................................................................................................................................................... 3
1.1 Concentration of CO2 in Air or N2 ..................................................................................................................................... 3
1.2 Low-noise measurement mode specifications ............................................................................................................. 4

2

Sensor specifications ......................................................................................................................................................................... 5
2.1 Sensitivity to compensation inputs of low-cross-sensitivity mode ...................................................................... 5
2.2 Temperature ............................................................................................................................................................................... 5
2.3 Electrical specifications .......................................................................................................................................................... 5
2.4 Timings ......................................................................................................................................................................................... 5
2.5 Mechanical specifications ..................................................................................................................................................... 6
2.6 Materials ...................................................................................................................................................................................... 6
2.7 Absolute minimum and maximum ratings .................................................................................................................... 6

3

Sensor operation................................................................................................................................................................................. 6
3.1 I2C addresses .............................................................................................................................................................................. 6
3.2 I2C sequences ............................................................................................................................................................................. 7
3.3 I2C commands ........................................................................................................................................................................... 8
3.4 Checksum calculation ...........................................................................................................................................................16
3.5 Conversion to physical values ...........................................................................................................................................17

4

Physical specifications.....................................................................................................................................................................18
4.1 Package outline.......................................................................................................................................................................18
4.2 Land pattern .............................................................................................................................................................................18
4.3 Pin assignment ........................................................................................................................................................................19

5

Shipping package .............................................................................................................................................................................20

6

Ordering information ......................................................................................................................................................................20

7

Product revision notice...................................................................................................................................................................21

8

Revision history .................................................................................................................................................................................22

www.sensirion.com / D1

Version 3.2 – September 2024

2 / 23

1

Measurement specifications

The STC31-C is a highly versatile thermal conductivity sensor for CO2 concentration measurement. For clarity,
below table provides relevant information for the most common use cases. For detailed considerations ofspecial cases consult the specific application notes. Examples are controlled atmosphere loggers, fastmeasurement (i.e., breath cycles) or lowest power operation.
The low-cross-sensitivity measurement mode is the recommended standard mode, and the specifications areprovided in section 1.1 below. For the specifications of the low-noise mode, refer to section 1.2.
Every STC31-C is individually tested and calibrated and is identifiable by its unique serial number (see sections
3.3.15 and 4.1).

1.1

Concentration of CO2 in Air1 or N2

Sensor performance in default conditions of 3.3V supply voltage, horizontal orientation, 1 Hz measurement
frequency, combined with SHT45 and an accurate pressure sensor; for measurements after forced recalibration(FRC) or automatic self-calibration (ASC)2 in standard low-cross-sensitivity measurement mode.
Parameter

0-40 vol% or 0-100% CO2 Range3

Note

Conditions
Measurement
Range:
0-100 vol%-10-50 °C,
10-95% RH,
800-1200 mbar

Achievable Accuracy4,5±0.5 (0.2 – 2.0) vol%Depending on measurement
and FRC conditions,assuming ideal design-in

Base Accuracy4,5±0.2 vol%Base accuracy at T, RH and P
at which FRC was performed

Conc. Coefficient (cC)

0.02 vol% / ΔC (%Conc. CO2)

Temp. Coefficient (cT)0.02 vol% / ΔT6 (°C)

Humidity Coefficient (cRH)

0.01 vol% / ΔRH (%RH)

Pressure Coefficient (cP)0.001 vol% / ΔP (mbar)

Resolution

16 bit / 30.5 ppm

Response time (τ63)< 0.5 s

Noise7

additional accuracy error
for deviations from FRC
conditions±0.07 vol%strong filter setting±0.32 vol%no filter

For FRC at
0 vol%, 30 °C,
30% RH, 1000 mbar

0 vol%, 20°C
50% RH, 1013 mbar

The STC31-C measures concentration in the unit: volume percent (vol%) of carbon dioxide (CO2) with respect
to the standard conditions: 25°C and 1000 mbar. Volume percent is here defined as volume of the dry
constituent divided by the sum of the volumes of all dry constituents of the mixture prior to mixing, multipliedby 100.
Air is defined as 78.1% nitrogen, 21.0% oxygen and 0.9% argon.
FRC and ASC are comparable to baseline correction or zeroing functions of NDIR and other sensors.
3
Measurement range and measurement mode can be chosen by setting the gas model as described in 3.3.2 Theadvantage of the 0-40% range is the reduced sensitivity to input errors. See section 2.1.
4 Accuracy refers to averaged measurements, excluding noise. Error given for the statistical 2σ range, i.e. 95% ofparameter combinations and measurements.
5
Accuracy specifies the performance of the sensor after FRC was performed. Drift over time needs to be evaluated in thespecific application environment.
6
ΔC: concentration deviation from FRC setpoint in % volume concentration; ΔT: temperature deviation from FRC setpoint
in °C; ΔRH: relative humidity deviation from FRC setpoint in %RH; ΔP: pressure deviation from FRC setpoint in millibar.
7
Error given for the statistical 2σ range, i.e. 95% of consecutive measurements. Smoothing filters available on chip, see
Section 3.3.9.
1
2

www.sensirion.com / D1

Version 3.2 – September 2024

3 / 23

1.1.1

Total accuracy calculation:
Total typical accuracy = ±(Base Accuracy + cC * ΔC + cT * ΔT + cRH * ΔRH + cP * ΔP)

1.1.2

Example for accuracy calculation:

Product initialized and sensor FRC performed at conditions: 400 pm CO 2 (0.04%), 20°C, 50%RH, 1000 mbar.
Sensor target conditions for measurement: 10 vol% CO2 in a cold (0°C) and dry (10% RH) environment withpossible elevation up to 2000 m and 800 mbar. Accuracy is calculated by assuming worst case scenarios foreach parameter:
Typical base accuracy:
0.2 vol%
additional concentration error: cC * ΔC=
0.02 vol% * (10% – 0.04%)
additional temperature error: cT * ΔT=
0.02 vol% * (20 – 0)
additional RH error:cRH * ΔRH =0.01 vol% * (50% – 10%)
additional pressure error:cP * ΔP= 0.001 vol% * (1000 – 800)
Total typical accuracy = 0.2 + 0.2 + 0.4 + 0.4 + 0.2 = ±1.4 vol%1.2

= 0.2 vol%= 0.2 vol%= 0.4 vol%= 0.4 vol%= 0.2 vol%Low-noise measurement mode specifications

The following specifications for the low-noise measurement mode are adopted without change from the STC31
Datasheet V1.1 and are still valid for the new “C” version of the STC31-C.
The new standard low-cross-sensitivity measurement mode is the recommended mode for most applications;however, the low-noise mode might offer some advantages in specific cases.
See also the revision notice in section 7 and unit of measurement in section 1.1.
Low-noise measurement mode
Parameter

Value

Calibrated for8

CO2 in N2 and CO2 in air9

Measurement range10

0 to 25 vol%0 to 100 vol%Span Accuracy

0.5 vol% + 3% measured value

1 vol% + 3% measured value

Noise

11

< 0.2 vol%12

Temperature stability

130.025 vol% / °C

Resolution

16 bitResponse time (τ63)< 0.5 sSpecifications are only valid for these binary gas mixtures (air is interpreted as being one type of gas).
Air is defined as 78.1 vol% nitrogen, 21.0 vol% oxygen and 0.9 vol% argon.
10
Measurement mode and range can be chosen by setting the gas model as described in 3.3.2
11
Accuracy is defined after performing FRC at 0 vol% providing a correct temperature, humidity, and pressure
measurement. Consult sections 3.3.3, 3.3.4, 3.3.5 and 3.3.7. for detailed information. Fulfilled by 90% of sensors after
calibration.
12Error given for the statistical 2σ range, i.e. 95% of consecutive measurements. Smoothing filters available on chip, see
Section 3.3.9.
13
Slope of CO2 accuracy tolerance after correct temperature compensation when changing temperature compared to thetemperature at which the FRC has been performed. Fulfilled by 90% of sensors after calibration. Valid for the temperature
range of 0 – 50°C.
89

www.sensirion.com / D1

Version 3.2 – September 2024

4 / 23

2

Sensor specifications

2.1

Sensitivity to compensation inputs of low-cross-sensitivity mode

The STC31-C should be provided with inputs for temperature (T), relative humidity (RH) and pressure (p) tocompensate environmental conditions – see Sections 3.3.3 to 3.3.5. Without external input, the sensor will takeits internal temperature and assume RH=0%, p=1013 mbar. Inaccurate environmental inputs affect the STC31C output, by an amount which depends on the selected measurement mode. The table below describes the
additional inaccuracies resulting from errors of the input parameters in the vicinity of the true values.
Condition
T=30 °C, RH=30%,
p=1000 mbar, c=0.0%

Selected Range

Typical additional STC31-C output error (vol.%) due to:0-40 vol%0.1°C error in T

1% error in RH

1 mbar error in p

0.025

0.00020.0001

0.06
0.04
0.01
0-100 vol%The sensitivity to errors in the compensation inputs is significantly higher for the low-noise mode.

2.2

Temperature

The measured temperature is the temperature of the bulk silicon in the sensor. This temperature value is not
only depending on the gas temperature, but also on the sensor’s contact surface (PCB) and other surroundings.
See the Engineering Guide for more details. Values are determined for the measurement frequency of 1 Hz.
Parameter
Measurement range
Resolution
Accuracy
Repeatability

2.3

Value
-40 °C to 105 °C
16 bit0.5 °C (25 °C to 60 °C),
1.0 °C (10 °C to 90 °C), 1.5 °C (-30 °C to 100 °C), 2.0 °C (-40 °C to 105 °C)
0.1 °CElectrical specifications

Parameter
Supply Voltage
Power-up/down level

SymbolVDD
VPORSupply current

IDD

Condition

Min.
2.7
2.3

Measuring
Idle state
Sleep mode

Typ.
3.3
2.5
3
50

Max.
5.5
2.7
5
1

Units
V
V
mA
uA
uA

2.4 Timings
Parameter
Power-up time

SymboltPU

Soft reset timetSR

I2C SCL frequency
Low-cross-sensitivity
concentration
measurement duration

fI2C

Low-noise concentration
measurement durationwww.sensirion.com / D1

Typ.

400

Max.
14

Units
ms

12

ms

1000

kHz

110

ms

66

ms

Version 3.2 – September 2024

Comments
Time to sensor readyTime between soft reset command orexit sleep mode and sensor ready

Measurement result is returned
together with temperature value

5 / 23

Parameter
Low-cross-sensitivity
mode recommended
sampling frequency
Low-noise mode
recommended sampling
frequency

2.5

Max.

Units

1

7

Hz

1

10

Hz

Typ.

Max.
0.025

Units
g

SymbolW

A higher readout frequency (limitedby measurement duration) will leadto self-heating and should beconsistent during FRC as well as
measurement.

Comments

REACH and RoHS compliant

Absolute minimum and maximum ratings

Parameter
Supply Voltage VDD
Max Voltage on pins (SDA, SCL)
Input current on any pin

Rating-0.3 to 5.5-0.3 to VDD+0.3±70

Operating temperature range
Maximum short term storage temperature range
Recommended storage temperature range
Operating absolute pressure range
Max. humidity for long term exposure
ESD HBM (human body model)
Media Compatibility

3

Comments

Materials

Parameter
REACH, RoHS

2.7

Typ.

Mechanical specifications

Parameter
Weight2.6

Symbol-40 to +105
-40 to +105
-10 to +40
200 to 2000
40 °C dew point
2
Noncorrosive gases

Units
V
V
mA
°C
°C
°C
mbar
kV

Sensor operation

The STC3x interface is compatible with the I2C protocol in Standard-mode, Fast-mode and Fast-mode Plus.
Clock stretching is not supported. This chapter describes the command set for STC31-C. For detailed
information about the I2C protocol, please check the document "NXP I2C-bus specification and user manual".

3.1

I2C addresses

The address is followed by a read or write bit. See section 4.3.3 for selecting alternative I2C addresses.

I2C addressdefault
selectableselectableselectable

www.sensirion.com / D1

in hex. representation
0x29
0x2A
0x2B
0x2C

Version 3.2 – September 2024

Binary representation
b 010 1001
b 010 1010
b 010 1011
b 010 1100

6 / 23

3.2

I2C sequences

The commands are 16-bit. Data is read from the sensor in multiples of 16-bit words, each followed by an 8bit checksum to ensure communication reliability. I2C sequences can be aborted with a NACK and STOP
condition.

]

Cmd[15:8]

Cmd[7:0]ACK

ACKS I2CAdr[6:0 W

ACK

I2C master writes 16 bit commandArg[7:0]

CRC[7:0]

ACK

Arg[15:8]

ACK

Cmd[7:0]

ACK]

Cmd[15:8]

ACK

ACK

S I2CAdr[6:0 W

ACK

I2C master writes 16 bit command with a 16bit argument and CRC byteArg[15:8]

Arg[7:0]

ACK

Cmd[7:0]

ACK]

Cmd[15:8]

ACK

ACK

S I2CAdr[6:0 W

ACK

The CRC byte must be generated from the 16-bit argument. See section 3.4 for details.
When the sensor responds with a NACK on to the CRC byte, a new START condition and valid commandis required to further communicate with the sensor.
Alternatively, with CRC disabled, the I2C master writes a 16bit command with a 16bit argument

CRC1[7:0](N)ACK

Data1[7:0]

ACK]

Data1[15:8]

ACK

S I2CAdr[6:0 R

ACK

I2C master sends read header and receives multiple 16bit words with CRC byte
P(N)ACK

CRC2[7:0]

P

DataX[7:0]

CRCX[7:0](N)ACK

DataX[15:8]

ACK

or
ACK

≈

Data2[7:0]

ACK

Data2[15:8]

ACK

or

P

Data2[7:0](N)ACK

ACK

P

or
P

or

DataX[15:8]

DataX[7:0]

ACK≈

Data1[7:0](N)ACK

Data2[15:8]

ACK]

Data1[15:8]

ACK

S I2CAdr[6:0 R

ACK

Alternatively, with the CRC disabled, I2C master sends read header and receives multiple 16bit words

P

Dark areas with white text indicate that the sensor controls the SDA (Data) line.

www.sensirion.com / D1

Version 3.2 – September 2024

7 / 23

3.3

I2C commands

The command set of the STC31-C consists of a set of different commands:
CommandCommand code (hex)Disable CRC
0x3768Set measurement mode and binary gas
0x3615
Set relative humidity
0x3624
Set temperature
0x361ESet pressure
0x362F
Measure gas concentration
0x3639Forced recalibration (FRC)
0x3661
Automatic self-calibration (ASC)Configure noise filter
Self-test
0x365B
Soft reset
Prepare and read state
0x3752, 0xE133
Write and apply state
0xE133, 0x3650
Read offset value
0x370A
Write offset value
0x3608Enter sleep mode
0x3677
Exit sleep mode
Read product identifier
0x367C, 0xE102

Section
3.3.1
3.3.2
3.3.3
3.3.4
3.3.5
3.3.6
3.3.7
3.3.8
3.3.9
3.3.103.3.11
3.3.12
3.3.12
3.3.133.3.133.3.143.3.143.3.153.3.1 Disable CRC
By default, the arguments written to the sensor and the data coming from the sensor are protected by CRC(cyclic redundancy check). There may be cases where it is beneficial to disable the CRC, for example to reduce
the sensor overhead and general power consumption, or during the first stages of development.
In cases where the MCU and sensor are not close together on a PCB, and are for example connected with awire, it is recommended to not disable the CRC. For safety related applications it is strongly recommended not
to disable the CRC.
CommandDisable CRC

Command code (hex)0x3768Description
This command disables the CRC on the data for both read
and write. See section 3.2 for more details.

When the system is reset or wakes up from sleep mode, the CRC mode is reset to its default value: enabled.

www.sensirion.com / D1

Version 3.2 – September 2024

8 / 233.3.2 Set measurement mode and binary gas
The STC31-C measures the concentration of binary gas mixtures. It is important to note that the STC31-C is
not selective for gases, and it assumes that the binary gas is set correctly. The sensor can only give a correct
concentration value when only the gases set with this command are present.
Standard measurement modes (low-cross-sensitivity):
Set binary gas
CO2 in N2
CO2 in air

Range of
CO2

Command code Argument
(hex)
(hex)
0x00100 to 100vol%0x00110x3615CO2 in N20x00120 to 40 vol%CO2 in air

0x0013

Output of measurement command (see 3.3.6)
CO2 concentration
between 0 to 100 vol% in N2
CO2 concentration
between 0 to 100 vol% in air
CO2 concentration
between 0 to 40 vol% in N2
CO2 concentration
between 0 to 40 vol% in air

Low-noise measurement modes:
Set binary gas
CO2 in N2
CO2 in air

Range of
CO2

Command code Argument
(hex)
(hex)
0x00000 to 100vol%0x00010x3615CO2 in N20x00020 to 25 vol%CO2 in air

0x0003

Output of measurement command (see 3.3.6)
CO2 concentration
between 0 to 100 vol% in N2
CO2 concentration
between 0 to 100 vol% in air
CO2 concentration
between 0 to 25 vol% in N2
CO2 concentration
between 0 to 25 vol% in air

The command sequence needs to be closed off with a valid CRC byte for the 16-bit argument if the CRC is notdisabled. When the CRC byte does not match the argument, the sensor will respond with a NACK and no gas
will be selected.
When the system is reset or wakes up from sleep mode, no binary gas is selected (default). This means that thebinary gas must be reconfigured.
When no binary gas is selected (default), the consecutive read after a “measure gas concentration” command
will return a NACK. This allows to detect unexpected sensor interruption (e.g., due to temporary power loss).

www.sensirion.com / D1

Version 3.2 – September 2024

9 / 233.3.3 Set relative humidity
Accurate concentration measurement requires compensation of humidity because the measurement principleof the concentration measurement is dependent on the humidity of the gas. The new low-cross-sensitivity
mode reduces this sensitivity by smart internal compensation to a minimum. If possible, it is still recommended
to compensate for relative humidity with the SHT4x and to update the compensation input whenever the
relative humidity changes significantly (see Engineering Guide).
CommandCommandcode (Hex)

Argument

Description

Set relative
humidity

0x3624

Relative Humidity: 16bit
unsigned integer
For relative humidity
scaling, see section 3.5.3.

When no value is written to the sensor after asoft reset, wake-up or power-up, a relative
humidity of 0% is assumed.
The value written to the sensor is used until a
new value is written to the sensor.

This command sequence needs to be closed off with a valid CRC byte for the 16-bit argument if the CRC is notdisabled.
When the CRC byte does not match the argument, the sensor will respond with a NACK. The sensor will omit
the command and will use the previous value, or when no value was written, assume a relative humidity of 0%.

3.3.4 Set temperature
Accurate concentration measurement requires a compensation of temperature. It is recommended to use thetemperature value of the SHT4x, because it is more accurate. When no value has been written since start-up,
the sensor uses the internal temperature signal. The temperature compensation input must be updated
whenever the temperature changes significantly (see Design Guide).
CommandCommandcode (hex)

Argument

Description

Set temperature

0x361E

Temperature: 16bit
signed integer(two's complement
number)
For temperature scaling,see section 3.5.2.

When no value is written to the sensor after asoft reset, wake-up or power-up, the internal
temperature signal is used.
The value written to the sensor is used until a
new value is written to the sensor.

This command sequence needs to be closed off with a valid CRC byte for the 16-bit argument if the CRC is notdisabled.
When the CRC byte does not match the argument, the sensor will respond with a NACK. The sensor will omit
the command and will use the previous value, or when no value was written, the internal temperature signal.

www.sensirion.com / D1

Version 3.2 – September 2024

10 / 23

3.3.5 Set pressure
The concentration measurement requires compensation of pressure. With the set pressure command, thesensor uses the input to compensate the concentration results. The pressure should be updated just before a
new measurement is started.
Pressure compensation is valid from 600 mbar to 1500 mbar.
CommandCommandcode (hex)

Argument

Description

Set pressure

0x362F

Absolute pressure: 16bit
unsigned integer
For pressure scaling, seesection 3.5.4.

When no value is written to the sensor
after a soft reset, wake-up or power-up, apressure of 1013mbar is assumed.
The value written is used until a newvalue is written to the sensor.

This command sequence needs to be closed off with a valid CRC byte for the 16-bit argument if the CRC is notdisabled.
When the CRC byte does not match the argument, the sensor will respond with a NACK. The sensor will omit
the command and will use the previous value, or when no value was written, assume the default value of
1013mbar.
3.3.6 Measure gas concentration
The duration of a gas concentration measurement is defined in section 2.4. When measurement data isavailable, it can be read out by sending an I2C read header and reading out the data from the sensor. If no
measurement data is available yet, the sensor will respond with a NACK on the I2C read header. The gas modelneeds to be set once before the measurement command, see 3.3.2.
CommandCommandcode (hex)Consecutive read

Description

Measure gas
concentration

0x3639Byte1: Gas concentration
8msb
Byte2: Gas concentration
8lsb
Byte3: CRC
Byte4: Temperature 8msb
Byte5: Temperature 8lsb
Byte6: CRC
Byte7: Reserved 8msb
Byte8: Reserved 8lsb
Byte9: CRC

The gas concentration is a 16-bit
unsigned integer.
The temperature and byte 7 and 8 do
not need to be read out. The readsequence can be aborted after any
byte by a NACK and a STOP condition.

In case the ‘Set temperature command’ has been used prior to the measurement command, the temperature
value given out by the STC31-C will be that one of the ‘Set temperature command’. When the ‘Set temperaturecommand’ has not been used, the internal temperature value can be read out.
During product development it is recommended to compare the internal temperature value of the STC31-C
and the temperature value of the SHT4x, to check whether both sensors are properly thermally coupled. The
values must be within 0.7°C at room temperature.

www.sensirion.com / D1

Version 3.2 – September 2024

11 / 23

3.3.7 Forced recalibration (FRC)
Forced recalibration is used to improve the sensor output with a known reference value. The resulting
correction is only valid for the active measurement mode, binary gas and range. See the Design Guide for moredetails.
If no argument is given, the sensor will assume a default value of 0 vol%. The FRC command takes the sameamount of time as the concentration measurement. The measurement rate should be the same during FRC andnormal measurement. The FRC correction is lost upon a power cycle and must be stored externally to be feedback to the sensor upon restart (see section 3.3.12).
CommandForced recalibration

Command code(Hex)0x3661

Argument

Description

Reference
concentration: 16bit
unsigned integer

The sensor output is changed tocorrespond to the reference value given.

This command sequence needs to be closed off with a valid CRC byte for the 16-bit argument if CRC is notdisabled. In the case that the CRC byte does not match the argument, the sensor will respond with a NACK and
the forced recalibration is performed with the default reference concentration of 0%. In this case FRC must be
repeated.
3.3.8 Automatic self-calibration (ASC)The sensor can run in automatic self-calibration mode. This mode will enhance the accuracy for applications
where the target gas is not present for most of the time. See the Design Guide for more details. This feature
can be enabled or disabled by using the commands as shown below. The default state is disabled.
CommandCommand code(hex)
0x3FEF

Argument

Description

Enable automaticNA
The sensor will apply automatic self-calibration
self-calibration
Disable automatic
0x3F6E (default) NA
The sensor will not apply automatic selfself-calibration
calibration (default)
The automatic self-calibration is optimized for a gas concentration measurement interval of 1s. Substantiallydifferent measurement intervals may decrease the self-calibration performance. The ASC correction is lost upona power cycle, reset, and sleep mode and must can be stored externally to be feed back to the sensor upon
restart (see section 3.3.12).
3.3.9 Configure noise filter
The STC31-C has two built-in noise filters that run an exponential smoothing over the past measurement
points.
CommandCommandcode (hex)Description

Enable weak filter

0x3FC8Disable weak filter

0x3F49Default is disabled. The weak filter has a smoothing factorof 1/2.5. 𝑦[𝑛] = 0.6 ∗ 𝑦[𝑛 − 1] + 0.4 ∗ 𝑥

Enable strong filter

0x3FD5

Disable strong filter

0x3F54www.sensirion.com / D1

Default is disabled. The strong filter has a smoothing factorof 1/7.5. 𝑦[𝑛] = 0.867 ∗ 𝑦[𝑛 − 1] + 0.133 ∗ 𝑥

Version 3.2 – September 2024

12 / 23

By default, no filter is applied to the data. If smoothing is desired, the following command(s) must be executed
once upon starting the sensor. When enabled, the filter is applied for all subsequent concentration
measurements.
Please note:• Both filters can be activated at the same time (chained) for stronger smoothing.
• Forced recalibration (section 3.3.7) can only benefit from this filtering if sufficient measurement points
have been taken before executing the FRC.
• The response time (specified in section 1.1) will increase if a noise filter is applied.
• Filtering will not function if the sensor is put to sleep between each concentration measurement, as
the last output value is lost.
3.3.10 Self-test
The self-test command runs an on-chip self-test which takes less than 30ms. It performs a full memory integrity
check and checks that the operating voltage is within specifications.
CommandSelf-test

Command code (hex)0x365B

Consecutive read
Byte1: Self-test 8msb
Byte2: Self-test 8lsb
Byte3: CRC

Description
The sensor will run an on-chip selftest. A successful self-test will returnb00 for the two least significant bits.

The self-test errors are decoded as follows:
Bits
1:0
9:2
15:10

Error State
Memory error
For debugging only
Always 0

In case of a memory error, the sensor should be soft-reset and the self-test should be repeated. If the
problem persists, the supply voltage should be cycled to trigger a Power-on-Reset and the self-test should
be repeated. If then the problem persists, measurement results might be compromised.
Bits 9:2 should only be considered during design-in and is for debugging purposes.
During design-in and debugging, the self-test should be performed during stable conditions, i.e. stable andnoise free supply voltage, and a stable pressure, humidity and temperature. If one or more bits return 1,
contact Sensirion for support.
3.3.11 Soft reset
CommandGeneral call resetwww.sensirion.com / D1

I2C address + W
bit + commandcode (hex)
0x0006Consecutive
read

Description

NA

This sequence resets the sensor with a separate
reset block, which is as much as possible
detached from the rest of the system on chip.
Note that the I2C address is 0x00, which is thegeneral call address, and that the command is 8
bit. The reset is implemented according to the
I2C specification.

Version 3.2 – September 2024

13 / 23

After the reset command the sensor is in the same state as after a power up cycle. Reset takes a maximum of
12ms. During this time the sensor will not acknowledge its address nor accept commands.
3.3.12 Sensor state retention
The sensor stores settings like the gas model or reference values of FRC and ASC in volatile memory. These are
not retained when the sensor loses power and must be stored externally to be sent to the sensor after eachpower cycle.
To store the state of the sensor externally use the following two commands
1. Prepare read state
2. Read state
Check the CRC of the state and store the 30 bytes. After each power cycle return the state to the sensor byusing the two commands
1. Write state
2. Apply state
The sensor state contains the following information:• Selected binary gas index (see 3.3.2)• ON or OFF flag and offset value to apply to the sensor’s output for the ASC (automatic self-calibration,see 3.3.8)• Offset value to apply to the sensor’s output used in FRC and ASC (forced recalibration, see 3.3.7)• Compensation inputs: last supplied values of temperature (see 3.3.4), humidity (see 3.3.3) and pressure(see 3.3.5)
Remark on what is not part of the sensor state:• If CRC disabling is desired, it needs to be disabled after each wake-up• The noise filter (see section 3.3.9) is not saved in the sensor state and therefore, this filtering cannot
be used in combination with sleep mode.
CommandConsecutive read

Description

Prepare read state

Command code(hex)
0x3752

NA

Read state

0xE13330 bytes (10 times
16-bit word + CRC)

The sensor will prepare its current state
to be read out. Please wait 2 ms before
sending the next command.
Read out the sensor state. The 30 bytes
must be stored on the microcontroller
to be written back to the sensor after
exiting sleep mode

Command

Argument

Description

Write state

Command code(hex)
0xE13330 bytes (10 times
16-bit word + CRC)

Apply state

0x3650NA

Write the sensor state as read out
earlier with the “Read state” (0xE133)
command.
The sensor will apply the written state
data. Please wait 2 ms before sending
the next command.

It is important to check that no corrupted state is applied to the sensor. Therefore, abort the process as soon
as a NACK is received during the Read state or Write state commands. Example procedures of sensor state
retention can be found in the Design Guide.

www.sensirion.com / D1

Version 3.2 – September 2024

14 / 23

3.3.13 Alternative FRC persistence
When using FRC, the read and write offset value commands can be used to persist only the offset value used
for FRC. All other settings, like the binary gas index must be set with the separate commands.
Command
Read offset valuecommand
Write offset valuecommandCommand code(hex)
0x370A

Consecutive read /argument
16 bits

Description

0x360816 bits

Expects the most significant 16 bits of
the offset value as an I2C commandargument.

Returns a single value with the mostsignificant 16 bits of the offset value.

Note that this is not suitable for ASC in combination with sleep mode, because the least significant bits of theoffset value are lost.
3.3.14 Sleep mode
In sleep mode the sensor uses the minimum amount of current. The mode can be entered when no othercommand is running. This mode is particularly useful for battery operated devices.
Implement and test the Sensor state retention sequence as described in section 3.3.13 before implementing thesleep sequence.
For the sensor state retention, a sleep mode is equivalent to a power cycle. Follow the procedure in section
3.3.13 to keep settings and FRC and ASC values.
Since the noise filter state is not part of the state retention it cannot be used in combination with the sleepmode.
In sleep mode the sensor cannot be soft reset.

CommandEnter Sleep mode

Command code(hex)
0x3677

Consecutive
readNA

Exit Sleep modeNANA

www.sensirion.com / D1

Description
The sleep command can be sent anytime,
whenever no other command is running.
The sensor exits the sleep mode when it
receives the valid I2C address and a write bit(‘0’).
Note that the I2C address is not acknowledged.
It is possible to poll the sensor to see whether
the sensor has received the address and has
woken up. This takes maximum 12ms.

Version 3.2 – September 2024

15 / 23

3.3.15 Read product identifier
During assembly and start-up of the device it might be required to check some basic parameters in the sensor- for example to check if the correct sensor is integrated.
The product identifier and serial number can be read out after sending a sequence of two commands.
Command
Read productidentifier

Product
STC31-C

Commandcode (hex)0x367C
0xE102

Consecutive read

Description

Byte1: Product number[31:24]
Byte2: Product number[23:16]
Byte3: CRC
Byte4: Product number [15:8]
Byte5: Product number [7:0]
Byte6: CRC
Byte7: Serial number [63:56]
Byte8: Serial number [55:48]
Byte9: CRC
Byte10: Serial number [47:40]
Byte11: Serial number [39:32]
Byte12: CRC
Byte13: Serial number [31:24]
Byte14: Serial number [23:16]
Byte15: CRC
Byte16: Serial number [15:8]
Byte17: Serial number [7:0]
Byte18: CRC

Note that both commands need to bepreceded with an I2C write header(I2C address + W).
The second command returns:
32-bit unique product andrevision number. The number
is listed in the table below.
Note that the last 8 bits are
the revision number and canbe subject to change.
64-bit unique serial number
as ASCII representation of theserial number on the sensor.

Product number
0x08010304

3.4 Checksum calculation
The checksum byte is generated by a CRC algorithm with the following properties:
Property
Name
Protected data
Width
Polynomial
Initialization
Reflect input
Reflect output
Final XORExamplewww.sensirion.com / D1

Value
CRC-8
read data
8 bit
0x31 (x8 + x5 + x4 +1)
0xFF
False
False
0x00
CRC(0xBEEF) = 0x92

Version 3.2 – September 2024

16 / 23

3.5

Conversion to physical values

3.5.1 Gas concentration
The digital calibrated gas concentration signal read from the sensor is an unsigned integer number. The integer
value can be converted to the physical value by the following conversion formula.
𝐶𝑜𝑛𝑐𝑒𝑛𝑡𝑟𝑎𝑡𝑖𝑜𝑛 [𝑣𝑜𝑙 %] =𝑆𝑇𝐶3𝑥 𝑜𝑢𝑡𝑝𝑢𝑡−214
215

× 100

Example: 32000 => 47.7% volume concentration for the selected gas.
3.5.2 Temperature
The digital calibrated temperature signal read from or written to the sensor is a signed integer number (two's
complement number). The integer value can be converted to the physical value by the following conversion
formula.
𝑇𝑒𝑚𝑝𝑒𝑟𝑎𝑡𝑢𝑟𝑒 [°𝐶] =𝑆𝑇𝐶3𝑥 𝑜𝑢𝑡𝑝𝑢𝑡 𝑜𝑟 𝑖𝑛𝑝𝑢𝑡
200

Example: 2500 => 12.5°C
3.5.3 Relative humidity
The relative humidity value written to the sensor is an unsigned integer number. The integer value can beconverted to the physical value by the following conversion formula.
𝑅𝑒𝑙𝑎𝑡𝑖𝑣𝑒 𝐻𝑢𝑚𝑖𝑑𝑖𝑡𝑦 [%] =𝑆𝑇𝐶3𝑥 𝑖𝑛𝑝𝑢𝑡 × 100
216 − 1

Example: 65535 => 100% relative humidity
3.5.4 Pressure
The pressure value written to the sensor is an unsigned integer number. The integer value can be converted tothe physical value by the following conversion formula.
𝑃𝑟𝑒𝑠𝑠𝑢𝑟𝑒 [𝑚𝑏𝑎𝑟] = 𝑆𝑇𝐶3𝑥 𝑖𝑛𝑝𝑢𝑡
Example 1023 => 1023 mbar

www.sensirion.com / D1

Version 3.2 – September 2024

17 / 23

4

Physical specifications

4.1

Package outline

Figure 1 Dimensional drawing of STC3x including package tolerances (units mm). XXXXXX denotes thesensor version “C” + serial number.

4.2 Land pattern
The land pattern is recommended to be designed according to the used PCB and soldering process together
with the physical outer dimensions of the sensor. For more details about soldering see separate Handling andAssembly Instructions.

Figure 2 Example Land Pattern: Top View on PCB (through component)

www.sensirion.com / D1

Version 3.2 – September 2024

18 / 23

4.3 Pin assignment
The pin assignments of the STC31-C, bottom view.

Pin no.
1
2
3
4
5
6
7
8
9
10
11
12

Name
VSS
ADDR
SCL
VSS
VDD
SDA
VSS
VSS
-

Description
Connect to groundReserved. Do not connect
I2C Address Selection
Serial Clock (I2C Interface)
Connect to groundVDD Supply
Bidirectional Serial Data (I2C Interface)
Reserved. Do not connect
Connect to groundReserved. Do not connect
Connect to groundReserved. Do not connect

4.3.1 Power pins (VDD, GND)
The power supply pin must be decoupled with a 100 nF capacitor that shall be placed as close to the sensor as
possible.
4.3.2 Serial clock and serial data (SCL, SDA)The SCL and SDA are bidirectional pins of the I2C slave interface. The SCL is the Serial Clock pin and the SDA is
the Serial Data pin. For more details about the I2C interface refer to section 3.
Both SCL and SDA lines are open-drain I/Os with diodes to VDD und VSS. They should be connected to external
pull-up resistors (please refer to Figure 3). A device on the I2C bus must only drive a line to ground. The
external pull-up resistors (e.g. Rp = 10 kΩ) are required to pull the signal high. For dimensioning resistor sizes
please take bus capacity and communication frequency into account (see for example Section 7.1 of NXPs I 2C
Manual for more details14). It should be noted that pull-up resistors may be included in I/O circuits of
microcontrollers. It is recommended to wire the sensor according to the application circuit in Figure 3.

Figure 3 Typical application circuit. Please note that the positioning of the pins does not reflect the position of
the sensor’s orientation in the reel. This is shown in section 5. The pin numbers corresponding to the schematicin section 4.3 are indicated.

14

http://www.nxp.com/documents/user_manual/UM10204.pdf

www.sensirion.com / D1

Version 3.2 – September 2024

19 / 23

4.3.3 Address selection pin (ADDR)
A resistor between ADDR and VDD may be used to configure the I 2C address the STC31-C uses forcommunication. The selectable addresses and their respective conditions are:

I2C Address (hex)0x29 (default)
0x2A
0x2B
0x2C

Condition
Ground or no connection between ADDR (pin 3) and VDD (pin 6)
10 kOhm (±5%) between ADDR (pin 3) and VDD (pin 6)
3.3 kOhm (±5%) between ADDR (pin 3) and VDD (pin 6)
1 kOhm (±5%) between ADDR (pin 3) and VDD (pin 6)

4.3.4 Die pad (center pad)
The die pad or center pad is visible from below and located in the center of the package. It is electrically floating
and therefore it is recommended to connect it to GND. Depending on the application, it may or may not be
advantageous to solder the center pad to a larger ground trace/plane to increase thermal coupling.

5

Shipping package

STC31-C is provided in tape & reel shipment packaging. Available packaging size is 400 or 5000 units per
reel.

Figure 4 Technical drawing of the packaging tape with sensor orientation in tape. Header tape is to the rightand trailer tape to the left on this drawing. Dimensions are given in millimeters.

6

Ordering information

Use the part names and product numbers shown in the following table when ordering STC31-C Thermal
Conductivity Sensor. For the latest product information and local distributors, visit www.sensirion.com.
Part name

Description / Output

SEK-STC31-C
STC31-C-R3
STC31-C-R5

www.sensirion.com / D1

I2COrder number

Packaging

Tape & reel size

3.001.061

Single package evaluation kit

n/a3.001.031

Tape & Reel

400

3.001.032

Tape & Reel

5000

Version 3.2 – September 2024

20 / 23

7

Product revision notice

The development the STC family has resulted in major advances and a newmeasurement mode with superior cross sensitivity performance is introduced withthe 2024 release of the STC31-C.
The STC31-C can be identified visually by the laser marking on the package: STC31”C”. The previously available version of the STC31 was marked with an “A”.
Changes are:• Introduction of the new standard measurement mode (low-cross-sensitivity) with significantly reduced
cross sensitivity to changes in the humidity and oxygen content of the air. The legacy measurementmode (low-noise) is still available with unchanged measurement command for backward compatibility(see below).
• Applies to the new standard low-cross-sensitivity measurement mode:• General improvements of the temperature and pressure sensitivity.
• Improved characterization of the impact of concentration, temperature, humidity andpressure on the measurement accuracy. See section 1.1.
• Characterization of the sensitivity to errors in the compensation inputs (T, RH, p). See section
2.
• Extension of the low concentration range from 0-25% to 0-40% CO2.
• The new standard measurement mode (low-cross-sensitivity) has more noise on the individual
measurement than the low-noise measurement mode. This can be resolved by averaging
multiple measurements or using the filter setting.
• Detailed characterization of the temperature sensor accuracy. See section 2.2.
• Increased absolute minimum and maximum temperature ranges. See section 2.7.
• In contrast to STC31, STC31-C’s center pad is not connected to ground, and it is recommended tosolder it to ground and not let it floating.
Backward compatibility:• The STC31-C is fully backward compatible to the STC31.
• There are no changes in the physical properties of the component and shipping package.
• There are no changes in the electrical interface or digital communication.
• The new standard measurement mode (low-cross-sensitivity) is now available under a newmeasurement command argument (see section 3.3.2) and does not overwrite the legacy measurementmode (low-noise).
• The low-noise measurement mode remains available with the same measurement command argument
and there is no change of the communication required to continue using it when transitioning from
STC31 to STC31-C.
• The new measurement mode (low-cross-sensitity) seems to perform better for all applications known
to us. We recommend all customers to evaluate it. However, no end of life of the old measurementmode is planned.
• The unchanged specifications for the low-noise mode are provided unchanged in section 1.2.

www.sensirion.com / D1

Version 3.2 – September 2024

21 / 23

8

Revision history

Date

VersionPages / Sections

1.1

all

Last Datasheet for STC31

allFirst release for STC31-C• Finalized specifications in section 1.1, 1.1.1, 1.1.2, and
2.1• Typos and cross-references corrected• Correct hyphenation: “low-cross-sensitivity” and “lownoise”• QR-Code for feedback added• FRC conditions at one point• Added: Measurement rate should be the same during
FRC and normal measurement.
• Final Product Number: 0x08010304, section 3.3.15• Section 3.3.3, 3.3.4, 3.3.5 updated withrecommendations and Design Guide• Section 4.3.4: New note about the requirement andoption to solder the center pad to a large groundtrace/plane.

all

Minor corrections

Oct 2020

April 2024

June 2024

3.0

3.1

3.3.10Chapter Self Test rewritten with new recommendations

1.1

Precise definition for measurement unit vol% added

4.2

Land pattern recommendation added

3.3.2 – 3.3.6

Sept. 2024

www.sensirion.com / D1

3.2

Changes

Wording and clarity of text

all

Minor corrections of spelling and format

3.2

Added additional information for handing NACK response to
CRC byte

3.3.7

Added clarification: The resulting correction is only valid for theactive measurement mode, binary gas and range.

Version 3.2 – September 2024

22 / 23

Important Notices
Warning, Personal Injury
Do not use this product as safety or emergency stop devices or in any other application where failure of the product could
result in personal injury. Do not use this product for applications other than its intended and authorized use. Before installing,
handling, using or servicing this product, please consult the data sheet and application notes. Failure to comply with these
instructions could result in death or serious injury.
If the Buyer shall purchase or use SENSIRION products for any unintended or unauthorized application, Buyer shall defend,
indemnify and hold harmless SENSIRION and its officers, employees, subsidiaries, affiliates and distributors against all claims, costs,
damages and expenses, and reasonable attorney fees arising out of, directly or indirectly, any claim of personal injury or deathassociated with such unintended or unauthorized use, even if SENSIRION shall be allegedly negligent with respect to the designor the manufacture of the product.
ESD Precautions
The inherent design of this component causes it to be sensitive to electrostatic discharge (ESD). To prevent ESD-induced damage
and/or degradation, take customary and statutory ESD precautions when handling this product. See application note “ESD, Latchup
and EMC” for more information.
Warranty
SENSIRION warrants solely to the original purchaser of this product for a period of 12 months (one year) from the date of delivery
that this product shall be of the quality, material and workmanship defined in SENSIRION’s published specifications of the product.
Within such period, if proven to be defective, SENSIRION shall repair and/or replace this product, in SENSIRION’s discretion, freeof charge to the Buyer, provided that:•
notice in writing describing the defects shall be given to SENSIRION within fourteen (14) days after their appearance;•such defects shall be found, to SENSIRION’s reasonable satisfaction, to have arisen from SENSIRION’s faulty design, material,
or workmanship;•
the defective product shall be returned to SENSIRION’s factory at the Buyer’s expense; and•the warranty period for any repaired or replaced product shall be limited to the unexpired portion of the original period.
This warranty does not apply to any equipment which has not been installed and used within the specifications recommended by
SENSIRION for the intended and proper use of the equipment. EXCEPT FOR THE WARRANTIES EXPRESSLY SET FORTH HEREIN,SENSIRION MAKES NO WARRANTIES, EITHER EXPRESS OR IMPLIED, WITH RESPECT TO THE PRODUCT. ANY AND ALL
WARRANTIES, INCLUDING WITHOUT LIMITATION, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULARPURPOSE, ARE EXPRESSLY EXCLUDED AND DECLINED.
SENSIRION is only liable for defects of this product arising under the conditions of operation provided for in the data sheet andproper use of the goods. SENSIRION explicitly disclaims all warranties, express or implied, for any period during which the goods
are operated or stored not in accordance with the technical specifications.
SENSIRION does not assume any liability arising out of any application or use of any product or circuit and specifically disclaims
any and all liability, including without limitation consequential or incidental damages. All operating parameters, including without
limitation recommended parameters, must be validated for each customer’s applications by customer’s technical experts.
Recommended parameters can and do vary in different applications.
SENSIRION reserves the right, without further notice, (i) to change the product specifications and/or the information in thisdocument and (ii) to improve reliability, functions and design of this product.

Headquarters and Subsidiaries
Sensirion AG
Laubisruetistr. 50
CH-8712 Staefa ZH
Switzerland

Sensirion Inc., USA
phone: +1 312 690 5858
info-us@sensirion.com
www.sensirion.com

Sensirion Korea Co. Ltd.
phone: +82 31 337 7700~3
info-kr@sensirion.com
www.sensirion.com/kr

phone: +41 44 306 40 00
fax:+41 44 306 40 30
info@sensirion.com
www.sensirion.com

Sensirion Japan Co. Ltd.
phone: +81 45 270 4506
info-jp@sensirion.com
www.sensirion.com/jp

Sensirion China Co. Ltd.
phone: +86 755 8252 1501
info-cn@sensirion.com
www.sensirion.com/cn

Sensirion Taiwan Co. Ltd
phone: +886 2 2218-6779
info@sensirion.com
www.sensirion.com

To find your local representative, please visit
www.sensirion.com/distributors

Copyright © 2024, by SENSIRION. CMOSens® is a trademark of Sensirion. All rights reserved
www.sensirion.com / D1

Version 3.2 – September 2024

23 / 23