Shinyei PPD42NS via Bluetooth

Low-cost particle counting

I’ve been inspired by the lovely results posted by Chris Nafis comparing output from a Shinyei PPD42NS to output from a Dylos DC1700. On Thursday I finished assembling this little charmer, a modestly sized Bluetooth-enabled PM counter. It’s made entirely from components you can get at SparkFunSeeedstudio, and the like. The box at left houses the following, all sourced from SparkFun except for the Shinyei sensor (which is available from Seeedstudio).

What’s inside the box

It’s transmitting 60-second samples to the Macbook Air, which is in turn relaying the data to a Cosm feed, visible in the laptop screen at right. I slightly modified the Arduino code posted by Chris to (1) account for variability in the actual sample duration; and (2) output the “raw” signal as well as a a “filtered” signal (just some exponential filtering that’s a lot easier to make sense of when you’re staring at noisy numbers on a console).

Code: ShinyeiPPD42NS_SerialOutput.ino

When I left it running at my house this weekend, it lasted around 24 hours, which was pretty good, considering the PPD42NS is supposed to be drawing around 90 mA and the Arduino around 40 mA (don’t know about the Bluetooth Mate).

The data looks decent compared to readings from the Dylos DC1700, visible in the background, which I hooked up via USB/serial at the same time. I need to compare the two more critically, but just glancing at the shapes of the traces on the screen, it looks like they’re both picking up some of the same hourly variability. UPDATE: After running both in my office (not shown) for seven days, the 1-hour averages seem to line up nicely.

I’m giving the box to Edmund for some beta testing now that I’m back.