SCD30 vs SCD40 vs SCD41: Which CO₂ Sensor Wins?

For most new ESP32 and Home Assistant projects, the SCD41 is the best overall CO₂ sensor because it combines a tiny package with better accuracy than the SCD40, a specified range up to 5,000 ppm, and low-power single-shot measurement. The SCD40 is the best value for normal indoor air-quality monitoring where 400–2,000 ppm covers the important range. The older and much larger SCD30 remains extremely capable: it responds faster, has a specified range up to 10,000 ppm, and offers excellent ±(30 ppm + 3% of reading) accuracy.

1. SCD30, SCD40 and SCD41 in one table

All three are genuine Sensirion CO₂ sensors. Unlike sensors that estimate “eCO₂” from VOC measurements, these devices optically measure carbon dioxide.

The major difference is that the SCD30 is Sensirion’s older, physically larger dual-channel NDIR design, while the SCD40 and SCD41 belong to the much smaller second-generation SCD4x photoacoustic NDIR family.

FeatureSCD30SCD40SCD41
CO₂ technologyDual-channel NDIRPhotoacoustic NDIRPhotoacoustic NDIR
Specified CO₂ range400–10,000 ppm400–2,000 ppm400–5,000 ppm
CO₂ accuracy±30 ppm + 3%±50 ppm + 5%Up to ±50 ppm + 2.5% in lower range
Response time20 s60 s60 s
Average current19 mA15 mA15 mA periodic
Supply voltage3.3–5.5 V2.4–5.5 V2.4–5.5 V
Size35 × 23 × 7 mm10.1 × 10.1 × 6.5 mm10.1 × 10.1 × 6.5 mm
Temperature/RH outputYesYesYes
Single-shot CO₂ modeNoNoYes
ESPHome supportYesYesYes
Best forAccuracy/range/fast responseBest valueBest overall

Sensirion specifies the SCD30 at ±(30 ppm + 3% of measured value) from 400 to 10,000 ppm. The SCD40 is specified at ±(50 ppm + 5%) from 400 to 2,000 ppm, while the SCD41 extends its specified range to 5,000 ppm with better accuracy characteristics.

2. SCD30: the large but extremely capable original

The SCD30 is the oldest sensor in this comparison, but “older” definitely does not mean worse.

It uses Sensirion’s optical NDIR technology with a dual-channel measurement principle designed for long-term stability. It also incorporates temperature and humidity sensing so these measurements can be reported alongside CO₂.

Its key CO₂ specifications are impressive:

  • 400–10,000 ppm specified measurement range
  • ±30 ppm + 3% of measured value
  • approximately 20-second response time
  • factory calibrated
  • I²C, Modbus and PWM interfaces

For comparison, at an actual concentration of 1,000 ppm, the nominal SCD30 accuracy specification corresponds to:

30 ppm + 3% of 1000 ppm
= 30 + 30
= ±60 ppm

That remains very competitive.

3. SCD30 has the widest specified range

This is one area where the SCD30 clearly wins.

Its specified CO₂ measurement range is:

400–10,000 ppm

compared with:

SCD40 → 400–2,000 ppm

SCD41 → 400–5,000 ppm

For ordinary bedrooms and living rooms, 10,000 ppm is unnecessary.

But the wider specified range can matter for:

  • workshops
  • laboratories
  • industrial environments
  • fermentation projects
  • greenhouses
  • confined-space experiments
  • projects where unusually high CO₂ concentrations are possible

For a normal indoor-air-quality monitor, however, readings between roughly outdoor background levels and 2,000 ppm are usually the interesting region.

4. SCD30 also responds much faster

Sensirion specifies a CO₂ response time of approximately:

SCD30 → 20 seconds

SCD40 → 60 seconds

SCD41 → 60 seconds

This does not mean the SCD4x sensors only update once per minute.

ESPHome’s standard SCD4x periodic mode takes a new measurement every 5 seconds. Response time describes how quickly the physical sensor output responds substantially to a real concentration change.

For watching CO₂ slowly rise in a bedroom, this difference is not especially important.

For ventilation testing or experiments where CO₂ changes rapidly, the SCD30 has an advantage.

5. So why did Sensirion create the SCD40 and SCD41?

Look at the physical size.

SCD30

35 × 23 × 7 mm

SCD40 / SCD41

10.1 × 10.1 × 6.5 mm

The SCD4x family is dramatically smaller.

The SCD40 and SCD41 achieve this using Sensirion’s photoacoustic NDIR sensing principle, PASens technology and CMOSens technology.

