PMS3003 PLANTOWER How to read data and use humidity (Air Quality)


I’m using Arduino UNO and trying to make work the sensor PLANTOWER PMS3003

I used same code here to read my data.
It’s working, i get the data on serial but I’m not sure it’s exact because is it compatible with this sensor ?

I know PM2.5 measurements should use humidity (and temperature) to be more precise so I have DHT11, I have another code that allows me to read its data.
I would like to know which equation to use for PM2.5.
(If you have for PM1.0 and PM10, give too but I’m more interested by PM2.5)

I put code in attachments.

Data sheets
Docs 2

Thank you for helping me.

PM2_5Sensor_for_uno.ino (1.87 KB)

serialReadPMValue.cpp (4.13 KB)

serialReadPMValue.h (1.49 KB)

No one knows ?

Ambient compensation for PM is quite difficult, as it depends on the particle composition. Besides PM measurements from monitoring stations are taken at 20C and 50%rH (the weighing part of the measurement), if I remember correctly.
The PMS3003 (aka G3) sensor gives you 2 sets of values.The datasheet describes the 1st set as “Read the to value is a TSI For standard data” and the 2nd one as “Reading to the value of value is an atmosphere as the standard”. After looking at the data coming from from my unit, I interpret the 1st set as “at ambient conditions” and the 2nd one as “at standard atmosphere”. Therefore, if you want to compare with a measurement station you can use the 2nd set.
Please let me know how your experiment goes.

One more thing. The code from dfrobot is for a PMS1003 (aka G1) sensor. The main difference is that the PMS1003 messages are 32 byte long and the PMS3003 are 24 byte long. The relevant part of the message has the same format. You can find some info about the hardware here.