Introduction: How to Build a Monodisperse Particle Generator for Around $300

About: I'm a grad student at UC Berkeley in the Hybrid Ecologies Lab.

This is the last Instructable in the series: How to Make and Calibrate a Portable, Accurate, Low Cost, Open Source Air Particle Counter. The first installment, How to Build a Portable, Accurate, Low Cost, Open Source Air Particle Counter, can be found here. The second installment, How to Build a Test Chamber for Air Particle Sensors, can be found here.

This is a project by Rundong Tian, Sarah Sterman, Chris Myers, and Eric Paulos, members of the Hybrid Ecologies Lab at UC Berkeley.

In order to characterize the response of a laser particle counter, we need to introduce particles of known sizes into a test chamber. By comparing the voltage response (scattered light intensity) of the sensor’s analog circuitry between particles of various known sizes, we can pick voltage cutoffs for approximately sorting particles measured in the real world by size. (A limitation of optical particle counting is that the amount of light scattered depends not only on the size of the particle, but on the composition, shape, color, and where the particle strikes the laser beam. This is true for the MyPart sensor as well.)

Commercial atomizers are capable of producing droplets of precise and controllable sizes from a variety of fluids (oil, saltwater, etc). However, these instruments typically cost thousands of dollars.

A cheaper alternative for precisely controlling the size of the droplets atomized is buying calibration particles that are manufactured to a particular size. Less expensive atomizers can then be used to generate droplets of a larger distribution of sizes. However, when the droplets dry, we are left with the calibration particles in their nominal diameter.

In our system, we disperse Polystyrene Latex (PSL) beads of 0.5um and 3.0um diameters using an off the shelf medical nebulizer. Clean air is provided by passing compressed air through a series of filters. The humidity of the chamber is controlled with desiccant inside the chamber.

The following instructions are for our particular setup, but can be easily adapted for your particular application (additional valves, filters, particles, etc).

The build time for this system, given an existing test chamber, is one weekend.

Step 1: High Level Description

In our system, particles of known sizes are generated through the following steps:

  1. Pressurized air comes in from a compressor.
  2. The air passes through a two stage filter and regulator. The air is now clean and free from ambient particles of unknown sizes.
  3. The test chamber is purged using the clean air from step 2.
  4. Once the chamber is clean (sensors read ~0), the clean air is used for the nebulizer to atomize an aqueous solution containing PSL beads of a single size. The droplets that are generated from the atomizer are a mixture of pure water and PSL bead covered in water.
  5. The air/water/PSL bead mixture is injected into the chamber, where the water evaporates in the low humidity environment.
  6. When the water evaporates, only the dried PSL beads of the original diameter remain.

It is possible that particles other than the PSL beads will enter the chamber. Potential sources of these rogue particles could be from impurities in the distilled water. However, the majority of the particles in the chamber will be from the nebulized PSL beads.

For the plot above, we tested our nebulizer setup by atomizing 2ml of DI water, 2ml of 3.0um aqueous PSL, and 2ml of 0.5um aqueous PSL. Before atomizing each 2ml of fluid, we purged the chamber with clean compressed air.

Step 2: Bill of Materials

The full bill of materials can be found here (the atomizing tab).

Materials include various tubing, connectors, filters/regulators, desiccant, and medical nebulizers. The majority of these parts were purchased from McMaster-Carr, which sold many of these components in 10 packs. You will have extras. If you choose to source similar components from elsewhere, the total cost can easily be lower.

You will also need a supply of compressed air (either an air compressor, or house air), some sort of syringes/pipettes to work with the aqueous PSL beads, and distilled water.


  • Power drill
  • Step drill bit (or other tool to make a ~0.6 inch diameter hole for the bulkhead fittings)
  • Optional: CNC Router (for making a wooden stand for the nebulizing setup)
  • Optional: 3D printer (to print a simple mount to hold the nebulizer in place)
  • Optional: laser cutter (to build a tray for desiccant)


All files are on Github

The contains information on the purpose of each file.

Step 3: Assembly: Preparing the Pneumatics

Connect the compressed air filter and regulator. The order is:

