Git Product home page Git Product logo

airquality_monitor's Introduction

AirQuality V3

What is the AirQuality V3?

The AirQuality V3 is an air quality sensor made from scratch. I wanted a cheaper sensor than the commercially available options, but more capabilities than the open-source options like AirGradient. It also gave me a good project to continue on my journey to learn more on developing electronics and embedded software.

The sensor periodically polls the sensors (as per the datasheets) and publishes the new values to a MQTT topic. Home Assistant is then able to pick up the values automatically trough auto-discovery. OTA updates and configuration is supported trough a web interface.

This repository houses the source code, BOM, for the AirQuality V3 and the KiCad files.

Cost

Cost for all components for a single board is about $53. Most expensive components are the PMS5003 ($17), SenseAir S8 ($18), the SGP41 gas sensor ($7) and the ESP32-S3 ($4.7). The 4-layer PCB itself strongely depends on how many you order, but is around $4 per PCB, brining the total cost per Air Quality sensor to $57.

Sensors

Building the code

  1. Init the submodules: git submodule update --init
  2. Run the PlatformIO Build platformio run --environment debug

Libraries used

Sensors

  • adafruit/Adafruit BME280 Library (BME280 Temperature, Humidity and Air Pressure sensor)
  • sensirion/Sensirion I2C SGP41 (SGP41 Gas sensor)
  • adafruit/Adafruit VEML7700 Library (VEML7700 Ambient Light Sensor)
  • fu-hsi/PMS Library (PMS5003 particle sensor)
  • sensirion/Sensirion Gas Index Algorithm (VOC and NOx gas index for Air Quality Levels)
  • jcomas/S8_UART (SenseAir S8)

Others

  • adafruit/Adafruit NeoPixel (To drive the single NeoPixel communicating the current Air Quality level)
  • knolleary/PubSubClient (MQTT Library for communication with Home Assistant)
  • bblanchon/ArduinoJson (JSON Library for the HTTP server and MQTT)
  • TheLartians/Observe (Simple thread-save events)

Datasheets

Other info

Pollutant
(based on pollutant concentrations in µg/m3)
                                        Good	Fair	Moderate	Poor	Very poor	Extremely poor
Particles less than 2.5 µm (PM2.5)	    0-10	10-20	20-25	    25-50	50-75	    75-800
Particles less than 10 µm (PM10)	    0-20	20-40	40-50	    50-100	100-150	    150-1200


                                        Good	Fair	Moderate	Poor	    Very poor	Extremely poor
CO2 in ppm:
                                        0-350   350-800 800-1000    1000-1200   1200-1800   1800+
 https://www.co2meter.com/blogs/news/carbon-dioxide-indoor-levels-chart


NOx and VOC Index:
                                        Good	Fair	Moderate	Poor	    Very poor	Extremely poor
NOx Index:                              0-20    20-100  100-200     200-300     300-400     400+
VOC Index:                              0-150   150-200 200-250     250-300     300-400     400+
https://www.sensirion.com/media/documents/9F289B95/6294DFFC/Info_Note_NOx_Index.pdf
https://www.sensirion.com/media/documents/02232963/6294E043/Info_Note_VOC_Index.pdf

airquality_monitor's People

Contributors

wesleye avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.