Overview

The SCD40 and SCD41 are next-generation, ultra-miniature photoacoustic CO2\text{CO}_2 sensors manufactured by Sensirion. Occupying a footprint of just 10.1×10.1×6.5 mm10.1 \times 10.1 \times 6.5\text{ mm} (101 mm3101\text{ mm}^3 volume—5 times smaller than traditional NDIR sensors like SCD30), they measure true carbon dioxide concentration alongside ambient temperature and relative humidity over an I2C interface.

Using Sensirion's PASens® Photoacoustic Sensing technology, infrared emitter pulses excite CO2\text{CO}_2 molecules inside a tiny acoustic measurement cell, creating pressure oscillations detected by a MEMS microphone. The SCD40 is optimized for indoor air quality (400 to 2000 ppm400\text{ to }2000\text{ ppm}), while the SCD41 expands the measurement range up to 40,000 ppm and adds single-shot low-power modes.

Quick reference

Operating Voltage (VDD)2.4 V to 5.5 V DC (3.3 V or 5.0 V nominal)
SCD40 Range (CO2\text{CO}_2)400 ppm to 2000 ppm
SCD41 Range (CO2\text{CO}_2)400 ppm to 40,000 ppm
Accuracy (CO2\text{CO}_2)±(40 ppm+5% of reading)\pm (40\text{ ppm} + 5\%\text{ of reading})
Temperature Range / Accuracy10C-10^\circ\text{C} to +60C+60^\circ\text{C} (±0.8 C\pm 0.8\text{ }^\circ\text{C} accuracy)
Relative Humidity Range / Accuracy0% to 100% RH (±6% RH\pm 6\%\text{ RH} accuracy)
Communication InterfaceI2C (fixed slave address 0x62, up to 100 kHz)
Single-Shot Low Power Mode (SCD41 only)3.2 mA3.2\text{ mA} average current (110 μA110\text{ }\mu\text{A} at 5-minute intervals)

Comparison: SCD40 vs SCD41

FeatureSCD40SCD41
Target ApplicationIndoor Air Quality / HVACIndustrial / Medical / Low-power IoT
CO2\text{CO}_2 Range400 to 2000 ppm400 to 40,000 ppm
Specified Accuracy Range400 to 2000 ppm400 to 5000 ppm (±40 ppm+5%\pm 40\text{ ppm} + 5\%)
Continuous Measurement ModeYes (5s interval)Yes (5s interval)
Low Power Periodic ModeYes (30s interval, ~3.2 mA)Yes (30s interval, ~3.2 mA)
Single-Shot Measurement CommandNoYes (0x219D for low power battery operation)

Pinout

Standard 5-Pin Breakout Header

PinNameTypeDescription
1VDDPower InputSupply voltage (+2.4 V to +5.5 V DC)
2GNDPowerGround (0 V)
3SCLDigital InputI2C Serial Clock input line
4SDADigital I/OI2C Serial Data line
5CADDigital InputI2C Address select (tie to GND)

Specifications

ParameterSymbolMinTypMaxUnitConditions
Supply VoltageVDDV_{DD}2.43.3 / 5.05.5VDC
Peak CurrentIPEAKI_{PEAK}205230mADuring 5 ms emitter pulse
Average Current (Continuous 5s)IAVGI_{AVG}1822mAVDD=3.3 VV_{DD} = 3.3\text{ V}
Average Current (Low Power 30s)ILPI_{LP}3.24.0mA30s periodic mode
Single Shot Power ConsumptionEshotE_{shot}35mJSCD41 per measurement
I2C Clock RatefSCLf_{SCL}100kHzStandard Mode

Command Set (I2C Address 0x62)

Each command consists of a 16-bit command code. Data responses include a CRC-8 byte per 2 bytes of data:

Command HexCommand NameDescription
0x21B1start_periodic_measurementStarts 5-second periodic measurement execution
0xEC05read_measurementRead CO2\text{CO}_2 (ppm), Temp (°C), and Humidity (%RH)
0x3920stop_periodic_measurementStops periodic measurement mode
0x219Dmeasure_single_shot(SCD41 Only) Executes a single 5-second measurement
0x241Dperform_forced_recalibrationPerform manual calibration (400 to 5000 ppm400\text{ to }5000\text{ ppm})
0x2416set_automatic_self_calibrationEnable / Disable Automatic Self-Calibration (ASC)

Wiring

SCD4x Breakout PinMicrocontroller (Arduino Uno / ESP32)
VDD3.3V or 5V (Must support 205 mA peak pulses)
GNDGND
SCLSCL (A5 on Uno, GPIO22 on ESP32)
SDASDA (A4 on Uno, GPIO21 on ESP32)
Warning

Photoacoustic Pulse Peak Current: During photoacoustic IR emitter pulses, the SCD4x draws up to 205 mA peak current for several milliseconds. Ensure the VDDV_{DD} supply line is decoupled with a 10 μF10\text{ }\mu\text{F} to 47 μF47\text{ }\mu\text{F} capacitor on breakout boards powered by weak 3.3V LDOs.

Common mistakes

  • Sending I2C commands while measurement is running: Modifying settings (e.g., setting temperature offsets or recalibrating) requires sending stop_periodic_measurement (0x3920) first and waiting 500 ms.
  • Reading data before Data Ready: Software should poll get_data_ready_status (0xE4B8) before reading data bytes to avoid receiving stale or corrupted readings.
  • Enclosing the acoustic port in airtight foam: Photoacoustic sensing relies on acoustic pressure pulses. Encapsulating the SCD4x in airtight potting or dense acoustic foam dampens pressure waves and ruins readings.

Notes

  • Modern gold standard for ESPHome scd4x air quality sensors and smart home indoor environmental monitors.

Assets & downloads