S8¶
Gases - CO2 Senseair NORMAL
Introduction¶
This is a CO2 sensor from Swedish company Senseair.
- Specifications:
400 to 2000 ppm
5V (4.5-5.25VDC)
Peak 300mA, avarage 30mA
8.5 x 33.5 x 20 mm
UART communication
15 years life span
No burn-in needed, will stabilize after 8 days at worst depending on placement environment
Wiring¶
Circuit wiring (S8 seen from PCB side, with the 5 vias down and the 4 vias up):
ESP S8
GPIO (7) <--> TX (3rd via [middle] of the 5 vias)
GPIO (8) <--> RX (4th via [right of TX])
Power
5.0V <--> VCC (4th via of the 4 vias, 300 mA peak/30 mA average)
GND <--> GND (3rd via [left of VCC])
Set up the S8 according to this simple schematics. If you want to take extra precautions you should add 47R resistor or similar to the TX and RX signals (this is not used in the pictures below). In this example we use the Wemos D1 mini as the host of the 5V input to the S8 and connect the Wemos to USB for power.
Danger
Power needed: 4.5-5.25V. PLEASE OBSERVE THAT FEEDING THE S8 WITH 5.2+V WILL DAMAGE THE INTERNAL LAMP AND BREAK THE UNIT - GIVING FALSE VALUES!
Setup¶
Task settings¶
Device: Name of plugin
Name: Name of the task (example name CO2)
Enable: Should the task be enabled or not
Sensor¶
GPIO <– TX: TX is generally set to GPIO 13 (D7).
GPIO –> RX: RX is generally set to GPIO 15 (D8).
Sensor: Only Carbon Dioxide is supported by the S8.
Note
TX GPIO 1 (D10) and RX GPIO 3 (D9) is hardware serial and have been reported to work better for some users over time compared to the bit-banging (soft) serial used over GPIO 13 and 15.
Data acquisition¶
Send to controller 1..3: Check which controller (if any) you want to publish to. All or no controller can be used.
Interval: How often should the task publish its value (5..15 seconds is normal).
Indicators (recommended settings)¶
Indicator |
Value Name |
Interval |
Decimals |
Extra information |
---|---|---|---|---|
Error status |
N/A |
Used for tSense (K70), K30, K33 |
||
Carbon dioxide |
ppm |
15 |
0 |
|
Temperature |
N/A |
Used for tSense (K70), K30, K33 |
||
Humidity |
N/A |
Used for tSense (K70), K30, K33 |
||
Relay status |
N/A |
Used for tSense (K70), K30, K33 |
||
Temperature adjustment |
N/A |
Used for tSense (K70), K30, K33 |
||
ABC period |
N/A |
Used for tSense (K70), K30, K33 |
Note
If you want to use the relative carbon dioxide percentage (2000ppm = 100% and 350ppm = 0%) you should use this
100-(2000-%value%)/(2000-350)*100
as a formula. And instead of ppm
as value name you should use
RCO2
(relative CO2) and 1 decimal.
Rules examples¶
on CO2#Level do
if [CO2#Level]>2000
Publish,%sysname%/Alarm,CO2 level is too high!
endif
endon
Commands available¶
Command (GPIO/Value) |
Extra information |
---|---|
Value:
|
Used in tSense (K70) to set the relay to either |
Where to buy¶
Store |
Link |
---|---|
AliExpress |
|
Ebay |
|
First Byte |
$ = affiliate links which will give us some money to keep this project running, thank you for using those.