This content is blocked. Accept cookies to view the content.

Arduino: measuring PM2.5 and PM10 with Honeywell HPMA115S0

Some of the links on this blog are affiliated links. READ MORE

An essential aspect of measuring air quality is to determine the number of small particles. That is, things smaller than 10µm and 2.5µm. Such tiny particles are roughly the size of a microbe and can penetrate the lungs,  causing many health issues.

But how we can measure such small things? Most often, this is done via laser scattering: a laser light source illuminates small particles as they are pulled through the detection chamber. As these particles pass through the laser beam, the variations in light intensity are recorded by a photodetector. Those variations can be further analyzed to determine number and size of particles.

Amongst other sensors that use this technology lies the Honeywell HPMA115S0-XXX, a calibrated sensor with digital output via UART protocol. The sensor can determine PM2.5 and PM10 in concentrations up to 1000µg/m3, with an accuracy of ±15%.

When measuring, the fan draws the air in through the air inlet. Particles in the air go through the detection chamber, where they pass through the laser beam. The light reflected off the particles is captured and analyzed by a proprietary algorithm, and the amount of particles in the air is determined. The sensor is internally calibrated, so all we have to do is read the results on the UART interface,

The sensor can operate in the -10°C to 50°C interval, with humidity up to 95%RH, non-condensing, Its lifespan is about 20,000 hr in continuous mode.

The sensor has a very small connector. The datasheet specifies the mating connector as Molex 51021-0800. Be warned, that part no. is only for the plastic housing, it comes without pins.

Honeywell HPMA115S0-XXX particle sensor

Honeywell HPMA115S0-XXX particle sensor

I deeply hate crimping such smaller connectors, so I tried to find an easier alternative. And I have found some pre-crimped PicoBlade, Molex 06-66-0015 cables.

Molex ready made cable

Molex ready made cable

You might notice I haven’t populated the whole connector as some pins are not connected internally.

Honeywell HPMA115S0-XXX particle sensor

Honeywell HPMA115S0-XXX particle sensor

Now, the sensor is ready to be used. What about communicating with an Arduino?

1 2 3


  1. I was not able to get this to work at all. It looks like you are using softserial in order to declare Serial3 but you never do that. Is your code incomplete?

    • Hi Jon,
      The Flip & Click board I used is an Arduino Due clone. It has 3.3v logic levels, so it matches the requirements of the Honeywell sensor. Also, the board has four hardware serial ports, so there’s no need to use software serial.

Leave A Reply

This website uses cookies to give you the best experience. Agree by clicking the 'Accept' button.