With the ads on air purifiers that often rely on expensive proprietary HEPA filters, I purchased an air quality monitor for curiosity to see what our indoor readings are like. The first meter rarely went above 10 except while frying food, so just to rule out a dud, I purchased another that can also log data, as shown on the right.
This PM2.5 monitor is based on the low cost Plantower PMS5003, which can also measure PM1.0 and PM10 particle sizes, unlike the first that clearly gave estimate readings. However, I ran into a few problems – It did not come with any software, I could not set the clock and got nowhere trying to contact the seller. The hygrometer also stopped working, discussed further down.
With no branding or model number to search for, I tried countless search terms trying to get hold of software. I either ended up with software for other data loggers that also use the Plantower module or just landed on unanswered Forum and Reddit threads looking for the software.
I then tried another tactic by searching for other sellers of this device. Sure enough, after checking just a handful of listings, I came across a Banggood listing (search for 1615550) that also provides a software link. Update 22 Sep’24: The listing has since been removed and I have uploaded the file here.
Installing the USB driver and getting its COM #
When the device is first plugged into a Windows PC, it will appear as a USB Serial device with no driver in the device manager:
To install the driver and get the COM port number:
- Connect the air quality monitor to the PC.
- Go into the Start Menu, then click the Settings cog wheel.
- Go into Update & Security.
- Click Check for updates, then wait until this completes.
- Go into View optional updates (below the Check for updates button).
- Go into Driver updates.
- Tick the “wch.cn – Ports” option, then click Download and install.
- When this completes, close out of Windows Update.
- Right-click the Start Menu, then click Device Manager.
- Expand the Ports (COM & LPT) section.
- Take note of the COM number for the CH340 entry:
Setting up the software
- Download the host computer software from the above Banggood page.
- Use 7-Zip or WinRAR to the extract RAR file into a folder.
- Launch the PM25.exe file inside.
- If a Chinese message box appears, click OK.
- In the configuration screen, choose the COM# noted in the above driver steps.
- In the second field, enter: 115200
- Click the Chinese button to proceed.
- If all goes well, it should now display a table of values as shown below.
- To change the interface to English, go into the right end menu:
Setting the date, time and logging interval
To my surprise, there is no ability to adjust the clock directly on the monitor. This requires the software sync the clock with the PC. The same applies for the acquisition interval before it starts logging data.
Go into the Equipment menu, then select Setting:
Time interval for real-time: This specifies how often to update the live readings while the software is running with the device attached. I suggest leaving this as 1 second for precision as this does not consume any storage memory on the monitor.
Time interval of acquisition: This specifies the interval for storage data on the data logger. From trying to extract previous readings, it takes roughly 1 minute per 2000 readings, so avoid setting this below 60S or it will take a long time to extract the readings.
Setting Time: Click the Calibration button to synchronise its date and time with the PC’s clock.
Importing historical data from the monitor
Once the logging interval is configured (see above), the PM2.5 monitor will automatically store current readings at the set interval, as long as it receives power from its USB port. It has a small battery to keep its real time clock running while unplugged.
To import the data, go into the History menu and click Update. It will display a message asking to confirm the downloading of its historical data:
To get a time estimate in minutes, divide the figure by 2000. For an acquisition interval of 60 seconds, it will accumulate 10,080 readings per week of operation. This would take roughly 5 minutes per week of data to extract.
To export the data to a file, click the Export menu, then specify a file name to save as.
Deleting historical data on the monitor
I suggest deleting the historical data after importing the data. As there is no option to only import from a specific date range, the next import will result in a longer waiting period.
To erase the stored data on the monitor
- Go into the History menu.
- In the pop-up asking to download historical data, click No.
- Click Delete, then click Yes to confirm.
How to open the file in LibreOffice
When opening an exported file in LibreOffice or OpenOffice Calc, it displays the following General input/output error:
This is due to it using some Microsoft Excel style tags that don’t appear to be compatible with Calc. Remove these style tags to fix this issue.
First make a backup of the xls file, then open it in a text editor such as Notepad++:
Delete everything between the opening and closing Styles tag lines as shown above. Save the file. It should now open in Calc:
To change its real time clock battery
If the monitor loses its time while unplugged, its battery has likely depleted. There is a CR1220 battery under the small circuit, that needs to come out:
Before removing board, take a picture to refer to later as it must go back in with the same orientation to avoid damage. Carefully pull this small board up until its pins release from the lower board.
Release the CR1220 battery by pushing its metal retainer using a butter knife:
Before inserting the board, orient it correctly by looking back at the picture taken earlier. Ensure all pins align up with the connector at each end, then gently push both ends of the board down.
Temperature / Hygrometer sensor note
There is a ASAIR AM2120 sensor on top of the module that reads the temperature and relative humidity. One thing to beware of is that it is completely exposed at the top as highlighted below:
When I first received the data logger, its relative humidity reading was around 5% above my other hygrometers, e.g. 60% vs 55%. I blew into the sensor thinking that there may be a spec of dust or debris inside, but this added another 5% to its readings, making it read 10% too high.
I tried putting a drop of water in this module and shaking it out, then letting it dry overnight. This turned out to be a bad mistake. When I powered it up, it read 99% and remains stuck at that figure. I have now ordered a replacement ASAIR AM2120 module to replace it with.
With just a drop of water damaging this humidity sensor, this means that the module must be protected against water droplets. For example, when carrying to/from a car while its raining. Similarly this should not be near a sink or open window where droplets could land on the sensor.
Technical information:
For the nerds or anyone curious, these are markings on the chips.
Data logging board:
CH340G – USB to serial
DS1302Z – Real time clock
DAY12.000G – Unknown
WINBOND 25Q64JVSIQ – 64Mb Serial Flash Memory
Temperature / RH sensor: ASAIR AM2120
PM2.5 Sensor: Plantower PMS5003
Awesome! I’ve been looking for this for ages. Can’t wait to try it! There are so many ‘monitors’ on the market, but unless you are willing to spend $500+, none of them except this one seem to have external data ports on them and as far as I can tell, you are the first person to create a useable interface to them. You’re a champ mate! 🙂
I wonder, is there a reasonable means of porting a live stream from this device to a web page to enable live monitoring and data capture/storage/display over time of the data?
A few years ago, a teacher in Montana posted a project on YouTube where he did something similar using a more primitive AQI sensor that worked well, but didn’t permit data capture — only a window of the live stream over an hour or two which disappeared as the data rolled out of the window. I’ll see if I can chase it up and repost it.
Unfortunately I don’t know of any way of live streaming its data without involving a web developer, which likely would outweigh the cost of a PM2.5 monitor with this capability.
Another option would be to get the Ecowitt WH43 PM2.5 monitor and its Wi-Fi gateway GW1100 (which also measures humidity, temperature and barometric pressure). The two together cost about €129 here and Ecowitt have a live monitoring portal that shows graphs from its instruments by day, week, month or year. They don’t charge for the data logging. While I don’t have their PM2.5 monitor, you can see what their web portal looks like from our Ecowitt WS2910 outdoor weather station on the link below (I’m in the North West of Ireland). Their WH43 PM2.5 monitor can also pair with most of their weather stations including the model I have.
https://www.ecowitt.net/home/share?authorize=77RH45
Interesting! Looks a lot like my Tempest weather station, but the display of the Ecowitt from their software is much more pleasant to look at. I find the Tempest rain monitor to be quite untrustworthy though. It uses an algorithm that incorporates vibrations from the raindrops and also data from the local rain radar forecast, so you don’t get false positives from things like a bird sitting on top of it (which occurs frequently!) or from strong wind gusts that shake the mast.
Here’s a link to my Tempest weather station in Geraldton Western Australia, 450km north of Perth. https://tempestwx.com/station/59893/grid
So, In order to set up the PM2.5 sensor that can upload to the web and log the data, it’s your understanding that all I’d need is the PM2.5 Sensor and the WiFi gateway? https://shop.ecowitt.com/en-au/products/gw1100?variant=41418888020130&utm_medium=product_sync&utm_source=google&utm_content=sag_organic&utm_campaign=sag_organic&gad_source=1&gclid=Cj0KCQjwi5q3BhCiARIsAJCfuZlqzabh9HLOGdoXwWZUf5TjL3G4Op8ekwzX_UfFMkBb2fDudXBNkWsaAqgLEALw_wcB
It’s showing only USD$30 for the gateway and USD38 for the Oceania 2.5 sensor. That’s only about AUD100 for the two!
I didn’t realise how sensitive the vibration based rain sensors are from birds and wind as I was considering going for one whenever our outdoor unit reaches the end of its life. The Ecowitt outdoor unit we have has the mechanical type rain gauge that relies on rain droplets filling and tipping something like a balanced spoon inside to record an increment. The only time we had false rain measurements is during very stormy weather or running a garden sprinkler too close.
I am surprised how much cheaper the 433MHz model is compared to the European 866MHz model, great value even with the gateway.
I suspect that the Oceania version is discounted because they haven’t sold many of them and are trying to clear stock…
The rain gauge on the Tempest is improving over time with software updates but when I first got it, during heavy rains (which we rarely see here) it was sometimes off by nearly and order of magnitude (over-estimating) compared to a physical rain gauge nearby. This past year I haven’t seen anything so bad but it led me not to trust the accuracy compared to the bucket tipper like yours and like the Davis system I had previously which was prone to all manner of physical faults from sand and salt, being so close to the sea and it being extremely windy here for much of the year. I was forever replacing bearings, switches, sensors, etc. Although the thing I miss is being able to look up at the mast on the roof and see the wind vane to determine wind direction. I initially mounted the old Davis anemometer and wind vane of the same mast as the Tempest, but the vibrations created by the anemometer were influencing the Tempest rain gauge readings and I had to take it down!
I think I’ll order the Ecowitt setup today. I’ll keep you posted on how it goes. Thanks for the info! 🙂
Just placed the order. Wow! Only USD82, including shipping. Bargain!
BTW, was going to ask you — your little standalone PM detector — I have one like it as well. I often notice that when I switch to the screen to view the smaller particle counts, I often see numbers that are much greater than the PM2.5 and PM10. Is it the same where you are? I’m in a town that has a large port that is the end of the train (and truck) lines for the big iron ore mines, magnetite, mineral sands and other stuff from up north of here that ships all their raw material off to China. They claim all the sheds are negatively pressurised and that they thoroughly filter the air before it goes out of the sheds. We also have very strong seabreezes from about now until May every year with lots of fine sand blowing around. Despite all this, the PM 10 and PM 2.5 number tend to be well below safety standards most of the time (often in the single digits), but I do wonder about those high numbers I see on the smaller particle data; whether those are accurate and whether they are of concern for health.
I have had this detector for some time, but it does not work properly with the PM25 program, e.g. it does not show the current temperature at all. Maybe I have an older version of the program and firmware? Where can I download the latest available version of the PM25 program and how do I need the firmware?
My archive file is named: 20191218210409MR-pm2.5.rar
If you have a newer version please uplink for me. thanks
That is the same version I have. The original Banggood listing that linked to the software has since been removed, so it’s likely there may be no further updates and was lucky to download the software at the time.