(push to connect barbed) -> (2 stage filter) -> (pipe nipple) -> (pressure regulator) -> (1/4in ID barbed fitting)

1/4in NPT threads should go in a maximum of 0.4 inches. (link) The barbed fitting at the output will supply clean air either directly to the chamber, or to the nebulizer. Additional filters can be placed between the pressure regulator and the 2 stage filter.

Connect tubing to the nebulizer so that the atomized droplets can flow into the chamber. The order is:

(nebulizer) -> (¾ in ID tube) -> (¾ in ID tube to 1/2in ID tube barbed adapter) -> (½ in ID tube)

A small pipe clamp is used to attach the 3/4in ID tube to the nebulizer. I forgot to order the 3/4in to 1/2in ID adapter, and machined a quick adapter from 3/4in Delrin that is attached with another pipe clamp.

The only reason we go from a 3/4in tube to a 1/2in tube is to have a more flexible tube that can be routed more easily. If this is not necessary for your setup, you can go directly from the 3/4in tube to an appropriate bulkhead fitting on the chamber. If you want to reduce the tube diameter even further, beware that the water may begin to condense (we initially tried to reduce down to a 1/4in tube and experienced issues with water condensing and clogging the line).

Step 4: Assembly: Mounting the System

Some sort of mount is helpful for holding the pneumatics. We cut a wooden stand on a CNC router with a backplate and feet. This file is also included on the Github repo.

Drill holes in the backplate to mount the various pneumatic components. The hole locations are not in the CAD file. We sized the backplate to fit all the components, and positioned the components in the real world to finalize their locations.

Step 5: Assembly: Desiccant Tray

A simple way to handle excess moisture is to include desiccant directly in the chamber.

Desiccant was placed in air permeable pods, which were positioned directly underneath our fans. We found this simple setup worked quite well, able to drop ambient humidity from ~50% to ~20% and hold it there. When nebulized water into the chamber, without desiccant the humidity rises rapidly to ~70%; with desiccant we can hold it consistently below 50%.

A limitation of this approach is that the PSL laden air is blown directly into the desiccant, which may increase the rate at which the particle concentration decays via sticking to the desiccant.

A more involved method is to build your own diffusion dryer. We created a first prototype of a low cost diffusion dryer; files are included here if you would like to experiment with it. However, the simpler method of mounting desiccant within the chamber worked well enough for our purposes, and is faster and cheaper to build.


  • Desiccant
  • 3mm sheet material (we used ‘econowood’, and cut it using a laser cutter)
  • Threaded rods
  • Nuts
  • Stretchy, permeable fabric
  • 5 minute epoxy

We will mount a tray of desiccant below the fan array, with four individual pouches of desiccant, one beneath each fan:

  1. Laser cut a mounting plate identical to the fan mounting plate. This will be the base of our desiccant tray. Also cut the desiccant tray files; discard the internal circles. Find all these files here, in
  2. Place the frame of the desiccant mounting tray on the top of the new fan mounting plate. This creates a pocket for the desiccant pouches to fit into.
  3. Using threaded rods and nuts, mount the tray about two inches below the fans, the pocket facing up.
  4. Take two ellipse cutouts and measure your stretchy fabric against them (do not stretch fabric). Cut rectangular pieces of fabric large enough to completely cover each ellipse. Glue the fabric down with epoxy along the edge of each cutout circle, and around the entire edge of the ellipse. A good way to do this is to mix the epoxy in a syringe, and use the syringe to precisely dispense it. Allow to cure fully, then cut away excess fabric.
  5. These ellipses will fit in the pockets of the mounting tray. Pour desiccant onto the fabric; it will stretch, creating a pouch of desiccant.
  6. Carefully slide the ellipses into the pockets of the frame.

You may need to change out the desiccant after each test, depending on how much water you use/how long you run the test. When it begins to turn green, replace it with fresh desiccant. You can then bake the used desiccant to remove the water, as per manufacturer’s guidelines, and reuse it.

Step 6: Assembly: Modifying the Chamber

We need inlets on the chamber to allow air (either nebulized PSL or clean air) to be injected.