That allows proper optical CO₂ measurement in a package small enough for:

  • compact room sensors
  • wall-mounted Home Assistant nodes
  • smart thermostats
  • portable air-quality monitors
  • battery-powered devices
  • custom PCBs

This miniaturisation is arguably the biggest practical advantage of SCD4x.

6. SCD40: the value option

The SCD40 is the base version of the SCD4x family.

Sensirion positions it as the cost-effective option and specifies:

  • 400–2,000 ppm specified CO₂ range
  • ±(50 ppm + 5% of measured value) accuracy
  • 60-second response time
  • 2.4–5.5 V supply
  • approximately 15 mA average current in normal operation
  • I²C interface

For a typical Home Assistant indoor-air-quality sensor, those specifications are entirely usable.

Suppose the actual concentration is 1,000 ppm.

The SCD40 specification gives:

50 ppm + 5% of 1000 ppm
= 50 + 50
= ±100 ppm

That isn’t laboratory precision, but it is more than adequate for detecting the important distinction between:

500 ppm → excellent ventilation

900 ppm → room becoming occupied/stuffy

1,500 ppm → ventilation clearly needed

2,000 ppm → poor indoor air quality

The main advantage is therefore getting genuine optical CO₂ measurement at relatively low cost in a very small package.

7. SCD41: the premium SCD4x

The SCD41 looks almost identical to the SCD40.

The important differences are inside.

Compared with SCD40, Sensirion gives the SCD41:

  • improved CO₂ accuracy
  • extended specified range to 5,000 ppm
  • single-shot measurement mode
  • low-power measurement capabilities

That makes it the most versatile sensor of the three for a new ESP32 project.

8. SCD41 accuracy depends on CO₂ concentration

The SCD41 accuracy specification varies with concentration.

Sensirion’s published figures include approximately:

400–1,000 ppm:
±50 ppm + 2.5% of reading

1,001–2,000 ppm:
±50 ppm + 3% of reading

2,001–5,000 ppm:
±40 ppm + 5% of reading

This means that at 1,000 ppm:

50 ppm + 2.5% of 1000

= 50 + 25

= ±75 ppm

The SCD40 at the same concentration is:

50 ppm + 5% of 1000

= 50 + 50

= ±100 ppm

So the difference is measurable, but whether it matters depends on the application.

For turning ventilation on at 1,200 ppm, either works.

For careful environmental logging, SCD41 is the better choice.

9. Is the SCD30 actually more accurate than the SCD41?

In parts of the measurement range, yes.

This is worth emphasizing because newer does not automatically mean more accurate.

SCD30 has a published specification of:

±30 ppm + 3% of reading

over 400–10,000 ppm.

At 1,000 ppm:

SCD30:

30 + 30 = ±60 ppm

SCD41:

50 + 25 = ±75 ppm

So on paper, SCD30 has the tighter limit at that point.

The reason to buy SCD41 is not simply “better accuracy.”

It is the combination of:

  • very small size
  • excellent CO₂ performance
  • lower average power
  • single-shot operation
  • modern SCD4x architecture
  • easy integration

For a mains-powered high-quality CO₂ monitor where physical size is irrelevant, SCD30 remains extremely attractive.

10. SCD41 wins for low-power operation

This is probably the biggest feature separating SCD41 from SCD40.

ESPHome supports three relevant SCD4x CO₂ measurement modes:

Periodic

A measurement is taken every 5 seconds.

Low-power periodic

A measurement is taken every 30 seconds.

Single-shot

A new measurement is triggered when required. This mode is available specifically on SCD41 and is intended for low-power applications.

ESPHome notes that automatic self-calibration is optimized for SCD41 single-shot readings taken approximately every five minutes.

That makes SCD41 the logical choice for an ESP32 device that:

  1. wakes up
  2. takes a CO₂ measurement
  3. transmits the result
  4. returns to sleep

11. But CO₂ sensors are not ideal ultra-low-power sensors

Even the SCD41 is not comparable with something like a sleeping SHT40 temperature sensor.

Optical CO₂ measurement requires significantly more energy.

Sensirion lists around 15 mA average current in normal SCD4x operation and peak currents up to approximately 205 mA at sensor level.

So battery operation is possible, especially using SCD41 single-shot mode, but designers should not expect coin-cell-style battery life without carefully calculating the entire power budget.

A large rechargeable battery is a much more realistic pairing.

12. SCD30 vs SCD41 power consumption

In normal continuous operation:

SCD30 → approximately 19 mA average

SCD4x → approximately 15 mA average

That difference is relatively modest.

The important advantage is that SCD41 offers operating modes specifically designed to reduce average power, including single-shot CO₂ measurement.

So:

