SENSIRION SCD4 Series User manual

www.sensirion.com Version 1.5 –July 20231/27
Product Variants
▪SCD40: Base accuracy, specified measurement
range 400 –2’000 ppm
▪SCD41: High accuracy, specified measurement
range 400 –5’000 ppm, compatible with relevant
IAQ standards, several power modes
SCD4x
Breaking the size barrier in CO2sensing
Products
Details
SCD40-D-R2
Base accuracy, specified range
400 –2’000 ppm
SCD41-D-R2
High accuracy, specified range
400 –5’000 ppm, low power
modes supported
Functional Block Diagram
Product Overview
Product Summary
The SCD4x is Sensirion’s next generation miniature CO2
sensor. This sensor builds on the photoacoustic NDIR
sensing principle and Sensirion’s patented PASens® and
CMOSens® technology to offer high accuracy at an
unmatched price and smallest form factor. SMD assembly
allows cost- and space-effective integration of the sensor
combined with maximal freedom of design. On-chip signal
compensation is realized with the built-in SHT4x humidity
and temperature sensor.
CO2is a key indicator for indoor air quality (IAQ) as high
levels compromise humans’ cognitive performance and
well-being. The SCD4x enables smart ventilation systems
to regulate ventilation in the most energy-efficient and
human-friendly way. Moreover, indoor air quality monitors
and other connected devices based on the SCD4x can
help maintain low CO2concentration for a healthy,
productive environment.
Features
▪Photoacoustic NDIR sensor technology PASens®
▪Smallest form factor: 10.1 x 10.1 x 6.5 mm3
▪Reflow solderable for cost-effective assembly
▪Digital I2C interface
▪Integrated temperature and humidity sensor

www.sensirion.com Version 1.5 –July 20232/27
Table of Contents
1Sensor Performance .........................................................................................................................................3
1.1 CO2Sensing Performance ..........................................................................................................................3
1.2 Humidity Sensing Performance ...................................................................................................................3
1.3 Temperature Sensing Performance.............................................................................................................3
2Specifications ....................................................................................................................................................4
2.1 Electrical Specifications...............................................................................................................................4
2.2 Absolute Maximum Ratings.........................................................................................................................4
2.3 Interface Specifications ...............................................................................................................................5
2.4 Timing Specifications...................................................................................................................................6
2.5 Material Contents ........................................................................................................................................6
3Digital Interface Description.............................................................................................................................7
3.1 Power-Up and Communication Start ...........................................................................................................7
3.2 Data Type & Length ....................................................................................................................................7
3.3 Command Sequence Types........................................................................................................................7
3.4 SCD4x Command Overview........................................................................................................................8
3.5 Basic Commands ........................................................................................................................................9
3.6 On-Chip Output Signal Compensation ......................................................................................................10
3.7 Field Calibration ........................................................................................................................................13
3.8 Low Power Periodic Measurement Mode ..................................................................................................14
3.9 Advanced Features ...................................................................................................................................15
3.10 Single Shot Measurement Mode (SCD41 Only) ........................................................................................17
3.11 Checksum Calculation...............................................................................................................................21
4Mechanical specifications ..............................................................................................................................22
4.1 Package Outline ........................................................................................................................................22
4.2 Land Pattern..............................................................................................................................................22
4.3 Tape & Reel Package................................................................................................................................23
4.4 Moisture Sensitivity Level..........................................................................................................................23
4.5 Soldering Instructions................................................................................................................................24
4.6 Traceability and Identification ....................................................................................................................24
5Ordering Information.......................................................................................................................................25
6Revision History ..............................................................................................................................................26

www.sensirion.com Version 1.5 –July 20233/27
1Sensor Performance
1.1 CO2Sensing Performance
Default conditions of 25 °C, 50 %RH, ambient pressure 1013 mbar, periodic measurement and 3.3 V supply voltage apply to
values in the table below, unless otherwise stated.
Parameter
Conditions
Value
CO2output range1
-
0 –40’000 ppm
SCD40 CO2measurement accuracy2
400 ppm –2’000 ppm
±(50 ppm + 5% of reading)
SCD41 CO2measurement accuracy2
400 ppm –1’000 ppm
±(50 ppm + 2.5% of reading)
1’001 ppm – 2’000 ppm
±(50 ppm + 3% of reading)
2’001 ppm – 5’000 ppm
±(40 ppm + 5% of reading)
Repeatability
Typical
±10 ppm
Response time3
τ63%, typical
60 s
Additional accuracy drift after five years
with automatic self-calibration (ASC)
algorithm enabled4
Typical, 400 –2000 ppm
±(5 ppm + 0.5 % of reading)
Table 1: SCD40 and SCD41 CO2sensor specifications
1.2 Humidity Sensing Performance
Parameter
Conditions
Value
Humidity measurement range
-
0 %RH –100 %RH
Accuracy (typ.)
15 °C –35 °C, 20 %RH –65 %RH
±6 %RH
-10 °C –60 °C, 0 %RH –100 %RH
±9 %RH
Repeatability
Typical
±0.4 %RH
Response time3
τ63%, typical
90 s
Accuracy drift
-
<0.25 %RH / year
Table 2: SCD4x humidity sensor specifications
5
1.3 Temperature Sensing Performance
Parameter
Conditions
Value
Temperature measurement range
-
- 10 °C –60 °C
Accuracy (typ.)
15 °C –35 °C
± 0.8 °C
-10 °C –60 °C
± 1.5 °C
Repeatability
-
± 0.1 °C
Response time3
τ63%, typical
120 s
Accuracy drift
-
< 0.03 °C / year
Table 3: SCD4x temperature sensor specifications5
1
Exposure to CO2concentrations smaller than 400 ppm can affect the accuracy of the sensor if the ASC is on.
2
Deviation from a high-precision reference with gas mixtures having a ±2% tolerance. Rough handling, shipping and sensor assembly can temporarily impact the accuracy.
Accuracy can be fully restored through the forced recalibration (FRC) or ASC algorithms at least 5 days after sensor assembly (See Section 3.7)
3
Time for achieving 63% of a respective step function when operating the SCD41 Evaluation Kit in periodic measurement mode. Response time depends on design-in, signal
update rate and environment of the sensor in the final application.
4
For proper function of the ASC algorithm, the SCD4x must be exposed to air with CO2concentrations of 400 ppm on a weekly basis. Maximum accuracy drift after five years
estimated from stress tests is ±(5 ppm + 2% of reading). Higher drift values may occur if the sensor is not handled according to its handling instructions.
5
Design-in of the SCD4x in final application, self-heating of the sensor and the environment around the sensor impacts the accuracy of the RH/T sensor. To realize indicated
specifications, the temperature-offset of the SCD4x inside the customer device must be set correctly (see Section 3.6).

