PurpleAir sensors are an "Internet of things" (IOT) air quality sensor or particulate sensor consisting of a network of elements
Laser Particle Counter:
PurpleAir uses PMS5003 and PMS1003 laser particle counters. These sensors count suspended particles in sizes of 0.3, 0.5, 1.0, 2.5, 5.0, and 10um. These particle counts are processed by the sensor using a complex algorithm to calculate the PM1.0, PM2.5, and PM10 mass concentration in ug/m3. PMS5003 and PMS1003 sensors come factory calibrated.
Before deploying any devices, we verify that they are giving out readings that are consistent from sensor to sensor during tests in a smoke chamber. So far, all sensors we tested have produced consistent output using laser particle counters.
ESP8266 and Arduino:
PurpleAir sensors use an ESP8266 chip to talk to the particle counter and provide all functionality, including connecting to a WiFi network and uploading data to the cloud. PurpleAir firmware has remote update features, meaning we can modify the software and the sensor will download the new version and update itself. Each PurpleAir air quality sensor device checks for updates from time to time.
Using services from Google makes for a robust, reliable, and secure system. Google maps provides the map interface for sensor registration. Google App Engine provides the processing power to place the sensor icons on the PurpleAir map and create the graphs and other elements to display sensor data on the PurpleAir map.
Mapbox provides the PurpleAir map interface.
Each PurpleAir sensor includes a BME280 pressure, temperature, and humidity sensor.
The temperature values may be elevated due to the heat generated by the WiFi module, sun and other possible influences. These values are provided as is and are just for interest. Correction factors are applied to data presented on the map, but this correction will not cater for all circumstances.
PurpleAir sensors are powered by a 5v USB power source.