The SCD4x sensor from Sensirion measures CO₂, temperature, and humidity, and communicates these values via I²C.
The measurement principle for the CO2 is that of photoacoustic sensing. The fundamental principle is shown in the diagram below: shine light that the CO2 molecules absorb and use a microphone to listen to the pressure variations.
I ordered a batch of SCD41 sensors from China for various projects, including fermentation, mushroom and plant cultivation, and field monitoring.
Since I had extras, I sacrificed one for macro photography. I removed the cover with a dremel and pliers, then cleaned the internals using isopropanol.
Here is my take:
The temperature and humidity are measured by Sensirion’s SHT40, seen as the black square at the bottom right. It’s likely accessed by the internal microcontroller over an internal I²C bus.
The pink square at the top left is a MEMS IR emitter. The SCD4x datasheet doesn’t specify the emission wavelength, but 4.3 µm is standard for NDIR-based CO₂ detection. A similar emitter example is this one from Microhybrid. These emitters usually produce broadband IR, with a 4.3 µm band-pass interference filter on top. The pink hue likely comes from this filter. Filters like these are critical to target CO₂ absorption while avoiding spectral overlap with other gases. For further reading, see Infratec’s application note and Delta Optical Thin Film’s technical explanation.
The gold component labeled “o119 ANC” is the MEMS microphone, used to detect pressure waves caused by gas molecules absorbing pulsed IR light—this is photoacoustic sensing. The vibration excited by 4.3 µm light occurs at ~70 THz, far beyond acoustic detection. However, the IR source is pulsed at a modulation frequency (typically 20–60 Hz, e.g. 40 Hz), and the microphone detects the resulting pressure variations at this frequency. The principle is outlined in patent US 2024/0133801 A1.
An example of a compatible MEMS microphone is Infineon’s IM72D128V01, which supports frequencies down to 20 Hz.
The final main component is the metal-shielded package. It likely contains a microcontroller responsible for:
- Driving the MEMS IR emitter with a modulated current (e.g., at 40 Hz)
- Capturing and analyzing the MEMS microphone signal to extract the amplitude of acoustic pressure oscillations (proportional to CO₂ concentration)
- Acting as an I²C master to retrieve temperature and humidity data from the SHT40
- Acting as an I²C slave to provide CO₂, temperature, and humidity data to an external controller
Here are top and bottom views of the sensor cap:
The cap has a circular gas inlet. The white material covering it is likely a hydrophobic ePTFE membrane, which allows gas exchange while blocking liquid water.
I hope someone else finds this interesting too!
EDIT: After posted this, I searched online and I found a photo from someone who went a deeper than me and did expose the microcontroller: https://www.hackteria.org/wiki/CO2_Soil_Respiration_Chamber
This is the photo borrowed from that site:
Wow, thanks for posting this. I use these sensors and I never knew what was inside other than the principle they’re based on. I also use SHT41 in conjunction and both the SDC40 and SHT41 show almost the exact same temperature and humidity values which is now easily explainable by the fact there’s a SHT40 inside this CO2 sensor! I won’t use SHT41 anymore when a project already includes this CO2 sensor, awesome!
I’m happy to share and glad someone else finds it interesting too :D
I also use SHT41 for other projects. It is a very nice sensor. I made an incubator with PID control and tested multiple different sensors, and the SHT41 was my final choice. Responds very fast and its accuracy is excellent.
In my mushroom chamber I have found out that CO2 is not actually an important control variable because the humidity is what changes the fastest and blowing humid air through the chamber brings the CO2 down anyway. So I would probably be able to get away with the SHT41, but measuring CO2 is just fun.