Skip to content

Displays and logs air quality information from particulate matter and CO2 sensors

License

Notifications You must be signed in to change notification settings

ericklein/powered_air_quality

Repository files navigation

Powered Air Quality

Hero Shot

Purpose

Powered Air Quality, aka PAQ, samples and displays temperature, humidity, CO2 (carbon dioxide), and air particulate levels. If PAQ is connected to WiFi, it can log this information to a number of network endpoints, and it displays local outdoor weather and air quality information to compliment the indoor sensor information. PAQ requires an AC power source.

PAQ was created to answer three primary questions:

  • Is the co2 level in the room good?
  • What is the particulate count in the air outside, and how much of that got into the room? This is particularly relevant during fire season.
  • When we use the gas stove or the central heater, how does it change our indoor air quality?

Associated projects

PAQ has a number of sibling projects that share many common hardware and code attributes. Those are:

  • Air Quality has the same functionality as PAQ minus air particulate measurement. It is powered by a battery
  • RCO2 is a small, portable version of Air Quality that only samples and displays air quality levels.
  • Badge is RCO2 in a badge form factor capable of displaying additional information beyond air quality levels.

Features

UI AI : ADD DOCUMENTATION

Target configuration

  • Set parameter configuration using config.h
  • Private configuration settings including WiFi SSID/password and network endpoint credentials are contained in a secrets.h file that is not included in this repo. Instead you'll find the file secrets_template.h, which should be copied to secrets.h and then edited to supply the right access credentials and configuration values to match your deployment environment.

Bill of Materials (BOM)

MCU

WiFi

Sensors

Screen

Buttons/Switches

  • None at this time.

Pinouts

SCD40

  • Connected through Stemma QT cable to SEN5X adapter board

SEN54

Custom cable from CYD to SEN5X adapter board

  • CYD connector is JST 1.25mm pitch 4 pin
  • Adafruit connector is JST SH 1.0mm pitch 4 pin
    • I cut the male breadboard ends off this Adafruit cable to get the appropriate second part of the cable
  • This custom cable attaches to CYD connector CN1
    • GND to GND
    • GPIO 22 to SDA (often Blue) pin
    • GPIO 27 to SCL (often Yellow) pin
    • 3.3v to 3.3v

Supported network endpoints

MQTT

Hassio MQTT

  • AI: ADD DOCUMENTATION

InfluxDB

  • AI: ADD DOCUMENTATION

Software Dependencies

  • ArduinoJson by Benoit Blanchon
  • Adafruit ILI9341 (and dependencies)
  • Sensirion I2C SEN5X (and dependencies)
  • Sensirion I2C SCD4x (and dependencies)
  • ESP8266 Influxdb by Tobias Schurg (which also works for ESP32 despite the name)

Issues and Feature Requests

.plan (big ticket items)

  • WiFI Manager support
  • OTA firmware update support
  • button support to cycle through multiple information screens

Supporting Material

Screen

Temperature and Humdity

CO2 (Carbon Dioxide)

Scales

We currently use the following scale, which is modifiable in config.h:

  • <800 - Good
  • 800-999 - So-So
  • 1000+ - Poor
Alternate ideas
  • Example 1
  • Example 2
  • Example 3
  • US NIOSH (1987) recommendations:
    • 250-350 ppm - normal outdoor ambient concentrations
    • 600 ppm - minimal air quality complaints
    • 600-1,000 ppm - less clearly interpreted
    • 1,000 ppm - indicates inadequate ventilation; complaints such as headaches, fatigue, and eye and throat irritation will be more widespread; 1,000 ppm should be used as an upper limit for indoor levels

Impact on health

Sensors

AQI

Scales

We currently use the following scale, which is modifiable in config.h:

  • 0-25 : "Good" : Green
  • 26-50 : "Fair" : Yellow
  • 51-150 : "Poor" : Orange
  • 151+ : "Bad" : Red

Options:

  • Open Weather Map scale owm scale
  • Aware scale awair scale
  • Australian local goverment scale victoria scale
  • government standard scale AQI scale

VOC (Volatile Organic Compounds)

Sensirion documentation on VOC

Scale

We currently use the following scale, which is modifiable in config.h:

  • 0-150 : "Good" : Green
  • 151-250 : "Fair" : Yellow
  • 251-400 : "Poor" : Orange
  • 401+ : "Bad" : Red

About

Displays and logs air quality information from particulate matter and CO2 sensors

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published