Bad PM readings on Sensirion SEN54?

Hey all,

Just picked up a SEN54-SDN-T but I’m having some issues with the PM readings. Temp, humidity, and VOC all come back with valid readings but all of the PM readings are super high. PM25, PM4, and PM10 are all currently reading 1462.1 ug/m3 and PM1 is around 1408.0. Took the sensor outside where PM2.5 is currently hovering around 3 ug/m3 and get similar high readings.

I’m wondering if there is something I need to know about this sensor that I’m missing or if I just have a bad unit. Anyone have experience with this that can point me in the right direction?

I’m not familiar with this sensor but found this document, Sensirion_Handling_Instructions_SEN5x.pdf . Any chance your sensor had exposures as listed which may be causing these high readings ?

Hi Steve,

Thanks for the reply! If the sensor was exposed to any of those substances it wasn’t at my home. The sensor went straight from the static wrap to my workbench when I received it. If I understand the document you linked correctly close contact to the listed volatile chemicals would cause drift in the temp, humidity, and voc sensors – these sensors are working and match my other temp and VOC sensor readings.

It’s the particulate sensor that’s reading much, much too high. Also concerning is that the PM2.5, 4, and 10 readings always show the exact same number, and the PM1 reading is always a bit lower with the same decimal point reading as the others. My other particulate matter sensors usually show somewhat similar readings between PM25. 4, and 10, but never exactly the same numbers like this sensor.

Something seems off with this unit to me.


What mechanism was used to interrogate the sensor and display the indicated readings? Prior to concluding the problem is with the sensor itself, I’d suggest looking at the raw serial data to check whether what’s shown is an accurate representation of what the sensor’s sending.

I’m currently using the esphome framework on a esp32-s3 microcontroller communicating over i2c.

Are you suggesting I use UART and write some C code to stream the serial data? Does i2c data usually get corrupted in stream even if the other sensors are reporting the correct values?

I was thinking use of a 'scope, logic analyzer, breakpoints, or some other tool that would permit looking at the I2C transaction directly. If the actual bit pattern represents “X” and your display reads “Y” then you know the problem’s in software, rather than the sensor itself.

Got it, thanks Rick. Unfortunately I’m just an amateur and I don’t have those tools available at the moment. Would absolutely love a scope though!

A few other things to consider as well. Have you cleaned the internal air passage on the sensor, checked that the laser is functioning properly, and/or verified that the fan is operating properly? One wouldn’t expect a new device to have a problem with this, but it’s still worth checking. I see there is an instruction to start fan cleaning and there are bits to check for proper operation in the status register. Perhaps something is blocking the detecting portion of the sensor?

For anyone else that runs into a similar issue:

This ended up being a bad PM sensor in this unit. I purchased another, plugged it into the same board/cable, and readings are all normal.

Thanks to all that responded.


1 Like

Thanks for the response David!

I did run it through several cleaning cycles and assumed the laser was working as the readings did change in response to particulates. In the end this looks to be a bad PM sensor as the second one I purchased immediately returned sane readings.