Public Lab Research note

DustDuino Sketches

by willie | July 31, 2015 14:23 31 Jul 14:23 | #12109 | #12109

The DustDuino is a customization of Arduino designed to help makers create low-power, highly customizable sensor projects. By basing the system on Arduino, the DustDuino can use “out of the box” block of code to program the device to do a number of tasks. Those blocks of code are known as libraries.

The DustDuino website ( has a variety of custom code needed to process, transmit, and store particulate matter data. These DustDuino or Arduino programs are referred to as a “sketches,” and each configuration recipe listed below has a corresponds to a sketch available to download and install on your DustDuino. Sketches that are built inside the Arduino IDE may be saved with the “.ino” file extension, and this is how most DustDuino sketches are saved.

DustDuino Serial

Just want to get your DustDuino up and running as quick as possible? Or maybe you want to check if your DustDuino's dust sensor is on the fritz? Or maybe you even want to use a computer application to work with DustDuino's data? The DustDuinoSerial sketch is a simple solution that outputs the sensor readings to your serial port.

Fork on Github

DustDuino Wi-Fi

The preferred choice for those who want to watch their DustDuino readings from anywhere. The DustDuinoWiFly sketch was developed so that users could set up a DustDuino indoors that connects to the home's WiFi network, and sends readings to an Open Dust Map server, or the Xively internet of things service. Compatible with most WiFi modules that use the Xbee form factor and the Roving Networks RN-171 module, such as the Sparkfun RN-XV. Repository includes the required WiFly library

Fork On GitHub

DustDuino SD

If there's no wireless network available, or if you simply want to store your DustDuino data locally, the SD card setup is a handy solution. Was originally developed during an Earth Journalism Network training session, to log dust readings while walking around downtown San Francisco.

Fork On GitHub

DustDuino Solar

Feeling experimental? This is the current repository for our Arduino sketches for the solar-powered DustDuino units. Contains two sketches, one for a solar-powered transmitter, and one for a mains-powered receiver. The transmitter will sleep for a period before collecting data on dust and battery voltage, and will compose a message from that data, which is sent using an Xbee RF module. The receiver gets the message from its own Xbee RF module, parses the message, calculates the dust value, and then sends that data to Xively for all to view. Was developed for an Earth Journalism Network deployment in Mongolia. More info inside the repository.

Fork On GitHub

I did this Help out by offering feedback!

People who did this (0)

None yet. Be the first to post one!


Hi @Willie, thanks a lot for sharing your excellent work. I used your example sketch for my Dustduino with a ESP8266 wifi module, posting to, below screenshot. I have a question related to the code; i understand how you get to countP1 and countP2, but then you relate PM10count to P2 (number > 2.5micron) - i don't understand why it is not more accurate to say that PM10count relates to P1 (number > 1micron) because PM10 should include all the particles up to 10 micron. Is there a reason you use P2 for PM10? I would not make much difference, but it seems more accurate to me. For PM25count i understand you take P1 - P2. Would appreciate your comment- thanks- Tom


Is this a question? Click here to post it to the Questions page.

Reply to this comment...

Login to comment.