Continuous mains-powered monitor → power difference is minor

Battery sensor → SCD41 wins clearly

13. All three also measure temperature and humidity

SCD30, SCD40 and SCD41 all expose:

  • CO₂
  • temperature
  • relative humidity

But their secondary temperature/humidity measurements should not automatically replace a dedicated SHT45 or SHT40.

Sensirion specifies SCD30 at approximately:

  • ±0.4°C typical temperature accuracy
  • ±3% RH typical humidity accuracy

For SCD40/SCD41, the product specifications list approximately:

  • ±0.8°C typical temperature accuracy
  • ±6% RH typical humidity accuracy

These channels are useful for:

  • environmental context
  • internal CO₂ compensation
  • basic room monitoring

But if temperature and humidity accuracy are important, a separate dedicated sensor such as an SHT40 or SHT45 can be preferable.

14. Temperature offset is important with SCD4x

SCD4x temperature measurements are particularly sensitive to:

  • heat from the ESP32
  • voltage regulators
  • enclosure design
  • airflow
  • measurement mode

ESPHome therefore provides a configurable temperature_offset for SCD4x and currently defaults this to 4°C.

That does not mean every installation needs exactly a 4°C correction.

The correct offset depends on how the hardware is installed.

For better temperature accuracy:

  • position the SCD4x away from the ESP32
  • provide airflow around the sensor
  • keep it away from voltage regulators
  • compare against a trusted thermometer
  • adjust the ESPHome offset if required

15. I²C addresses

For ESP32 projects, all three are straightforward to connect through I²C.

The default ESPHome addresses are:

SCD30 → 0x61

SCD40 / SCD41 → 0x62

That means an SCD30 and an SCD41 can even share the same I²C bus without an address conflict.

For a classic ESP32 DevKit, typical wiring is:

SensorESP32
VCC3V3 or supported board supply
GNDGND
SDAGPIO21
SCLGPIO22

Always check the voltage requirements of the breakout board, not only the bare sensor, because breakout boards may add regulators and level shifting.

16. ESPHome setup for SCD30

ESPHome provides a dedicated scd30 component.

A basic configuration is:

i2c:
  sda: GPIO21
  scl: GPIO22
  scan: true

sensor:
  - platform: scd30
    co2:
      name: "Room CO2"
    temperature:
      name: "Room Temperature"
    humidity:
      name: "Room Humidity"
    address: 0x61
    update_interval: 60s

Once the ESP32 is connected to Home Assistant using ESPHome, the three measurements appear as normal Home Assistant entities.

17. ESPHome setup for SCD40 or SCD41

Both SCD40 and SCD41 use the same ESPHome component:

scd4x

A basic configuration is:

i2c:
  sda: GPIO21
  scl: GPIO22
  scan: true

sensor:
  - platform: scd4x
    co2:
      name: "Room CO2"
    temperature:
      name: "Room Temperature"
    humidity:
      name: "Room Humidity"
    address: 0x62
    update_interval: 60s

ESPHome automatically works with both members of the SCD4x family through this component.

18. SCD41 low-power ESPHome setup

For a lower-power mains or battery device:

sensor:
  - platform: scd4x
    measurement_mode: low_power_periodic

    co2:
      name: "Room CO2"

    temperature:
      name: "Room Temperature"

    humidity:
      name: "Room Humidity"

    update_interval: 30s

ESPHome’s low-power periodic mode measures every 30 seconds.

For genuine intermittent operation, SCD41 additionally supports:

measurement_mode: single_shot

That capability is not available on SCD40.

19. Automatic self-calibration

All of these sensors support calibration mechanisms designed to maintain CO₂ accuracy over time.

ESPHome exposes automatic self-calibration (ASC) for both SCD30 and SCD4x and enables it by default.

ASC generally works best when the room periodically experiences fresh-air CO₂ concentrations.

For example:

  • an office empties overnight
  • a bedroom is ventilated
  • a house is unoccupied during part of the day

Sensirion explains that the SCD30 ASC algorithm looks for periodic concentration minima close to outdoor/background CO₂ levels and uses them for recalibration.

20. When automatic calibration can be a bad idea

Consider a sensor installed somewhere that never reaches fresh-air levels.

Examples:

  • continuously occupied room
  • greenhouse
  • laboratory
  • fermentation room
  • enclosed commercial environment

If the lowest CO₂ concentration is consistently much higher than outdoor air, automatic calibration assumptions may not match the environment.

In those cases, manual/forced calibration or carefully managed reference calibration may be more appropriate.

ESPHome supports forced recalibration actions for both SCD30 and SCD4x.

