Connection of CO2 sensor to Enviro+

Hi everyone!

I would like to connect a CO2 sensor to my RPI Zero 2w and Enviro+ but don’t know it is possible. The sensor I am considering is this one : Adafruit SCD-30 - NDIR CO2 Temperature and Humidity Sensor [STEMMA QT / Qwiic] : ID 4867 : $58.95 : Adafruit Industries, Unique & fun DIY electronics and kits

I saw a video where you see this sensor connected to an Enviro+ with a FeatherWing but not to a RPI Zero 2 W (https://www.youtube.com/watch?v=Szn-ZCr0kYg)

Given the product page : Data is read over I2C, so it works very nicely with just about any microcontroller or microcomputer. We’ve written both Arduino and Python/CircuitPython code so you can get started in a jiffy.

Does anyone has a good documentation to follow to make this connection successful?

Thanks in advance!

So as the product page says, it uses I2C which is a very common data bus. It is made of four wires: Ground, Power, Serial Data (often SDA) and Serial Clock (SCL).

Probably the quickest way to do this is to use a Sparkfun Qwiic shim, which you slip onto the Zero’s GPIO pins underneath the Enviro+. Then you can connect the two using a Qwiic/Stemma QT cable.

Alternatively, both the SCD-30 and Enviro+ have pin holes for I2C connectors, so you could wire them to each other directly, but that really depends on how good your soldering is.

A final suggestion: the SCD-40 (or the version with the wider sensing range, the SCD-41) is also a very good direct CO2 sensor, its a fair bit smaller, it also works over I2C, and is a little cheaper. It might be worth considering as well.

EDIT: Well it seems that the SCD-40/41 can be cheaper depending on where you buy it. But it’s still just as good and smaller!

1 Like

Sensirion provides drivers and instructions on Github: GitHub - Sensirion/python-i2c-scd30: Python I2C driver for Sensirion SCD30 sensor (also available for the SCD-4x).

Besides this, Adafruit provides drivers for their product, usually wrapped CircuitPython drivers in combination with Blinka. Works very well, btw.

I would also suggest the SCD-40. On paper, the SCD-30 has a higher precision, but I doubt that the difference between ± 50ppm and ± 30ppm is really relevant unless you are doing some highly scientific experiments in controlled environments. I have the SCD-40 from M5Stack, which has beside price the advantage that it has a housing and can be connected with a simple Grove-adapter cable (Grove to DuPont or Grove to Stemma/Qt).

1 Like

Definitely +1 for the SCD4x series instead, better size age and price. Get the SCD41/42 for a bit more precision / compatibility with air quality standards, but pretty much the same as SCD40.

Thanks for the input everyone, I’m sure connection will happen flawlessly given your comments! I am getting a SCD41 soon. Also, apparently SCD42 is discontinued.