SCD40 CO2 Gas,Temperature and Humidity Sensor I2C Module 2.4V-5.5V

Carbon dioxide is a critical indicator of indoor air quality that can affect human cognitive abilities and well-being. The SCD40/SCD41 are Sensirion's next-generation miniaturized CO2 sensors, offering high precision and cost-effectiveness.
R460.00  Inc VAT

Carbon dioxide is a critical indicator of indoor air quality that can affect human cognitive
abilities and well-being. The SCD40/SCD41 are Sensirion's next-generation miniaturized CO2 sensors, offering high precision and cost-effectiveness. These modules feature a 2.54mm pitch pin header interface for power supply and communication connections. On-chip temperature and humidity compensation is achieved through built-in sensors for humidity and temperature measurement. The SCD40/SCD41 can intelligently regulate indoor ventilation systems based on C02 concentration levels, thereby maintaining a healthy and efficient environment with low C02 levels over time. This makes the SCD40/SCD41 ideal for applications focused on improving indoor air quality.

Features

  • 2.4-5.5V
  • Detects CO2 Carbon Dioxide 400-2000ppm
  • Detects Temperature 
  • Detects Humidity
  • I2C Communication

 

Specifications

  • Reference Accuracy and Range: SCD40: 400-2000 ppm
  • Supply Voltage Range: 2.4-5.5 V
  • High Accuracy: ±(40 ppm + 5%)
  • Digital Interface: 12C
  • Integrated Temperature and Humidity Sensor
  • Low Power Consumption
  • Typical Accuracy 50ppm +-5% reading
  • Pin Definitions
    GND: Ground input terminal
    VDD: Positive power supply input terminal
    SCL: 12C clock terminal
    SDA: 12C data terminal

  

What's in the box?

1 x SCD40 sensor

Resources

The SCD40 and SCD41 are high-performance "True" CO2 sensors. Unlike cheaper VOC sensors that estimate CO2 levels, these use photoacoustic technology to measure the actual concentration of CO2 in the air.

The setup for the Raspberry Pi 5 (and older models) involves the I2C interface.

1. Hardware Connections (I2C)


The module communicates via I2C, which only requires four wires. Note that while these sensors can handle 5V power, the Raspberry Pi's logic pins are 3.3V. Ensure your module's I2C lines are compatible (most breakout boards from Adafruit/PiShop have 3.3V regulators/shifters built-in).
 
Sensor PinRaspberry Pi PinPhysical Pin #
VIN / VCC3.3V (or 5V if supported)Pin 1 (3.3V) or Pin 2 (5V)
GNDGroundPin 6
SCLI2C Clock (GPIO 3)Pin 5
SDAI2C Data (GPIO 2)Pin 3

 

2. Enable I2C on the Raspberry Pi


Before you can read the data, you must enable the I2C port:
  1. Run sudo raspi-config in the terminal.

  2. Navigate to Interface Options > I2C.

  3. Select Yes to enable it.

  4. Reboot your Pi.

  5. (Optional) Check if the sensor is detected by running i2cdetect -y 1. The SCD4x should appear at address 0x62.

 

3. Install the Python Library


The easiest way to interact with the SCD4x in 2026 is via the Adafruit CircuitPython library, which is fully compatible with standard Raspberry Pi OS.
Bash
# It is recommended to use a virtual environment on the Pi 5mkdir co2_project && cd co2_projectpython3 -m venv .venvsource .venv/bin/activate# Install the librarypip3 install adafruit-circuitpython-scd4x

4. Python Example Code

This script initializes the sensor and prints the CO2, Temperature, and Humidity readings every two seconds.
Python
import timeimport boardimport adafruit_scd4x# Initialize I2C bus and sensori2c = board.I2C()scd4x = adafruit_scd4x.SCD4X(i2c)print("Serial number:", [hex(i) for i in scd4x.serial_number])# Start the sensor's internal measurement cyclescd4x.start_periodic_measurement()print("Waiting for first measurement (takes ~5 seconds)...")try:    while True:        if scd4x.data_ready:            print(f"CO2: {scd4x.CO2} ppm")            print(f"Temperature: {scd4x.temperature:.1f} °C")            print(f"Humidity: {scd4x.relative_humidity:.1f} %")            print("-" * 20)        time.sleep(2)except KeyboardInterrupt:    # Important: Stop measurements to save power/sensor life    scd4x.stop_periodic_measurement()    print("Measurements stopped.")

Key Differences for SCD41 Users

If you specifically have the SCD41, you have a few extra features:
  • Single Shot Mode: The SCD41 can take a single measurement and go back to sleep, which is better for battery-powered projects. The SCD40 must remain in "periodic" mode.
  • Extended Range: The SCD41 reads up to 5,000 ppm (and even up to 40,000 ppm in "extended" mode), whereas the SCD40 is optimized for indoor air quality up to 2,000 ppm.

 

Pro Tips

If you are using this sensor for a commercial project in South Africa (like a school ventilation monitor), look into Automatic Self-Calibration (ASC). By default, these sensors calibrate themselves based on the lowest CO2 reading they see every week. If your room is never fully ventilated (never hits 400ppm), the sensor's readings will "drift." You can disable ASC in the code if you prefer to do a manual calibration outdoors.

  • Availability: Out of Stock
  • Model: SCD40 CO2 HT sensor
  • Brand: Generic2