Particle Sniffer

by rabbitcreek in Circuits > Arduino

41970 Views, 230 Favorites, 0 Comments

Particle Sniffer

IMG_7227.jpeg
IMG_7228.jpeg
IMG_7229.jpeg

While working with the prior projects on PM2.5 assessment I noticed the drawback of being unable to locate the point sources of small particle pollution. Most sampling done by the municipalities and satellite imagery collect wide sources that don't really tell you on a personal level where this is coming from and how to eliminate it. The Honeywell device has its own blower and input and output windows all I needed was a way of channeling the airflow specifically to those areas--and of course I already had a 3D printed/designed dogs nose to put on the end so the rest was just to design a gun sampling unit with trigger that would allow me to carefully explore where my killers were coming from.

Gather Your Materials

pm25Sniffer
IMG_7131.jpeg
IMG_7129.jpeg
IMG_7102.jpeg

I used the Honeywell HPMA because of its reliability and cheap price. The combo of the ESP32 and the 8266 charger/booster form factor is also used again.

1. HONEYWELL HPMA115S0-TIR PM2.5 Particle Sensor laser pm2.5 air quality detection sensor module Super dust sensor PMS5003 $18

2.ESP32 MINI KIT Module WiFi+Bluetooth Internet Development Board D1 MINI Upgraded based ESP8266 Fully functional $6 (AliExpress)

3. MH-ET LIVE Battery Shield for ESP32 MINI KIT D1 MINI single lithium battery charging & boost $1 (AliExpress)

4. 18650 Battery with wires $4

5. IZOKEE 0.96'' I2C IIC 12864 128X64 Pixel OLED $4

6. Rugged Metal On/Off Switch with Green LED Ring - 16mm Green On/Off $5 (Adafruit)

7. Generic 3D printer (Ender 3)

8. Antrader KW4-3Z-3 Micro Switch KW4 Limit $1.00

9. NeoPixel Ring - 12 x 5050 RGB LED with Integrated Drivers $7.50

Design and 3D Print

snifferPicture.jpg
Untitled 4.jpeg

The sniffer is designed so that the built in blowers in the HoneyWell sensor are aligned and encapsulated within the housing of the sniffer such that the nostrils in the open end connect directly with the input ports on the sensor and the output vent goes through the housing and out through multiple holes in the back cowling. (Jeez sounds like a patent application....bad) The substantial handle allow a large capacity battery and the rest of the electronics to connect. The charging port is aligned at the bottom of the handle housing. The Neopixel ring lighting around the nose is designed to shine through the case at the top. The build is done so that the top part of the main housing is done in clear PLA and then switched to Grey PLA for the handle and finally clear PLA for the handle base to allow the color of the charging lights to be seen. The trigger mechanism is laid up with an operating pin hinge that is printed as one piece but hopefully moves freely.

All files are done with standard settings on Cura for ender 3. No supports were used for any of the parts.

Wire It

IMG_7101.jpeg
IMG_7098.jpeg
IMG_7148.jpeg
IMG_7103.jpeg

The wiring diagram is essentially the same as the wiring for: https://www.instructables.com/id/Bike-Analog-Pollution-Meter/ except there is no servo and that output is used for the data line for the Neopixel ring. In this case the power button controls power from the battery to the power booster/charger only. The 5 volt line from the booster is controlled by the limit switch in the handle that is operated like a trigger. It connects power from the booster to both the Sensor, ESP32 and the Neopixels powering them on simultaneously. The I2C screen is powered off of the 3 volts from the ESP32. Most of the wiring must be done while the handle is under construction in the next section as you must feed the wires through a variety of openings. Make sure you breadboard it first!

Build It

IMG_7136.jpeg
IMG_7134.jpeg
IMG_7146.jpeg
IMG_7138.jpeg
IMG_7145.jpeg
IMG_7135.jpeg

The Neopixel ring is first glued into the nose housing making sure it lies flat and doesn't compromise its tight connection to the main body. Route the three wires through the side port on the main body and down into the handle. The Neopixels should point into the main clear housing. The Air Sensor is then placed into its housing with the small multiple input vents facing toward the nostril openings and the fan core facing back toward the wire output feed. Feed the wires out the back and down into the handle core where they will be soldered to the ESP32. The I2C screen is attached to the front section and its exit wires go through the slot opening through the handle and are wired to the main board. The round cowling is then glued in place over the screen. All glue is usually E6000 although superGlue LocTight can also be used. The front nostril nose cone is also glued in place. The limit switch is wired in and glued into position as well as the main on/off switch. The main ESP board is fitted in and the 18650 battery is installed. The boost board is glued securely to the base plate of the unit making sure that the charging port is aligned carefully with the opening. Glue on the base plate when everything is operating correctly. The trigger switch is glued over the limit switch metal bar in a fashion that it easily clicks it in the down position. Careful not to get glue into the limit switch mechanism.

Program It

The software utilizes the serial port for importing the information from the sensor. It is one of the problematic issues with this sensor that it doesn't use I2C with libraries to make it more convenient. Instead of a servo as output as in the bike sniffer this instrument uses the SSD1306 output through I2C. The Neopixel display is controlled by the Adafruit Neopixel Library in a rather conventional light display that just breaths 3 different colored lights for the level of PM2.5 in the nostrils. If the level is less than 25 it flashes blue, green if between 25 and 80 and red if over 80. These preset levels can be reset in the program. They are controlled as output in a case statement in the brighten function at the bottom of the program. Fonts for the output of the screen and screen sizes can also be switched. The Sensor takes a reading once per second.

Downloads

Using It

IMG_7238.jpeg
IMG_7262.jpeg
GranolaSniffed

So being in the middle of this quarantine its a little hard to get out much and use this device so I was stuck doing youTube videos around the house to see how bad it gets inside. (Normally I would be out shoving this down the nearest neighbors diesel truck exhaust hole or downwind of the coffee roasting plant -- yea I know your screwing with my lung function!) The device boots up nicely within 4 seconds of pushing the trigger. It gets an erroneous high reading and then slowly over 5 seconds stabilizes. Most reading correspond well with the National Sampler about a 1/2 mile down the block. The usual shock of toaster output I have put up on the web for you. The other video is making Granola --yow--it leaked 50 ppm for over an hour after coming out of the oven. The nostrils tend to hold on to the high level scent for a while so you might blow them out to take another reading immediately. Two months ago PPM2.5 was a serious concern now no one remembers it. Global warming--that was so many worries ago.