Extracting PM2.5 data from new Honeywell HPM Particle Sensor via serial UART

BartBkkm:
I am encountering exactly the same problem as described below. Did you already find a solution now, Latsbben?

I would also like to try the solution as quoted below, but I can't seem to figure out how to disable this 'Auto Send'. Can anyone explain this to me?

What kind of Arduino are you using? The TX/RX inputs on the Arduino Uno are using 5V while they sensor uses 3.3V. This requires the use of something like the level shifter I mentioned above here.

As far as disabling AutoSend goes, this code
here should take care of that in line 39. "void HPMA115S0::Init()" is used when you declare "hpma115S0.Init();" in your Arduino code.

I've gotten mine working great! I'll post the code and pictures of how I've wired everything for you all later on tonight in about 10 hours after work.

I used the 5V and ground port of an Arduino Uno to power the honeywell and the RX and TX ports of an Arduino Feather 32u4 to read the honeywell. The Arduino feather ports also only use 3.3V right?

I'm really curious to see your code and setup.

Thank you for your reply!

Hey All,

I found my error last week.
Because the honeywell sensor communicates in the form of multiple serials, and the arduino UNO only has one serial port, a virtual serial port is defined in the code as found on GitHub.

I did not understand this, and plugged my RX/TX wires in the regular serial ports (pin 0 and 1 of the Arduino feather) and not in my virtual serial ports (pin 10 and 11 as in the code available on GitHub Lattsben mentioned earlier.

It is now fully functioning as intended!

AmphenolSensors:
If you only need low/med/high indication I'd suggest a IR LED based solution like the SM-PWM-01C we make, which is mainly used in the Chinese Air Purifier market, we've even put some code on Github for it outputting the US EPA Colour Codes for PM2.5.

Later this year we will have our own laser based solution (like the Plantower and Honeywell solutions mentioned), and I've already got the Arduino code so will publish when we launch. SM-UART-01L will be part number, it'll be in Mouser, Farnell et al when launched.

Just wondered about an update on this - can see the datasheet on this on your own site, but haven't seen this sensor out in the wild yet? Is the sensor and arduino code available yet?

Hi folks,

I just wanted to share my experience. I've wired the HPMA115S0 sensor to an Arduino Nano (chinese clone to be fair...) and it works well.

  • I've used two voltage dividers (1K/2K, one for RX & one for TX) to convert the 5V logic level from the Nano to the 3.3V used by the sensor
  • The code comes from Felix Galindo (here on GitHub), big thanks to him, it saved my day !

I've attached a pic of the wiring (edited on KiCAD). The typical answer I got from the sensor is
PS- Reading Particle Measurements...
PS- Sending cmd: 68 1 4 93
PS- Waiting for cmd resp...
PS- Received valid data!!!
PM 2.5: 6 ug/m3
PM 10: 7 ug/m3
PS- Reading Particle Measurements...
PS- Sending cmd: 68 1 4 93
PS- Waiting for cmd resp...
PS- Received valid data!!!
PM 2.5: 7 ug/m3
PM 10: 8 ug/m3
and so on....

The values are really consistent, it goes to 0ug/m3 when I put the sensor in the cleanroom (a real one for microelectronics) and 8-9ug/m3 when I take the device outdoor

AmphenolSensors:
If you only need low/med/high indication I'd suggest a IR LED based solution like the SM-PWM-01C we make, which is mainly used in the Chinese Air Purifier market, we've even put some code on Github for it outputting the US EPA Colour Codes for PM2.5.

Later this year we will have our own laser based solution (like the Plantower and Honeywell solutions mentioned), and I've already got the Arduino code so will publish when we launch. SM-UART-01L will be part number, it'll be in Mouser, Farnell et al when launched.

Hello,

Recently i purchase a Telaire SM-UART-04L and i need help to find a simple code for decode uart communication with an arduino.

Can u help me please?

Thanks