www.sensirion.com Version 1.5 –July 20234/27
2Specifications
2.1 Electrical Specifications
Parameter
Symbol
Conditions
Min.
Typical
Max.
Units
Supply voltage DC6
VDD
2.4
3.3 or 5.0
5.5
V
Unloaded supply voltage ripple peak to peak7
VRPP
30
mV
Peak supply current8
Ipeak
VDD = 3.3 V
175
205
mA
VDD = 5 V
115
137
mA
Average supply current for periodic measurement
mode, 1 measurement every 5 seconds
IDD
VDD = 3.3 V
15
18
mA
VDD = 5 V
11
13
mA
Average supply current for low power periodic
measurement mode, 1 measurement every 30
seconds
IDD
VDD = 3.3 V
3.2
3.5
mA
VDD = 5 V
2.8
3
mA
Average supply current for single shot mode, 1
measurement every 5 minutes (SCD41 only)9
IDD
VDD = 3.3 V
0.45
0.5
mA
VDD = 5 V
0.36
0.4
mA
Input high level voltage
VIH
0.65 x VDD
1 x VDD
-
Input low level voltage
VIL
0.3 x VDD
-
Output low level voltage
VOL
3 mA sink current
0.66
V
Table 4: SCD4x electrical specifications
2.2 Absolute Maximum Ratings
Stress levels beyond those listed in Table 5 may cause permanent damage to the device. Exposure to minimum/maximum
rating conditions for extended periods may affect sensor performance and device reliability.
Parameter
Conditions
Value
Temperature operating conditions
-10 –60 °C
Humidity operating conditions10
Non-condensing
0 –95 %RH
MSL Level
3
DC supply voltage
-0.3 V –6.0 V
Max voltage on pins SDA, SCL, GND
-0.3 V –VDD + 0.3 V
Input current on pins SDA, SCL, GND
-280 mA –100 mA
Short term storage temperature11
-40 °C –70 °C
Recommended storage temperature
10 °C –50 °C
ESD HBM (pads and metal cap)
2 kV
ESD CDM
500 V
Maintenance Interval
Maintenance free when the ASC
algorithm12 is used.
None
Sensor lifetime13
Typical operating conditions
>10 years
Table 5: SCD4x operation conditions, lifetime and maximum ratings
6
Supply voltage must be kept constant for stable sensor operation.
7
Valid only for the supply voltage without the load of the sensor.
8
Refers to sustained current.
9
On-demand measurement with freely adjustable interval. See Section 3.10.
10
Accuracy can be reduced at relative humidity levels lower than 10%.
11
Short term storage refers to temporary conditions during e.g., transport.
12
For proper function of the ASC field-calibration algorithm, the SCD4x must be exposed to air with CO2concentrations of 400 ppm on a weekly basis.
13
Sensor tested over simulated lifetime of >10 years for indoor environment mission profile.