21. Pressure and altitude compensation

CO₂ measurement is affected by atmospheric pressure.

ESPHome therefore allows all three sensors to compensate using:

  • fixed altitude
  • fixed ambient pressure
  • dynamic pressure supplied by another sensor

For example, an ESP32 could combine:

SCD41 → CO₂

with:

BME280 → atmospheric pressure

and dynamically provide pressure compensation to the CO₂ sensor.

ESPHome directly supports this for SCD4x using ambient_pressure_compensation_source.

22. Which sensor is best for Home Assistant?

Best overall

SCD41

It provides the best mix of:

  • good accuracy
  • compact size
  • 5,000 ppm specified range
  • low-power operation
  • single-shot mode
  • excellent ESPHome support

For a new Home Assistant CO₂ node, this is the easiest overall recommendation.

23. Best value

SCD40

For a normal bedroom, office or living room, the SCD40 already covers the most important CO₂ range.

Its 400–2,000 ppm specified range encompasses the concentrations where ventilation decisions are normally being made.

If the SCD40 is significantly cheaper than SCD41, it is an excellent choice.

24. Best for maximum specified range

SCD30

Its 400–10,000 ppm specified range comfortably beats both SCD4x sensors.

This makes it more suitable for unusual applications where CO₂ may intentionally or accidentally climb well beyond normal indoor-air-quality concentrations.

25. Best for fast response

SCD30

With a specified response time of around 20 seconds, it reacts substantially faster than the 60-second SCD4x specification.

For a Home Assistant bedroom dashboard, this matters little.

For testing ventilation performance, it may matter considerably.

26. Best for battery projects

SCD41

The deciding feature is not simply its 15 mA continuous average current.

It is the availability of single-shot CO₂ measurements, which allows a controller to take readings intermittently instead of continuously operating the sensor.

For a battery-powered ESP32 node taking a measurement every several minutes, SCD41 is the obvious choice among these three.

27. Best for a bedroom

SCD40 or SCD41

If cost matters:

SCD40

If buying once and wanting the better sensor:

SCD41

A bedroom CO₂ monitor does not normally need the SCD30’s 10,000 ppm range.

28. Best for an office or classroom

SCD41 or SCD30

SCD41 is the more compact and modern solution.

SCD30 becomes attractive when:

  • faster response is useful
  • tighter published accuracy is desired
  • physical size does not matter

Both are excellent choices.

29. Best for a greenhouse

This is one case where the SCD30 deserves serious consideration.

Greenhouses can intentionally use elevated CO₂ concentrations, making the SCD30’s 10,000 ppm specified range much more relevant than it is in a bedroom.

Automatic self-calibration should also be considered carefully in environments that do not regularly fall back toward fresh-air CO₂ concentrations.

30. Should an existing SCD30 be upgraded to SCD41?

Usually, no.

SCD30 remains excellent.

In fact, it provides:

  • faster response
  • wider specified range
  • very competitive accuracy
  • better published temperature/humidity specifications

The main reasons to replace it with SCD41 would be:

  • physical size
  • lower-power operation
  • battery use
  • need for single-shot measurements

If an SCD30 already works well in a mains-powered Home Assistant sensor, there is little reason to replace it simply because SCD41 is newer.

31. Should SCD40 buyers pay extra for SCD41?

This depends almost entirely on the price difference.

Choose SCD40 when:

  • budget matters
  • monitoring ordinary indoor air
  • 2,000 ppm specified range is enough
  • continuous mains power is available

Choose SCD41 when:

  • better accuracy is wanted
  • concentrations above 2,000 ppm may matter
  • battery operation is planned
  • single-shot measurement is useful

If the price difference is small, SCD41 is the better long-term purchase.

32. SCD30 vs SCD40 vs SCD41 final ranking

Best overall

1. SCD41

Best combination of size, accuracy, range and low-power capability.

Best value

2. SCD40

Excellent genuine CO₂ sensing for ordinary indoor-air-quality monitoring.

Best performance in a large mains-powered design

3. SCD30

The ranking does not mean SCD30 is technically inferior.

In several specifications, it actually wins.

It ranks third primarily because it is dramatically larger and less suited to compact modern sensor nodes.

33. Which one should you actually buy?

For most new ESP32/Home Assistant projects:

Buy the SCD41.

For the least expensive good-quality indoor CO₂ monitor:

Buy the SCD40.

For maximum range, faster response or an existing design where size does not matter:

Buy the SCD30.

The practical difference can be summarized very simply:

SCD30 = larger, fast, accurate and wide-range

SCD40 = compact and best value

SCD41 = compact, more accurate and best overall

Share your love