First, drill two holes into the chamber, sized for the bulkhead fittings. Attach the bulkhead fittings to the chamber with the barbed end facing outward. We positioned the holes in the center of a long edge, below the fans and desiccant tray, so that it would not be blowing directly onto any of our sensors. Orings of the appropriate diameter can be added for better sealing.

To cover these bulkheads when not in use, we made plugs by cutting a small length of the tubing (~2" long) and filling half of them with silicone caulk. The silicone does not bond particularly well to the tubing, but seemed to be sufficient with the low pressure levels in the chamber. Alternatively, real tubing plugs can be purchased.

Note: the tubing is quite hard to remove from these particular bulkhead connector if pushed too far.

Step 7: Running Tests: Preparation

  1. Set up chamber. Follow the instructions in the “How to Build a Test Chamber for Air Particle Sensors” Instructable to set up the test chamber. We suggest testing either under a fume hood or outside. Some particles may escape, and you don’t want to breathe those.
  2. Prepare desiccant. Add fresh desiccant to the desiccant tray in the chamber.
  3. Prepare particles. The PSL beads are highly concentrated. Using a syringe, dilute one drop of particles in one liter of clean, distilled water, in a clean, lidded container (follow manufacturer’s instructions, or see here for guidelines from another nebulizer). Before adding to nebulizer, shake container vigorously to ensure particles are well mixed.
  4. Dispense particles to nebulizer. Transfer your desired amount of particle liquid or clean water into the nebulizer cup. The nebulizers are rinsed between uses, but we also kept each size of particle in a separate nebulizer/syringe in order to avoid contamination.
  5. Attach air system to test chamber. If you are starting with a compressed air purge, attach the tube directly from the regulator to the chamber. If you are running a test with the nebulizer, attach the clean/regulated output to the nebulizer, and attach the nebulizer’s exit tube to the chamber. Plug the unused bulkhead fitting.

Step 8: Running Tests: Execution

Follow the directions in How to Build a Test Chamber for Air Particle Sensors Instructable to run the automated test. While the test is running, you can clean the chamber with compressed air, inject nebulized water, or inject nebulized particles.

Our basic test followed this pattern:

  1. Begin automated testing script.
  2. Purge chamber using filtered compressed air, until sensors read near 0 particles and stabilize.
  3. Close regulator; remove tube from regulator to chamber; plug the open bulkhead fitting.
  4. Attach tube between regulator output and nebulizer; attach nebulizer output to bulkhead fitting.
  5. Open regulator and run until nebulizer is empty. 2ml of liquid takes about 4 minutes to process at 10 PSI.
  6. Turn off regulator and allow the particle concentration to decay naturally in the chamber
  7. Reattach the regulator to the chamber; plug nebulizer bulkhead fitting.
  8. Run filtered compressed air until the chamber is once again clean.
  9. End automated test, or repeat 3-8 with another particle size.

Step 9: Future Improvements

The setup as described above works, however there are pain points. We suggest some small tweaks if you are building from scratch:

  • Add valves to switch between clean air and PSL air.
    • Unplugging tubing is a hassle; use valves instead.
    • If no valves, change all plugs to push-to-connect style. Taking tubing off of barbed connectors repeatedly is a pain and can jostle the chamber.
  • Alternate quick disconnect for hose inlet.
    • The particular quick disconnect we used disconnected easily when bumped. Consider using a different one.
  • Extra filter.
    • If you have difficulty reaching near 0 count on your reference sensors, consider including an additional filter downstream of the two-stage filter to remove additional contaminants.
    • This filters down to 0.01um. It is expensive, however.
  • Locking top for desiccant assembly.
    • To avoid desiccant spills in the chamber, lock the top piece of the desiccant pouches down.
  • The current pressure regulator is only accurate to within +/-3% psi. A pressure-regulator intended for lower pressures may provide more accurate readings and fine-tuning than the one used here.

If you build a diffusion dryer from our specs, some known issues include:

  • Needs smaller O-ring on the diameter.
    • O-ring should be smaller so the endcaps are easier to put on/remove.
  • Dryer leaks air.
    • Part of this is that the nuts on the back of the end caps do not stay in.
  • Matching cabling length and tubing length is tricky.
    • Important to keep tension on cabling during assembly.