www.sensirion.com Version 1.5 –July 20235/27
2.3 Interface Specifications
The SCD4x comes in an LGA package (Table 6). The package outline is schematically displayed in Section 4.1. The landing
pattern of the SCD4x can be found in Section 4.2.
Name
Comments
VDD
Supply voltage
VDDH
Supply voltage IR source, must
be connected to VDD on
customer PCB
GND
Ground contact
SDA
I2C Serial data, bidirectional
SCL
I2C Serial clock
DNC
Do not connect, pads must be
soldered to a floating pad on
the customer PCB
Table 6: Pin assignment (top view). The notched corner of the protection membrane serves as a polarity mark to indicate pin 1 location.
VDD and VDDH are used to supply the sensor and must always be kept at the same voltage, i.e. both should be connected to
the same power supply. The combined maximum current drawn on VDD and VDDH is indicated in Table 4. VDD and VDDH
must be connected to each other close to the sensor on the customer PCB.
For the sensor operation, a low noise power supply, such as a low-dropout regulator (LDO), should be chosen which can handle
the peak supply current and voltage ripple peak to peak as specified in Table 4. Due to the sensor’s internal regulation, higher
transient currents (on the order of microseconds) may be observed. These transient currents can be neglected in typical
design-in scenarios due to the parasitic R/L/C of the leads as well as the load regulation characteristics of the supply. Additionally,
to avoid interference with the sensor regulation, the non-loaded supply voltage must not vary by more than 30 mV (e.g. ripples
or drops caused by other loads). Operating the sensor with a separate LDO is recommended.
SCL is used to synchronize the I2C communication between the master (microcontroller) and the slave (sensor). The SDA pin
is used to transfer data to and from the sensor. For safe communication, the timing specifications defined in the I2C manual
14
must be met. Both SCL and SDA lines should be connected to external pull-up resistors (e.g. Rp = 10 kΩ, see Figure 1). To
avoid signal contention, the microcontroller must only drive SDA and SCL low. For dimensioning resistor sizes please take bus
capacity and communication frequency into account (see example in Section 7.1 of NXPs I2C Manual for more details14). It
should be noted that pull-up resistors may be included in the I/O circuits of microcontrollers.
Figure 1: Typical application circuit (representative and not to scale).
14
NXP I2C-bus specification and user manual UM10204, Rev.6, 4 April 2014

www.sensirion.com Version 1.5 –July 20236/27
2.4 Timing Specifications
Table 7 lists the timings of the ASIC
15
.
Parameter
Condition
Min.
Max.
Unit
Power-up time
After hard reset, VDD ≥2.25 V
-
30
ms
Soft reset time
After re-initialization (i.e. reinit)
-
30
ms
SCL clock frequency
-
0
400
kHz
Table 7: System timing specifications.
2.5 Material Contents
The device is fully REACH and RoHS compliant.
15
Timing specifications based on the NXP I2C-bus specification and user manual UM10204, Rev.6, 4 April 2014

www.sensirion.com Version 1.5 –July 20237/27
3Digital Interface Description
3.1 Power-Up and Communication Start
The sensor starts powering-up after reaching the power-up threshold voltage VDD,min and will take up to the maximum of the
power-up time to enter the idle state. Once the idle state has been reached, it is ready to receive commands from the master.
Each transmission sequence begins with a START condition (S) and ends with a STOP condition (P) as described in the I2C-
bus specification.
3.2 Data Type & Length
Data sent to and received from the sensor consists of a sequence of 16-bit commands and/or 16-bit words (each to be interpreted
as unsigned integer with the most significant byte transmitted first). Each data word is immediately succeeded by an 8-bit CRC.
In write direction it is mandatory to transmit the checksum. In read direction it is up to the master to decide if it wants to process
the checksum (see Section 3.11).
3.3 Command Sequence Types
All SCD4x commands and data are mapped to a 16-bit address space.
SCD4x
Hex. Code
I2C address
0x62
Table 8:I2C device address
The SCD4x features four different I2C command sequence types: “read I2C sequences”, “write I2C sequences”, “send I2C
command”and “send command and fetch result”sequences. Figure 2 illustrates how the I2C communication for the different
sequence types is built-up.
Figure 2: Command sequence types: “write”, “send command”, “read”, and “send command and fetch result”
For the “read”” or “send command and fetch results” sequences, after writing the address and/or data to the sensor and sending
the ACK bit, the sensor needs the execution time (see Table 9) to respond to the I2C read header with an ACK bit. Hence, it is
required to wait the command execution time before issuing the read header. Commands must not be sent while a preceding
command is being processed.

www.sensirion.com Version 1.5 –July 20238/27
3.4 SCD4x Command Overview
An overview of the available SCD4x commands can be found in Table 9. A detailed description for each command can be found
in the following sections.
Table 9:List of SCD4x sensor commands. The final column (‘During meas.’) indicates whether the command can be executed while a
periodic measurement is running.
Domain
Command
Hex.
Code
I2C sequence type
(see Section 3.3)
Execution
time
[ms]
During
meas.
Basic Commands
Section 3.5
start_periodic_measurement
0x21b1
send command
-
no
read_measurement
0xec05
read
1
yes
stop_periodic_measurement
0x3f86
send command
500
yes
On-chip output signal
compensation
Section 3.6
set_temperature_offset
0x241d
write
1
no
get_temperature_offset
0x2318
read
1
no
set_sensor_altitude
0x2427
write
1
no
get_sensor_altitude
0x2322
read
1
no
set_ambient_pressure
0xe000
write
1
yes
get_ambient_pressure
0xe000
read
1
yes
Field calibration
Section 3.7
perform_forced_recalibration
0x362f
send command and
fetch result
400
no
set_automatic_self_calibration_enabled
0x2416
write
1
no
get_automatic_self_calibration_enabled
0x2313
read
1
no
Low power periodic
measurement mode
Section 3.8
start_low_power_periodic_measurement
0x21ac
send command
-
no
get_data_ready_status
0xe4b8
read
1
yes
Advanced features
Section 3.9
persist_settings
0x3615
send command
800
no
get_serial_number
0x3682
read
1
no
perform_self_test
0x3639
read
10000
no
perform_factory_reset
0x3632
send command
1200
no
reinit
0x3646
send command
30
no
Single shot
measurement mode
(SCD41 only)
Section 3.10
measure_single_shot
0x219d
send command
5000
no
measure_single_shot_rht_only
0x2196
send command
50
no
power_down
0x36e0
send command
1
no
wake_up
0x36f6
send command
30
no
set_automatic_self_calibration_initial_period
0x2445
write
1
no
get_automatic_self_calibration_initial_period
0x2340
read
1
no
set_automatic_self_calibration_standard_period
0x244e
write
1
no
get_automatic_self_calibration_standard_period
0x234b
read
1
no

