Skip to content

A simple AQI sensor project with WIO Terminal and PLANTOWER PM25 Sensor.

Notifications You must be signed in to change notification settings

okyang/aqi_buddy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AQI Buddy

AQI Buddy is a minimal air quality display using a Wio Terminal and Plantower PMS503. It is designed to be portable so you can measure the air quality anywhere you go. For example, the air quality when cooking, driving on the highway, outdoors, indoors, etc.

thumbnail photo

Background

Air Quality Index (AQI) meausre PM2.5 to help determine the air quality and impacts to human health. According to World Air Quality Index Project, the US EPA standard for AQI is:

AQI Air Pollution Level PM 2.5
0 - 50 Good 0 - 12
51 - 100 Moderate 13 - 35
101 - 150 Unhealthy for Sensitive Groups 36 - 56
151 - 200 Unhealthy 57 - 150
201 - 300 Very Unhealthy 151 - 199
300+ Hazordous 200 +

Pre-requisites

Materials Needed

Adding threaded inserts to case

Tools Needed

  • 3D Printer
  • Hex Key
  • Soldering Iron

Build Guide

Follow all these steps below to setup your on AQI Buddy 😁.

1 - 3D Print the Case

  1. Print the following components
  2. aqi_buddy_body.stl - this takes the longest
  3. aqi_buddy_lid.stl
  4. aqi_buddy_wio.stl
  5. Add the 4 threaded inserts to the holes in aqi_buddy_body.stl with a soldering iron

Adding threaded inserts to case

I'm personally not great at CAD, so I am sharing this Onshape link if you want to improve the design yourself 😅: okyang_aqi_buddy

2 - Building the Circuit!

Solder the male header pins to the aqi sensor breakout board using the circuit diagram below: circuit diagram

  1. Plug in the male headers to the left side of wio terminal socket
  2. Solder your wires to the AQI sensor breakout board

adding header to wio terminal

soldered wires to aqi sensor breakout board

3 - Upload Code to Wio Terminal

  1. Clone this repo
    git clone [email protected]:okyang/aqi_buddy.git
  2. Pull necessary submodules
    git submodule update --init --recursive
  3. Plug in your wio terminal
  4. Upload the code

4 - Final Assembly

  1. Place Wio Terminal in the Top side of the aqi_buddy_wio and feed the connection to the AQI sensor breakout board through the rectangular opening
  2. Add in the aqi_buddy_body and align with the rectangular tab on the aqi_buddy_wio
  3. Secure the aqi_buddy_wio by threading through a M3 screw to the closer hole and secure with a M3 nut
  4. Slide in the AQI sensor to the aqi_buddy_body with the fan facing towards the opening (very important!)
  5. Connect the cable from the AQI sensor breakout board to the AQI sensor
  6. Finally, add the aqi_sensor_lid and screw in the four M3 screws

Things I Learned and Improvement Considerations

I am still a novice at CAD design, but I feel like there was so many little things I learned like how to use variables for my sketches, getting more familiar with the various tools in Onshape, and learning how to assemble parts together. This is probably very trivial to others, but not for me 😅.

I already knew some of this before, but setting up a Github Actions Workflow was very cool to see. I added a basic check that basically just compiles to code after each commit. This is definitely a very handy feature and very simple check make sure I didn't break the code for others.

Also, using git submodules was not a new concept to me, but definitely not something I used often. I used it in this project because of the dependencies on Adafruit_BusIO and Adafruit_PM25AQI. I just thought this was a handy feature of git that other novice developers should know about as well.

The basic scope of the project seemed very simple, but I still feel like there is a lot of cool features that can be added. So for now to avoid scope creep, I will just write them down:

  • Upload AQI Data to Influx Data or some IoT Dashboard
  • Add a GPS, to collect location data (for a more mobile aqi sensor)
  • Solar Powered + Weatherproof to mount the sensor outdoors
  • Improve UI with LVGL
  • Add an emotional character for each AQI level

References

About

A simple AQI sensor project with WIO Terminal and PLANTOWER PM25 Sensor.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published