Difference between revisions of "Testing and hacking the SCD 41"

From Hackteria Wiki
Jump to: navigation, search
(Comparing the different Sensors)
 
(27 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
<< [[CO2 Soil Respiration Chamber#UROŠ new CO2 soil chambers]]
 
<< [[CO2 Soil Respiration Chamber#UROŠ new CO2 soil chambers]]
 +
 +
[[File:Sensirion_webScreenshot.jpg|800px]]
 +
 +
===Comparing the different Sensors===
 +
 +
https://gitlab.com/nanocastro/camara-respiracion-suelo/-/blob/master/Docs/CO2%20sensor%20performance%20test.md
 +
 +
[[File:Nano_sensorTest.jpg|600px]]
 +
 +
[[File:Nano_sensorPerformace.jpg|400px]][[File:rewetted_soil.png|400px]]
  
 
=== Circuit Python and FeatherS2 ===
 
=== Circuit Python and FeatherS2 ===
  
 
[[File:ESP32_co2onOLED.jpg|400px]]
 
[[File:ESP32_co2onOLED.jpg|400px]]
 +
 +
[[File:RandePrototype_SCD41_feathers2.jpg|400px]]
 +
 +
See some first notes and experiments here: https://mega.hackteria.org/index.php/s/AzikGk77wAdPdqg
 +
 +
Mbe add even another [https://www.sensirion.com/en/environmental-sensors/gas-sensors/sgp40/ VOC] sensor?
  
 
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.
 
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.
  
 +
[[File:RandePrototype_SCD41_indoorTest.jpg|400px]]
 +
 +
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.
  
 
=== Testing and hacking the SCD 41 ===
 
=== Testing and hacking the SCD 41 ===
Line 27: Line 46:
 
File:SCD41_opened_cropped.jpg
 
File:SCD41_opened_cropped.jpg
 
File:SCD41_IR_emitter_open_cropped.jpg
 
File:SCD41_IR_emitter_open_cropped.jpg
 +
File:SCD41_functionalDiagram.jpg
 
</gallery>
 
</gallery>
  
 
  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 [https://www2.helsinki.fi/en/researchgroups/laser-spectroscopy/research/photoacoustics this source on laser spectroscopy]''
 
  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 [https://www2.helsinki.fi/en/researchgroups/laser-spectroscopy/research/photoacoustics this source on laser spectroscopy]''
  
 
+
=== Designing UROŠ - CO2 brkout PCB ===
=== Desing UROŠ - CO2 brkout PCB ===
 
  
 
[[File:UROS_CO2-brkout_BackFront.png|400px]]
 
[[File:UROS_CO2-brkout_BackFront.png|400px]]
Line 41: Line 60:
  
 
The files "as ordered" are available on github: https://github.com/GenericLab/UROS-CO2_brkout
 
The files "as ordered" are available on github: https://github.com/GenericLab/UROS-CO2_brkout
 +
 +
It arrived!!!
 +
 +
[[File:UROS_pcb_foto2.jpg|400px]][[File:UROS_pcb_foto1.jpg|400px]]
 +
 +
=== UROŠ - CO2 brkout PCB reflow soldering ===
 +
 +
[[File:First_reflowed_UROS_CO2-board.jpg|800px]]
 +
 +
We managed to reflow a first working version of our own PCB!!!
 +
 +
Just un-flowed from the original Sensirion break-out board using our nice little reflow hotplate. Cos we didn't have proper reflow solder paste, we just tinned all the pads with normal solder, and wigged it off to create a very thin flat layer of solder on all the copper for the SCD41 sensor. Then mounted the sensor and back onto the hotplate, using 220 / 250 °C, and after it seemed to have settled down into the molten solder, we took the board off and cooled it down.
 +
 +
Then we soldered the remaining parts, some resistors for pull-up on the I2C channel, LED and a NeoPixel on the backside.
 +
 +
[[File:UROS_CO2-board_back.jpg|400px]]
 +
 +
Wiring it up, connecting the I2C connection and the extra wire for the neo-pixel.... It works!!
 +
 +
[[File:First_working_CO2-board.jpg|400px]]
  
 
=== Minting UROŠ - CO2 brkout as NFT on OpenSea ===
 
=== Minting UROŠ - CO2 brkout as NFT on OpenSea ===
Line 47: Line 86:
  
 
Go to [https://opensea.io/assets/matic/0x2953399124f0cbb46d2cbacd8a89cf0599974963/90391030997498965772584501577568290004601977637822365059467798043890102042625 OpenSea NFT marketplace]
 
Go to [https://opensea.io/assets/matic/0x2953399124f0cbb46d2cbacd8a89cf0599974963/90391030997498965772584501577568290004601977637822365059467798043890102042625 OpenSea NFT marketplace]
 +
 +
=== Serial Plotter and how to get dedicated soil resp data ===
 +
 +
Started to use [https://snapcraft.io/tauno-serial-plotter this tool tauno-serial-plotter] to plot data and export .png or .csv for further analysis / storage.
 +
 +
[[File:export_blowTest2.png|400px]]

Latest revision as of 13:51, 24 June 2022

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

Sensirion webScreenshot.jpg

Comparing the different Sensors

https://gitlab.com/nanocastro/camara-respiracion-suelo/-/blob/master/Docs/CO2%20sensor%20performance%20test.md

Nano sensorTest.jpg

Nano sensorPerformace.jpgRewetted soil.png

Circuit Python and FeatherS2

ESP32 co2onOLED.jpg

RandePrototype SCD41 feathers2.jpg

See some first notes and experiments here: https://mega.hackteria.org/index.php/s/AzikGk77wAdPdqg

Mbe add even another VOC sensor?

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.

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

Designing 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: https://github.com/GenericLab/UROS-CO2_brkout

It arrived!!!

UROS pcb foto2.jpgUROS pcb foto1.jpg

UROŠ - CO2 brkout PCB reflow soldering

First reflowed UROS CO2-board.jpg

We managed to reflow a first working version of our own PCB!!!

Just un-flowed from the original Sensirion break-out board using our nice little reflow hotplate. Cos we didn't have proper reflow solder paste, we just tinned all the pads with normal solder, and wigged it off to create a very thin flat layer of solder on all the copper for the SCD41 sensor. Then mounted the sensor and back onto the hotplate, using 220 / 250 °C, and after it seemed to have settled down into the molten solder, we took the board off and cooled it down.

Then we soldered the remaining parts, some resistors for pull-up on the I2C channel, LED and a NeoPixel on the backside.

UROS CO2-board back.jpg

Wiring it up, connecting the I2C connection and the extra wire for the neo-pixel.... It works!!

First working CO2-board.jpg

Minting UROŠ - CO2 brkout as NFT on OpenSea

UROS-brkout NFT.jpg

Go to OpenSea NFT marketplace

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