www.sensirion.com Version 1.5 –July 20239/27
3.5 Basic Commands
This section lists the basic SCD4x commands that are necessary to start a periodic measurement and subsequently read out
the sensor outputs.
The typical communication sequence between the I2C master (e.g., a microcontroller) and the SCD4x sensor is as follows:
1. The sensor is powered up
2. The I2C master sends a start_periodic_measurement command. The signal update interval is 5 seconds.
3. The I2C master periodically reads out data with the read_measurement command.
4. To put the sensor back to idle mode, the I2C master sends a stop_periodic_measurement command.
While a periodic measurement is running, no other commands must be issued with the exception of read_measurement,
get_data_ready_status, stop_periodic_measurement, set_ambient_pressure and get_ambient_pressure.
3.5.1 start_periodic_measurement
Description: start periodic measurement mode. The signal update interval is 5 seconds.
Write
(hexadecimal)
Input parameter: -
Response parameter: -
Max. command
duration [ms]
length [bytes]
signal conversion
length [bytes]
signal conversion
0x21b1
-
-
-
-
not applicable
Example: start periodic measurement
Write
0x21b1
(hexadecimal)
Command
Table 10: start_periodic_measurement I2C sequence description
3.5.2 read_measurement
Description: read sensor output. The measurement data can only be read out once per signal update interval as the buffer is
emptied upon read-out. If no data is available in the buffer, the sensor returns a NACK. To avoid a NACK response, the
get_data_ready_status can be issued to check data status (see Section 3.8.2 for further details). The I2C master can abort the
read transfer with a NACK followed by a STOP condition after any data byte if the user is not interested in subsequent data.
Write
(hexadecimal)
Input parameter: -
Response parameter: CO2, Temperature,
Relative Humidity
Max.
command
duration [ms]
length [bytes]
signal conversion
length [bytes]
signal conversion
0xec05
-
-
3
CO2 [ppm] = word[0]
1
3
3
Example: read sensor output (500 ppm, 25 °C, 37 %RH)
Write
0xec05
(hexadecimal)
Command
Wait
1 ms
command execution time
Response
0x01f4
0x7b
0x6667
0xa2
0x5eb9
0x3c
(hexadecimal)
CO2= 500 ppm
CRC of 0x01f4
Temp. = 25 °C
CRC of 0x6667
RH = 37%
CRC of 0x5eb9
Table 11: read_measurement I2C sequence description

www.sensirion.com Version 1.5 –July 202310/27
3.5.3 stop_periodic_measurement
Description: stop periodic measurement mode to change the sensor configuration or to save power. Note that the sensor will
only respond to other commands 500 ms after the stop_periodic_measurement command has been issued.
Write
(hexadecimal)
Input parameter: -
Response parameter: -
Max. command
duration [ms]
length [bytes]
signal conversion
length [bytes]
signal conversion
0x3f86
-
-
-
-
500
Example: stop periodic measurement
Write
0x3f86
(hexadecimal)
Command
Table 12: stop_periodic_measurement I2C sequence description¨
3.6 On-Chip Output Signal Compensation
The SCD4x features on-chip signal compensation to counteract pressure and temperature effects. Feeding the SCD4x with the
pressure or altitude enables highest accuracy of the CO2output signal across a large pressure range. Setting the temperature
offset improves the accuracy of the relative humidity and temperature output signal. Note that the temperature offset does not
impact the accuracy of the CO2output.
To change or read sensor settings, the SCD4x must be in idle mode. A typical sequence between the I2C master and the SCD4x
is described as follows:
1. If the sensor is operated in a periodic measurement mode, the I2C master sends a stop_periodic_measurement command.
2. The I2C master sends one or several commands to get or set the sensor settings.
3. If settings need to be preserved after power-cycle events, the persist_settings command must be sent (see Section 3.9.1)
4. The I2C master sends a start_periodic_measurement command to set the sensor in the operating mode again.
3.6.1 set_temperature_offset
Description: Setting the temperature offset of the SCD4x inside the customer device allows the user to optimize the RH and T
output signal. Note that the temperature offset can depend on several factors such as the SCD4x measurement mode, self-
heating of close components, the ambient temperature and air flow. Thus, the SCD4x temperature offset should be determined
inside the customer device under its typical operation conditions (including the operation mode to be used in the application)
and in thermal equilibrium. By default, the temperature offset is set to 4 °C. To save the setting to the EEPROM, the
persist_settings (see Section 3.9.1) command must be issued. Equation (1) shows how the characteristic temperature offset can
be obtained. Recommended temperature offset values are between 0 °C and 20 °C.
(1)
Write
(hexadecimal)
Input parameter: Offset temperature
Response parameter: -
Max. command
duration [ms]
length [bytes]
signal conversion
length [bytes]
signal conversion
0x241d
3
-
-
1
Example: set temperature offset to 5.4 °C
Write
0x241d
0x07e6
0x48
(hexadecimal)
Command
Toffset = 5.4 °C
CRC of 0x7e6
Table 13: set_temperature_offset I2C sequence description

