NEW UPDATED ARTICLE: CLICK
Below is an old method, THIS WILL VOID YOUR WARRANTY.
In the updated article is a method that won’t void any warranties
I received an email from Pekka (Thanks!) who found out about this problem in a video/comment.
Two distinct signs:
- Slow to respond to particle changes.
- Display only shows 001
The sensor used in the Xiaomi Air Purifiers is the: PMS9003M by Plantpower
This sensor uses a pin named SET. The function of that pin is to change between two modes:
In Active Mode: The Sensor will send data every measurement (2.3 Seconds when there are no big changes detected, or 200-800ms if large changes are detected)The small fan is turned on all the time.
In Sleep Mode: The Sensor will not measure automatically (only if a measure command is send) and the fan will only spin up if there is a measurement.
The hanging of the Display and the slow responses are cause by the the following things
1. My Air Purifiers contain a software bug where if you turn off the display (button on the backside of the Purifier) the Plantpower Sensor won’t go back in active mode.
2. Sometimes the sleep mode gets activated without clear reason.
Highly Likely assumptions:
1. Xiaomi averages the sensor data quite aggressively, this is a nice feature in location where the Air quality is very bad (China, etc)
It would not surprise me if they would change the averaging algorithm based on your location.
If I use the Chinese mainland app: do more averaging before displaying data .
If I use the Dutch app: Use a less aggressive averaging method.
This will result in less sporadic fan behavior.
2. Xiaomi uses sleep mode to extend the life of the small fan. Depending on the manufacturer of the 20mm fan, the rated life time will be around 25k hours (approx. 2.8 years running 24/7)
3. The air is clean, I live in the Netherlands and for the air purifier even getting above 10-20 is rare. If I solder or do other dirty work the sensor measures way higher values. My baseline in normal use is actually 1.
Luckily there is an easy fix!
1: Find and remove the sensor back cover:
Remove the back cover with a thin knife, screw driver, blade, whatever you can find. Pry at the same spot as in the picture, there is a locking mechanism there.
2.Remove the two screws:
Yes I already did one.
3. Remove pin 3:
Two ways of doing this: Yank it out, might damage the connector and the mating part pin. (you might not be able to put it back in the connector when desired)
The correct way:
Use a small needle and lift up the plastic feed on top of the connector. More info: https://www.youtube.com/watch?v=0G7iIwfuaJ8
4. Put a small piece of tape of the metal end on the loose connector pin. This will circumvent any short circuit dangers.
5. Screw everything back together.
6. You’re done! your sensor is now running in active mode forever!
Keep in mind: higher wear on fan! Xiaomi might make an to disable this option since both active or sleep mode can be activated via firmware.
Since I don’t really like this method of having loose wires and the amount of work that is needed to remove the pin, I will design a PCB With a cable that you can put between the sensor and the cable so that it will put the sensor in active mode. Thus removing the need to fiddle with the small pins.
Never expiring Xiaomi air filters: https://www.flamingo-tech.nl/2021/06/20/xiaomi-air-purifier-3h-modchip-is-here/