CO2 Soil Respiration Chamber

From Hackteria Wiki
(Redirected from CO2)
Jump to: navigation, search

Developed during the RandeLab Soil Retreat as part of the HUMUS.Sapiens research phase and discussed on the forum. Continued during UROS (UROŠ - Ubiquitous Rural Open Science Hardware) in Maribor, 2021.

See Hackteria Website

UROŠ new CO2 soil chambers

Based on FeatherS2 and new SCD41 Sensor sponsored by Sensirion.

RandePrototype SCD41 feathers2.jpg

See some first notes and experiments here:

Mbe add even another VOC sensor?

Testing and hacking the SCD 41

<< CO2 Soil Respiration Chamber#UROŠ new CO2 soil chambers

Sensirion webScreenshot.jpg

Circuit Python and FeatherS2

ESP32 co2onOLED.jpg

With all the libraries and examples prepared by sensirion and Adafruit, it was easy to connect it all together using the FeatherS2 and CircuitPython. A first prototype is connected and working.

RandePrototype SCD41 indoorTest.jpg

First measurements look promising, very stable, relatively fast response times. The library is very easy to use, auto-calibration has to be turned off. During the start of the code you can adjust a temperature_offset to calibrate the temp sensor. Additionally you have to adjust the pressure or altitude to where you are doing the measurement, altitude offset (default hardware is 0m). First experiments show that this is pretty crucial, details will have to explored and discussed with the sensirion tech team.

Serial Plotter and how to get dedicated soil resp data

Started to use this tool tauno-serial-plotter to plot data and export .png or .csv for further analysis / storage.

Export blowTest2.png

Testing and hacking the SCD 41

Checking the PCB and the footprint to plan our own reflowing of PCB

Opening up the sensor

What is inside? As described on the sensirion product page, the new sensor works on the "photo-accoustic effect". So it's similar, but also a different method, than other NDIR sensors.

It's pretty easy to understand what's under the hood for the SCD41. There is a signal-processor, to read and control the sensor components and communicate to the outside via I2C, there is the "classic" SH40 temperature & humidity sensor, and now... There is an IR emmiter with a dedicted filter on it and a MEMS microphone. Everything is enclosed within a small metal case, with a hole to the outside world and a particle filter stuck onto it.

Photoacoustic effect is the generation of acoustic waves as a result of light absorption in a material. As an example, consider a laser beam that is passed through a gas sample, which is enclosed in a cell of a constant volume. The laser energy absorbed by the sample molecules leads to local heating of the gas, which causes a pressure increase. If the optical excitation of molecules is done periodically, by modulating the laser power or frequency, also the pressure change is periodic. This acoustic wave at the modulation frequency can be detected with a microphone. The microphone signal is directly proportional to the absorbed power, which makes it possible to determine the concentration of absorbing molecules in the sample. Taken from this source on laser spectroscopy

Desing UROŠ - CO2 brkout PCB

UROS CO2-brkout BackFront.png

PCB (printed circuit board) breakout board for CO2 sensor (SCD41), NEO-pixel (WS2812B) and I2C interface (JST-SH4)

Designed with open source software: Kicad, Inkscape and svg2shenzhen

The files "as ordered" are available on github:

It arrived!!!

UROS pcb foto2.jpgUROS pcb foto1.jpg

Minting UROŠ - CO2 brkout as NFT on OpenSea

UROS-brkout NFT.jpg

Go to OpenSea NFT marketplace

CO2 soil chambers


Further developments during dusjagr's residency at Lifepatch June - August 2018

IMG 20180616 122121.jpgKiljuChamber laserCut new.jpg

Teensy Code

See RandeLab repo on GitHub

results on our-sci

using this script:

PVC pipe Chambers

FieldTest BambooBox PVC-Chamber.jpgPipeChamber stickers.jpg

Wiring diagram

CO2-BambooBox WiringSchema v03.jpg

RandeChamber aka Kilju Chamber

RandeSoilChamber.jpgKiljuChamber laserCut.jpg

Failed PCB...

KiljuBox SZ-Ready.pngCO2 littleBox digitalMockUp.png

Test Measurements @ Yogyakarta / Lifepatch

Respiration measurement Lifepatch rooftop

Lifepatch rooftop Env.jpgLifepatch rooftop Setup.jpg

1st measurement, late afternoon

ExampleMeasurement Lifepatch rooftop.png

2nd measurement, noon

ExampleMeasurement Lifepatch Noon rooftop.png

Respiration measurement Lifepatch frontyard

1st measurement around noon

Lifepatch frontyard overview.jpgLifepatch frontyard Setup.jpg

Lifepatch front Noon overview.png

Tibor's rice experiment

Lifepatch frontyard TiborRice.jpg

Lifepatch front NoonRice 900s-PVC-chamber on soil.png

CO2 absorbtion with NaOH crystals

NaOH absorbtionTest Setup.jpg

NaOH absorbtionTest high.png

Beach Sand | dried and rewetted

BeachSand Collection.jpg

BeachSand rewetted.png

Soil Geeking @ Lifepatch with Matt

Great opportunity to do some testing and sharing of protocols with Matthew Daniel from Global Urban Forest. This turned out to be a great little gathering of overlapping networks from GOSH, our-sci, hackteria and the local soil, gardening and permaculture geeks around Lifepatch.

Testing trials in lifepatch garden

Screenshot 2018-06-19-17-24-23-271

Visit to Pak Paning's permaculture farm

Early Experiments

First Prototypes

First CO2 setup MH-Z19.jpgFirst CO2 soil trial MH-Z19.jpg

Comparing sensors and chambers

Using the Our-Sci Platform

IMG 20180419 172702 HDR.jpg

Our-sci dataPlot.png

More about CO2 sensors:

See RandeLab GitHub for Arduino / Teensy codes

New Sensirion SCD 4x Optoaccoustic sensor

RandePrototype SCD41 feathers2.jpgRandePrototype SCD41 indoorTest.jpg

See Adafruit libraries and circuitpython examples:

Nondispersive infrared sensor

Sensirion SCD30

SCD30 sensirion.png

MH-Z16, available with an I2C board:


New Library!:

MH-Z19 working.jpg

This page is about the MH-Z19 CO2 sensor and some experiments done with it:

Using the MH-Z19 CO2 sensor PWM readout, simple arduino code:

More on ABC, Automatic Baseline Correction

Immerhin kann man den Sensor per Hd-Pin (7s gegen GND) auf 400ppm (Außenluft) eichen.


CCS BME combo

2017-03-25T20-47-46.605Z-BME280 CCS811.jpg

This one I ordered 2.... but check I2C adress. and connect "WAK" to GND

  • #define CCS811_ADDR 0x5A //Alternate I2C Address
  • myBME280.settings.I2CAddress = 0x76;