www.sensirion.com Version 1.5 –July 202311/27
3.6.2 get_temperature_offset
Write
(hexadecimal)
Input parameter: -
Response parameter: Offset temperature
Max.
command
duration [ms]
length [bytes]
signal conversion
length [bytes]
signal conversion
0x2318
-
-
3
1
Example: temperature offset is 6.2 °C
Write
0x2318
(hexadecimal)
Command
Wait
1 ms
command execution time
Response
0x0912
0x63
(hexadecimal)
Toffset = 6.2 °C
CRC of 0x0912
Table 14: get_temperature_offset I2C sequence description
3.6.3 set_sensor_altitude
Description: Reading and writing the sensor altitude must be done while the SCD4x is in idle mode. Typically, the sensor
altitude is set once after device installation. To save the setting to the EEPROM, the persist_settings (see Section 3.9.1)
command must be issued. The default sensor altitude value is set to 0 meters above sea level. Valid input values are between
0 –3000 m.
Write
(hexadecimal)
Input parameter: Sensor altitude
Response parameter: -
Max. command
duration [ms]
length [bytes]
signal conversion
length [bytes]
signal conversion
0x2427
3
word[0] = Sensor altitude [m]
-
-
1
Example: set sensor altitude to 1’950 m
Write
0x2427
0x079e
0x09
(hexadecimal)
Command
Sensor altitude = 1’950 m
CRC of 0x079e
Table 15: set_sensor_altitude I2C sequence description
3.6.4 get_sensor_altitude
Description: The get_sensor_altitude command can be sent while the SCD4x is in idle mode to read out the previously saved
sensor altitude value set by the set_sensor_altitude command.
Write
(hexadecimal)
Input parameter: -
Response parameter: Sensor altitude
Max. command
duration [ms]
length [bytes]
signal conversion
length [bytes]
signal conversion
0x2322
-
-
3
Sensor altitude [m] = word[0]
1
Example: sensor altitude is 1’100 m
Write
0x2322
(hexadecimal)
Command
Wait
1 ms
command execution time
Response
0x044c
0x42
(hexadecimal)
Sensor altitude = 1’100 m
CRC of 0x044c
Table 16: get_sensor_altitude I2C sequence description

www.sensirion.com Version 1.5 –July 202312/27
3.6.5 set_ambient_pressure
Description: The set_ambient_pressure command can be sent during periodic measurements to enable continuous pressure
compensation. Note that setting an ambient pressure overrides any pressure compensation based on a previously set sensor
altitude. Use of this command is highly recommended for applications experiencing significant ambient pressure changes to
ensure sensor accuracy. Valid input values are between 70’000 –120’000 Pa. The default value is 101’300 Pa.
Write
(hexadecimal)
Input parameter: Ambient pressure
Response parameter: -
Max. command
duration [ms]
length [bytes]
signal conversion
length [bytes]
signal conversion
0xe000
3
word[0] = ambient P [Pa] / 100
-
-
1
Example: set ambient pressure to 98’700 Pa
Write
0xe000
0x03db
0x42
(hexadecimal)
Command
Ambient P = 98’700 Pa
CRC of 0x03db
Table 17: set_ambient_pressure I2C sequence description
3.6.6 get_ambient_pressure
Description: The get_ambient_pressure command can be sent during periodic measurements to read out the previously
saved ambient pressure value set by the set_ambient_pressure command.
Write
(hexadecimal)
Input parameter: -
Response parameter: Ambient pressure
Max. command
duration [ms]
length [bytes]
signal conversion
length [bytes]
signal conversion
0xe000
-
-
3
ambient P [Pa] = word[0] * 100
1
Example: ambient pressure is 98’700 Pa
Write
0xe000
(hexadecimal)
Command
Wait
1 ms
command execution time
Response
0x03db
0xb6
(hexadecimal)
Ambient P = 98’700 Pa
CRC of 0x03db
Table 18: get_ambient_pressure I2C sequence description

