I updated my old photon air sensor to use the new Plantower PMS5003 air sensor. It updates faster, is more stable, and provides readings for PM1, PM2.5, PM 10. I also included a temperature and humidity sensor with the DHT22. You do not need to include it if that doesn't interest you. I tried to include a lot of options in the code. Multiple publishing services, sleep function, serial output. It includes an led light so you can tell the PM2.5 levels at a glance.
Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.
Step 1: Wiring Diagram
You will need a DHT 22 temperature and humidity sensor. If you don't have one or don't want to use one you can just leave it out and the air sensor should work fine. The DHT22 needs a 10k resistor. You will also need an RGB common anode LED for the indicator light. As with the DHT22 if you are not interested in having an indicator light you can leaves it off.
Step 2: Code
The code is published at
The code includes publishing to Ubidots, dweet, and particle console. It also includes code to allow putting the sensor to sleep between readings if you just want to take readings every few minutes.
Step 3: Readouts
The indicator light changes color based on the PM2.5 reading. Green is good. You can read the code to see the different color intervals.