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. For more information and background on Arduino, visit the free Intro to Arduino guide.

The first step in preparing the DustDuino is to download the Arduino IDE on to your computer. IDE stands for “Integrated Development Environment.” This is the software needed to directly program the board. You can download the latest version of the Arduino IDE for your operating system.

The DustDuino currently supports 3 different configurations for sending and/or storing the data generated by the dust sensor.  All of the custom code needed to process, transmit, and store particulate matter data is available for download on the DustDuino website ,the OpenDustMap GitHub repository, or from this tutorial.

These programs are referred to as a “sketches,” and each configuration recipe listed below 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.

Read dust levels directly on your computer

DustDuino Serial_Hello World

Making sure that your DustDuino and the dust sensor are communicating properly is an important first step before setting setting up other configurations. The DustDuino board comes pre-loaded with the following sketch so you only need to programming the following steps if you’re using another Arduino compatible board.

Download DUSTDUINO Serial Sketch
  1. Attach UartSBee programmer to DustDuino
  2. Attach UartSBee to computer using USB cable
  3. Open the Arduino IDE
  4. Find and select the correct serial port where your DustDuino and UartSBee
    are connected
  5. Open the DustDuinoSerial sketch in the Arduino IDE
  6. Compile the DustDuinoSerial sketch and upload to the DustDuino
  7. Open the serial monitor to watch the output from the DustDuino

To visualize data copy your dust readings and paste into a spreadsheet program, such as Microsoft Excel or Google Sheets, to save and graph your dust readings.

Log DustDuino readings on an SD card


Download DUSTDUINO SD Card Sketch
  1. Attach UartSBee programmer to DustDuino
  2. Attach UartSBee to computer using USB cable
  3. Program DustDuino with the SD card sketch using the UartSBee
  4. Attach SD card shield
  5. Attach dust sensor
  6. Insert SD card
  7. Power with 5 volts

 Transmit DustDuino readings over the internet wirelessly

The DustDuino can be configured to connect with wireless networks, so that it can send data to remote servers, which can then store and visualize the data.

To use the DustDuino to connect and transmit data over a wireless network using, some setup of the wireless module is required.  The advantage is the DustDuino can be set up and as long as the network remains the same, it will stay connected. The Xbee wireless module, not the DustDuino microcontroller chip, does the vast majority of the work when it comes to connecting to networks and sending data.

Set up a Wi-Fi Connected DustDuino

Programmer + WifiBee

Download DUSTDUINO WiFi Sketch
  1. Make sure the UartSBee is in both programmer mode and is set to provide 5 volts
  2. Attach the RN-XV to the UartSBee programmer, and connect the UartSBee
    5V_Programmer UartSBee

    The switches are at the bottom of the UartSBee.

    programmer to your computer using a USB cable.

  3. Launch the Arduino IDE, and locate the correct serial port.
  4. Once the correct serial port is designated, open the serial monitor.
  5. Select “no line ending” in the serial monitor
  6. Enter “$$$”
  7. RN-XV will respond with “CMD”
  8. Change serial monitor to “carriage return”
  9. Send “set wlan ssid <id>” (when entering your network’s ID here, substitute
    any spaces with the character “$”)
  10. Send “set wlan phrase <phrase>”
  11. Send “save”
  12. Send “reboot”

The RN-XV should return something like the following:

*Reboot*WiFly Ver 2.38, 12-11-2012 on RN-171 MAC Addr=##:##:##:##:##:## Auto-Assoc ssid chan=5 mode=WPA2 SCAN OK Joining ssid now.. *READY* Associated! DHCP: Start DHCP in 3195ms, lease=86400s IF=UP DHCP=ON IP=###.###.#.##:#### NM=###.###.###.# GW=###.###.#.### Listen on ####

If the red LED on your RN-XV disappears after the reboot, congratulations! You’ve connected to the network. Now, time to load the actual sketch for your sensor node or what have you:

  1. Exit the Arduino IDE
  2. Unplug your UartSBee from the computer
  3. Detach the WiFi module from the UartSbee
  4. Program the DustDuino board separately by installing the WiFi DustDuino
  5. Attach the the WiFi module and dust sensor to the DustDuino board
  6. Plug DustDuino into 5V power source
  7. Enjoy!
because you are sending your DustDuino data to a server that will store your unique information, you need to make sure that the DustDuino is sending the right identifying information and credentials. Only you will know this identifing information, and the DustDuino sketches provided online do not contain your specific credentials. Therefore your DustDuinoWiFly sketch will need to be edited inside the Arduino IDE to include your unique information, such as a Feed ID, API Key, server address, and/or Arduino Key. See the documentation or the comments inside the sketch for information on how to include your credentials in the sketch.