www.sensirion.com Version 1.5 –July 202313/27
3.7 Field Calibration
To realize high initial and long-term accuracy, the SCD4x includes two field calibration features. Forced recalibration (FRC)
immediately restores high accuracy with the assistance of an external CO2reference value. Typically, an FRC is applied to
compensate for drifts (e.g. the sensor assembly process). Automatic self-calibration (ASC) ensures the highest long-term stability
of the SCD4x without the need of manual action steps from the user. The ASC algorithm assumes that the sensor is exposed to
air with CO2concentrations of 400 ppm at least once per week.
3.7.1 perform_forced_recalibration
Description: To successfully conduct an accurate FRC, the following steps need to be carried out:
1. Operate the SCD4x in the operation mode later used in normal sensor operation (e.g. periodic measurement) for at least
3 minutes in an environment with a homogenous and constant CO2concentration. The sensor must be operated at the
voltage desired for the application when performing the FRC sequence.
2. Issue the stop_periodic_measurement command. Wait 500 ms for the command to complete.
3. Issue the perform_forced_recalibration command and optionally read out the FRC correction (i.e. the magnitude of the
correction) after waiting for 400 ms for the command to complete. A return value of 0xffff indicates that the FRC has failed.
Note that the sensor will fail to perform a FRC if it was not operated before sending the command.
Write
(hexadecimal)
Input parameter: Target CO2concentration
Response parameter: FRC-correction
Max.
command
duration [ms]
length [bytes]
signal conversion
length [bytes]
signal conversion
0x362f
3
word[0] = Target
concentration [ppm CO2]
3
FRC correction [ppm CO2]
= word[0] –0x8000
word[0] = 0xffff in case of
failed FRC
400
Example: perform forced recalibration, reference CO2concentration is 480 ppm
Write
0x362f
0x01e0
0xb4
(hexadecimal)
Command
Input: 480 ppm
CRC of 0x01e0
Wait
400 ms
command execution time
Response
0x7fce
0x7b
(hexadecimal)
Response: - 50 ppm
CRC of 0x7fce
Table 19: perform_forced_recalibration I2C sequence description
3.7.2 set_automatic_self_calibration_enabled
Description: Set the current state (enabled / disabled) of the ASC. By default, ASC is enabled. To save the setting to the
EEPROM, the persist_settings (see Section 3.9.1) command must be issued.
Write
(hexadecimal)
Input parameter: ASC enabled
Response parameter: -
Max. command
duration [ms]
length [bytes]
signal conversion
length [bytes]
signal conversion
0x2416
3
word[0] = 1 → ASC enabled
word[0] = 0 → ASC disabled
-
-
1
Example: set ASC status: enabled
Write
0x2416
0x0001
0xb0
(hexadecimal)
Command
ASC enabled
CRC of 0x0001
Table 20: set_automatic_self_calibration_enabled I2C sequence description.

www.sensirion.com Version 1.5 –July 202314/27
3.7.3 get_automatic_self_calibration_enabled
Write
(hexadecimal)
Input parameter: -
Response parameter: ASC enabled
Max. command
duration [ms]
length [bytes]
signal conversion
length [bytes]
signal conversion
0x2313
-
-
3
word[0] = 1 → ASC enabled
word[0] = 0 → ASC disabled
1
Example: read ASC status: disabled
Write
0x2313
(hexadecimal)
Command
Wait
1 ms
command execution time
Response
0x0000
0x81
(hexadecimal)
ASC disabled
CRC of 0x0000
Table 21: get_automatic_self_calibration_enabled I2C sequence description
3.8 Low Power Periodic Measurement Mode
To enable use-cases with a constrained power-budget, the SCD4x features a low power periodic measurement mode with a
signal update interval of approximately 30 seconds.
The low power periodic measurement mode is initiated and read-out in a similar manner as the periodic measurement mode.
Please consult Section 3.5.2 for further instructions. To avoid receiving a NACK in case the result of a subsequent measurement
is not ready yet, use the get_data_ready_status command to check whether new measurement data is available for read-out.
3.8.1 start_low_power_periodic_measurement
Description: Start the low power periodic measurement mode. The signal update interval is approximately 30 seconds.
Write
(hexadecimal)
Input parameter: -
Response parameter: -
Max. command
duration [ms]
length [bytes]
signal conversion
length [bytes]
signal conversion
0x21ac
-
-
-
-
not applicable
Example: start low power periodic measurement
Write
0x21ac
(hexadecimal)
Command
Table 22: start_low_power_periodic_measurement I2C sequence description

www.sensirion.com Version 1.5 –July 202315/27
3.8.2 get_data_ready_status
Description: Poll the sensor for whether data from a periodic or single shot measurement is ready to be read out.
Write
(hexadecimal)
Input parameter: -
Response parameter: data ready status
Max. command
duration [ms]
length [bytes]
signal conversion
length [bytes]
signal conversion
0xe4b8
-
-
3
If the least significant 11 bits of word[0] are:
0 → data not ready
else → data ready for read-out
1
Example: read data ready status: data not ready
Write
0xe4b8
(hexadecimal)
Command
Wait
1 ms
command execution time
Response
0x8000
0xa2
(hexadecimal)
Least significant 11 bits are 0 → data
not ready
CRC of 0x8000
Table 23: get_data_ready_status I2C sequence description
3.9 Advanced Features
3.9.1 persist_settings
Description: Configuration settings such as the temperature offset, sensor altitude and the ASC enabled/disabled parameters
are by default stored in the volatile memory (RAM) only and will be lost after a power-cycle. The persist_settings command
stores the current configuration in the EEPROM of the SCD4x, ensuring the settings persist across power-cycling. To avoid
unnecessary wear of the EEPROM, the persist_settings command should only be sent when persistence is required and if actual
changes to the configuration have been made. The EEPROM is guaranteed to withstand at least 2000 write cycles. Note that
field calibration history (i.e. FRC and ASC, see Section 3.7) is automatically stored in a separate EEPROM dimensioned for the
specified sensor lifetime.
Write
(hexadecimal)
Input parameter: -
Response parameter: -
Max. command
duration [ms]
length [bytes]
signal conversion
length [bytes]
signal conversion
0x3615
-
-
-
-
800
Example: persist settings
Write
0x3615
(hexadecimal)
Command
Table 24: persist_settings I2C sequence description

www.sensirion.com Version 1.5 –July 202316/27
3.9.2 get_serial_number
Description: Reading out the serial number can be used to identify the chip and to verify the presence of the sensor.
The get_serial_number command returns 3 words, and every word is followed by an 8-bit CRC checksum. Together, the 3 words
constitute a unique serial number with a length of 48 bits (big endian format).
Write
(hexadecimal)
Input parameter: -
Response parameter: serial number
Max. command
duration [ms]
length [bytes]
signal conversion
length [bytes]
signal conversion
0x3682
-
-
9
Serial number = word[0] << 32 |
word[1] << 16 | word[2]
1
Example: serial number is 273’325’796’834’238
Write
0x3682
(hexadecimal)
Command
Wait
1 ms
command execution time
Response
0xf896
0x31
0x9f07
0xc2
0x3bbe
0x89
(hexadecimal)
word[0]
CRC of 0xf896
word[1]
CRC of 0x9f07
word[2]
CRC of 0x3bbe
Table 25: get_serial_number I2C sequence description
3.9.3 perform_self_test
Description: The perform_self_test command can be used as an end-of-line test to check the sensor functionality.
Write
(hexadecimal)
Input parameter: -
Response parameter: sensor status
Max. command
duration [ms]
length
[bytes]
signal conversion
length [bytes]
signal conversion
0x3639
-
-
3
word[0] = 0 → no malfunction detected
word[0] ≠0 → malfunction detected
10000
Example: perform self-test, no malfunction detected
Write
0x3639
(hexadecimal)
Command
Wait
10000 ms
command execution time
Response
0x0000
0x81
(hexadecimal)
No malfunction detected
CRC of 0x0000
Table 26: perform_self_test I2C sequence description

www.sensirion.com Version 1.5 –July 202317/27
3.9.4 perfom_factory_reset
Description: The perform_factory_reset command resets all configuration settings stored in the EEPROM and erases the
FRC and ASC algorithm history.
Write
(hexadecimal)
Input parameter: -
Response parameter: -
Max. command
duration [ms]
length [bytes]
signal conversion
length [bytes]
signal conversion
0x3632
-
-
-
-
1200
Example: perform factory reset
Write
0x3632
(hexadecimal)
Command
Table 27: perform_factory_reset I2C sequence description
3.9.5 reinit
Description: The reinit command reinitializes the sensor by reloading user settings from EEPROM. Before sending the reinit
command, the stop_periodic_measurement command must be issued. If the reinit command does not trigger the desired re-
initialization, a power-cycle should be applied to the SCD4x.
Write
(hexadecimal)
Input parameter: -
Response parameter: -
Max. command
duration [ms]
length [bytes]
signal conversion
length [bytes]
signal conversion
0x3646
-
-
-
-
30
Example: reinit
Write
0x3646
(hexadecimal)
Command re-initialization
Table 28: reinit I2C sequence description
3.10 Single Shot Measurement Mode (SCD41 Only)
The SCD41 additionally features a single shot measurement mode for on-demand measurements.
The typical communication sequence is as follows:
1. The sensor is powered up with the wake_up command.
2. The I2C master sends a measure_single_shot command and waits for the indicated max. command duration time.
3. The I2C master reads out data with the read_measurement command (3.5.2) within the specified max. command duration
time.
4. Repeat steps 2–3 as required by the application.
5. If desired, power down the sensor with with the power_down command.
To reduce noise levels, the I2C master can perform several single shot measurements in a row and average the CO2output
values. After a power cycle, the initial single shot reading should be discarded to maximize accuracy.
The ASC is enabled per default in single shot operation and optimized for single shot measurements performed every 5 minutes.
Longer or shorter measurement intervals will result in less or more frequent ASC corrections. To optimize the ASC for
measurement intervals other than 5 minutes, the ASC initial and standard intervals can be reconfigured (see relevant commands
in following subsections and relevant supporting documentation
16
).
For extreme low-power applications, the sensor may be power cycled between measurements either by cutting/re-applying the
supply voltage or by using the power_down/wake_up commands. Note that for power-cycled single shot operation, ASC is not
available in either case.
16
More information on ASC settings and SCD4x low power modes can be found in the application note on “Low Power Operation SCD4x”

www.sensirion.com Version 1.5 –July 202318/27
3.10.1 measure_single_shot
Description: On-demand measurement of CO2concentration, relative humidity and temperature. The sensor output is read out
by using the read_measurement command (Section 3.5.2).
Write
(hexadecimal)
Input parameter: -
Response parameter: -
Max. command
duration [ms]
length [bytes]
signal conversion
length [bytes]
signal conversion
0x219d
-
-
-
-
5000
Example: measure single shot
Write
0x219d
(hexadecimal)
Command
Table 29: measure_single_shot I2C sequence description
3.10.2 measure_single_shot_rht_only
Description: On-demand measurement of relative humidity and temperature only. The sensor output is read out by using the
read_measurement command (Section 3.5.2). CO2output is returned as 0 ppm.
Write
(hexadecimal)
Input parameter: -
Response parameter: -
Max. command
duration [ms]
length [bytes]
signal conversion
length [bytes]
signal conversion
0x2196
-
-
-
-
50
Example: measure single shot, RH and T output only
Write
0x2196
(hexadecimal)
Command
Table 30: measure_single_shot_rht_only I2C sequence description
3.10.3 power_down
Description: Put the sensor from idle to sleep to reduce current consumption. Can be used to power down when operating the
sensor in power-cycled single shot mode.
Write
(hexadecimal)
Input parameter: -
Response parameter: -
Max. command
duration [ms]
length [bytes]
signal conversion
length [bytes]
signal conversion
0x36e0
-
-
-
-
1
Example: power down the sensor
Write
0x36e0
(hexadecimal)
Command
Table 31: power_down I2C sequence description

www.sensirion.com Version 1.5 –July 202319/27
3.10.4 wake_up
Description: Wake up the sensor from sleep mode into idle mode. Note that the SCD4x does not acknowledge the wake_up
command. The sensor idle state after wake up can be verified by reading out the serial number (Section 3.9.2).
Write
(hexadecimal)
Input parameter: -
Response parameter: -
Max. command
duration [ms]
length [bytes]
signal conversion
length [bytes]
signal conversion
0x36f6
-
-
-
-
30
Example: wake up the sensor
Write
0x36f6
(hexadecimal)
Command
Table 32:wake_up I2C sequence description
3.10.5 set_automatic_self_calibration_initial_period
Description: Set the initial period for ASC correction (in hours). By default, the initial period for ASC correction is 44 hours.
Allowed values are integer multiples of 4 hours. Note: Assumes an average measurement interval of 5 minutes in single shot
operation. For different average single shot measurement intervals, the parameter value should be scaled inversely
proportional to this (e.g. by factor 0.5 for 10 minutes average single shot interval). Note: a value of 0 results in an immediate
correction. To save the setting to the EEPROM, the persist_settings (see Section 3.9.1) command must be issued.
Write
(hexadecimal)
Input parameter: ASC initial period
Response parameter: -
Max. command
duration [ms]
length [bytes]
signal conversion
length [bytes]
signal conversion
0x2445
3
word[0] = ASC initial period
[hours]
-
-
1
Example: write ASC initial period of 76 hours
Write
0x2445
0x004c
0xc1
(hexadecimal)
Command
Initial period
76 hours
CRC of 0x004c
Table 33: set_automatic_self_calibration_initial_period I2C sequence description
3.10.6 get_automatic_self_calibration_initial_period
Write
(hexadecimal)
Input parameter: -
Response parameter: ASC initial period
Max. command
duration [ms]
length [bytes]
signal conversion
length [bytes]
signal conversion
0x2340
-
-
3
ASC initial period [hrs] =
word[0]
1
Example: read ASC initial period of 76 hours
Write
0x2340
(hexadecimal)
Command
Wait
1 ms
command execution time
Response
0x004c
0xc1
(hexadecimal)
76 hours
CRC of 0x004c
Table 34: get_automatic_self_calibration_initial_period I2C sequence description

www.sensirion.com Version 1.5 –July 202320/27
3.10.7 set_automatic_self_calibration_standard_period
Description: Set the standard period for ASC correction (in hours). By default, the standard period for ASC correction is 156
hours. Allowed values are integer multiples of 4 hours. Note: Assumes an average measurement interval of 5 minutes in single
shot operation. For different average single shot measurement intervals, the parameter value should be scaled inversely
proportional to this (e.g. by factor 0.5 for a 10 minutes average single shot interval). To save the setting to the EEPROM, the
persist_settings (see Section 3.9.1) command must be issued.
Write
(hexadecimal)
Input parameter: ASC standard period
Response parameter: -
Max. command
duration [ms]
length [bytes]
signal conversion
length
[bytes]
signal conversion
0x244e
3
word[0] = ASC standard period
[hrs]
-
-
1
Example: set automatic self-calibration standard period of 156 hours
Write
0x244e
0x009c
0xc5
(hexadecimal)
Command
Standard
period
156 hours
CRC of 0x009c
Table 35: set_automatic_self_calibration_standard_period I2C sequence description
3.10.8 get_automatic_self_calibration_standard_period
Write
(hexadecimal)
Input parameter: -
Response parameter: ASC standard period
Max. command
duration [ms]
length [bytes]
signal conversion
length [bytes]
signal conversion
0x234b
-
-
3
word[0] = ASC standard
period [hrs]
1
Example: read ASC standard period of 156 hours
Write
0x234b
(hexadecimal)
Command
Wait
1 ms
command execution time
Response
0x009c
0xc5
(hexadecimal)
Standard period
156 hours
CRC of 0x009c
Table 36: get_automatic_self_calibration_standard_period I2C sequence description
Other manuals for SCD4 Series
2
This manual suits for next models
2
Table of contents
Other SENSIRION Measuring Instrument manuals
Popular Measuring Instrument manuals by other brands

Ambient Weather
Ambient Weather WS23C user manual

Emerson
Emerson Penberthy Multiview Installation, operation and maintenance instructions

Extech Instruments
Extech Instruments PQ3450-2-NIST user guide

PCE Instruments
PCE Instruments PCE-DC 10 user manual

TESTO
TESTO 622 instruction manual

Aeroqual
Aeroqual Series 300 quick guide