The Xiaomi Particle Counter Is So Inaccurate It Should Not Control the Purifier

Tech companies love to talk about how automation, internet of things, and the connected house are going to make the machines we use every day more convenient. But does it work? Anyone who’s used Apple’s Siri or “talk to text” feature knows that the promises of technology sometimes fall short.


Here’s the Xiaomi air purifier, the Mi2 to be precise.


And here’s the air quality readout coming from a small particle on the side of the machine.

The Promise

And here’s what it promises to do—detect how bad air is in your home, turn the purifier on when air is bad and turn it off when air is good. If it can do that, it means we can breathe clean air without the fan on high all the time. That’s awesome because it means less noise and less wasted electricity.


The Test

We previously tested how good the Mi2 purifier was at cleaning the air, and found shocking results: it left air unsafe 86% of the time. This time around, we wanted to do a more methodical test of the particle counters inside the Mi purifiers.

I tested the Mi1, Mi2, and the more expensive Mi2 Pro version against three particle counters. None of the Mi’s were new, but the Mi2 was relatively new, used to do just a few weeks of testing.


I set up the two Laser Eggs and the Air Visual Node on a chair next to the built-in particle counter on the Mi2.



I burned a cigarette in a closed 12m2 room and then turned on the purifier on high until the air got clean again (about 30 minutes from start to finish). That way we can test for accuracy from clean levels to truly toxic levels. I set my phone to take pictures of all the readings every 30 seconds.


How Accurate SHOULD It Be?

But wait, before I get to the results, I want to set expectations. I don’t expect the Xiaomi particle counter to be really accurate. It’s a cheap particle counter inside a machine that costs less than some of the particle counters I’m about to compare it to. We need to have realistic expectations.


So what are realistic expectations? I don’t ask for it to be great. All I ask is that that it works well enough to do what it’s designed to do—run the auto mode.



Even against modest expectations, the Xiaomi was off by a lot. When the air was bad, the Xiaomi was off by an astounding 218 micrograms.

To give a sense of how large that discrepancy is, the WHO 24-hour limit is 25 micrograms. The Xiaomi’s error alone was over 8 times the WHO limit.


Here’s what that looked like live.



The Xiaomi seemed like it almost stopped counting past 50 micrograms. At that rate, the Xiaomi was saying the air inside was at orange or “unhealthy for sensitive groups” when it was really in the purple “very unhealthy” range.


OK, so the Xiaomi undercounts—severely at times. It turns out that’s not the only problem. If we zoom into the low range, the Xiaomi was overcounting.


I suppose a 9-microgram discrepancy might sound like not a big deal, but on the other hand, the Xiaomi was overestimating the real number by a factor of 10.



The Xiaomi 1 Is Inaccurate Too

Maybe the Mi2 I got was just broken. Maybe the shipping guy dropped the machine on the way to my home and damaged the particle counter.


To test that possibility, I tested an older Mi1 against the Dylos Pro (which also scored well against the official PM2.5 numbers). The results showed the same pattern as the Mi2.



I also tested the Mi2 Pro, and it showed the same pattern. Thus, this seems to be a consistent problem with Xiaomi purifiers.


How Do We Know Those Other Numbers Are Correct?

Hang on, aren’t we assuming the Laser Egg and the Node are the right numbers? How do we know that those are the right ones, and the Xiaomi is the wrong?


Smart Air ran comparison tests of the Node and Laser Egg with official PM2.5 numbers for six days. The Node and the Egg correlated with the official PM2.5 at a very respectable r = .98, with an average error of 4.8 micrograms for the Node and 6.5 micrograms for the Egg. That makes me confident their numbers are a good approximation of the true concentration.


Bottom Line

The Xiaomi particle counter is extremely inaccurate—so inaccurate that it should not be used to control your purifier. The problem is, Xiaomi doesn’t give users a choice (which I explain below).


This Could Explain the Xiaomi Left Air at Dangerous Levels in Our Tests

Smart Air tested the Xiaomi Mi2 air purifier in a real Beijing apartment for 12 nights, and the results shocked me. I honestly thought it’d do a fine job. After all, purifiers are just fans and filters. But the Xiaomi left the air at unhealthy levels for 86% of the time.


The fact that the Xiaomi so severely underestimates pollution levels could explain why it so often leaves the air at those unsafe levels. I found similarly atrocious results when I tested the Philips auto mode, which convinces me that the technology behind air purifier auto modes just isn’t good enough yet. I would not use an auto mode in my home.

Why This Problem Is More Than Just an Accuracy Problem

The Mi2 is fine purifier when it’s on high. Our open-source tests show that it does a great job on high (check out the first three hours in the test graph above). But the problem is the Mi2 forces users to use auto mode. No matter what you do to the machine, it will switch to auto mode after three hours. Sounds weird, right? We asked customer service three times just to be sure.


That means unless you wake up every three hours during the night and switch the machine back onto high, you have to use auto mode and the particle counter that controls it. I hope Xiaomi fixes this simple design flaw, but until they do, I would not use a Xiaomi in my home.


Read more for extra data and methods. I also test the possibility that the particle counter is inaccurate because it’s on the inside of the machine and so sampling air that is different from air outside the machine.


Extra Data and Methods

Mi1 Test Method

I tested the Mi2 in the Smart Air office and the Mi1 at my home, so the room and methods were slightly different. In the office, I burned a cigarette to make the particle counts go up. At home, I don’t have any cigarettes, so I burned a piece of paper.


The size of the office room was 12m2. My room at home was larger, probably closer to 15m2.


Is the Xiaomi inaccurate because the particle counter is inside the machine?

I wondered if the particle counter is inaccurate because it’s on the inside of the machine and therefore not getting a good sample of air. One way to test this is to take the particle counter out of the machine, which isn’t very hard. Even when I did that, the numbers still consistently undercounted when pollution was high and overcounted when pollution was low. Thus, I don’t think the problem is the placement of the particle counter.


What are the Xiaomi numbers exactly?

One frustrating part of the Xiaomi is that it doesn’t label the air quality numbers. Are they micrograms, China AQI, US AQI, or something else? I can’t understand why they wouldn’t label the numbers.


This isn’t just a nerd concern. It could really affect the results because the relationship between micrograms and AQI isn’t linear.



If you dig around deeply enough through the Xiaomi, they do say that the numbers are micrograms. Thus, I compare micrograms to micrograms in the analysis.


Can the Xiaomi get below 10 micrograms?

The lowest number the Xiaomi registered was 9 micrograms, while the Node was registering 0.2 micrograms and the Eggs 1 microgram. That made me wonder, is it even possible for the Xiaomi to display numbers below 9? Is it programmed not to go below that number?


To get to the bottom of it, I turned on the DIY 1.1 and pointed it directly onto the Xiaomi particle counter. When I do the same test with the Dylos particle counter, the numbers go down to zero. But with the Xiaomi, the numbers stayed around 10 micrograms. Therefore, I think the Xiaomi is either registering phantom particles or programmed not to go below 9.

Original Data

I’m making the original data available as an Excel file download here.

Node Numbers

Why Were the Node Numbers Low?

In the main graph in the article, you’ll see that the Node numbers were lower than both of the Laser Eggs. The Node I used in the test was about a year old (although the Laser Eggs weren’t new either). One problem with older particle counters is that dust accumulates inside the machine and restricts the air flow. The guy behind tested an old Dylos and found it was undercounting when concentrations were bad. Then he cleaned out the dust inside with compressed air, and found it got up to higher numbers.


I suspect the same thing was happening with the Node in our tests. That can be a particular problem when the particle counter is subjected to really high levels of particulate, like in our cigarette tests.

Thomas Talhelm

Thomas is an Associate Professor of Behavior Science at the University of Chicago Booth School of Business and the founder of Smart Air, a social enterprise to help people in China breathe clean air without shelling out thousands of dollars for expensive purifiers.

20 thoughts on “The Xiaomi Particle Counter Is So Inaccurate It Should Not Control the Purifier

  1. I tested in my home two Xiaomi Air purifiers (2nd generation), and the stand-alone Xiaomi PM2.5 meter.

    The stand-alone meter is using laser technology, just like any other decent PM2.5 meter on the market. Yet, Xiaomi refuses to answer what technology lies behind the integrated sensor within the Air purifier (1st or 2nd generation). It is interesting to note, that on its 3rd generation of the air purifiers, Xiaomi ditched the old sensor technology, and switched to laser technology too (same technology as in the stand alone meter).

    From my experience, the stand-alone PM2.5 meter from Xiaomi seems to be accurate (when comparing to government PM2.5 meters in my area). Regarding the integrated meters inside the two Xiaomi air purifiers (2nd generation) that I’ve tested, one was constantly ~40 ppm higher than the stand alone meter, and the other seemed to be more in correlation with the stand alone.

    In any case, anyone who uses the Xiaomi air purifiers (2nd generation), simply purchase the stand alone meter if you want accurate control.

    1. Hi, I recently bought a Mi Air 2 purifier and was interested in buying the separate pm2.5 monitor, but so far I’ve found virtually no info on how much control and automation you can program the purifier via the data from the monitor. Can you tell me what is achievable with the two devices working together? I’ve already got a Laser Egg 2, but that has no way of controlling the speed of the Xiaomi purifier.

  2. I love your data and hard work. I curious though: 1. How does the Xiaomi standalone particle counter stack up?
    2. How does the mi2 performance rate if left at medium, hi, or even turbo?

    1. Hi Max! I tested the Mi1, Mi2, and Mi2 Pro. Unfortunately I only have a record of the Mi1 and Mi2 data. The Mi2 Pro was at a friend’s apartment, where I had access for a limited period of time. The pattern of the data on the Pro versus the Dylos and the Laser Egg was the same as the Mi1 and Mi2–when air was bad, the Mi2 Pro was vastly undercounting. When air was very good, it was overcounting.

      Does Xiaomi claim that the Mi2 Pro has a better particle counter? I’ve searched their website and haven’t found any claim about the particle counter. If you find a specific claim, let me know. Also, if you have a particle counter and the Mi2 Pro, let’s set up another test!

  3. Hi!

    You can easily find on the internet, that versions “Pro” and “2s” have new laser particle sensor. I’d hope it is far more accurate than the old sensor in the version 2. Would be great if you could test it somehow…

    1. I own Xiaomi Purifier 2S with PM 2.5 display, it’s showing really low values most of the time (like 007) and it’s quirky, reading from low to high in short intervals while nothing changed indoors. It’s showing 001 last couple of days… seems like malfunction after 3 months.

      1. My story is similar to as MATIJA’s. Received Xiaomi Air Purifier 2s few days ago. It shows 001 almost all the time. However, when smoke is around or spraying something near it – it goes to 70-200-600. Then in few minutes goes back to 001. Looks like working, but don’t understand how my indoor air could be so clean, just don’t believe it.

        Any solutions or comments appreciated.

  4. I can confirm that the air purifier 2 never shows less than 9. As for the issue with the AP2 going back to auto after 3 hours it should be possible to circumvent this using the app’s automation options. E.g. set it to change modes at certain times. Not an ideal solution for sure, but should work. I just got the Xiaomi laser pm2.5 sensor and it generally shows far lower values than the AP2 built-in sensor. The sensor is linked to the AP2, but unfortunately the automation options that deal with pm2.5 concentration don’t seem to work very well. When I set a rule that the AP2 should turn on when PM2.5 levels exceeded 15, the rule wasn’t triggered when it reached eg 17. However when I set the limit to 35 and i sprayed some shoe impregnation spray near it or burned some paper it worked without issue. It seems it has problems with the smaller numbers or something.

    1. Right on–our tests found that the Xiaomi particle counter had problems both in low AQI range and the high AQI range. My guess is similar to yours–for some reason, they seem to have programmed it not to go below a specific number.

  5. Xiaomi also offers a standard alone monitor. Will this essentially be the same tech as found within the air purifiers? If so I’m worried about wasting my money.

    I’m debating whether to buy the xiaomi air monitor or the laser egg. The reason I’d prefer the xiaomi is because I already have a fair amount of stuff in my house from them! It’ll all be the same smart system, rather than using yet another APP for the laser egg.

    Does anyone have any ideas?

    1. Good question Chris. We’re yet to actually test the standalone Xiaomi Air monitor (although it’s something we want to do soon!). Ultimately the sensors in these devices are all the same (they cost around $5-$10 per sensor) but what’s different between each monitor is the calibration and testing of the devices. I know this is something Laser Egg have worked on a lot (see the article we wrote about how humidity affects the Laser Egg), but I’d be less sure about the Xiaomi (since they’re a company that puts out 101 different devices). Having said that, I have no doubt it’ll be ‘reasonably’ accurate, but accurate enough to ensure your air is clean 100% of the time… that’s a difficult one to answer.

  6. Hello,
    just read the article out of curiosity, and well some points are somehow weird. I belive the sensor is quite accurate, if they build in what they claim to use. Purely from the technical PoV.
    But going by your data it is more likely, that the software used is wrongly programmed. They write to use shinyei sensors, which do not give an output in any unit but in an voltage equivalent between around 0.5 and 5V. So going by this, the Data you get is most likely the output Voltage of the sensor. Most likely the developer for the purifier took that output directly and fed it to the software as input.
    And herein lies the problem, going by your data he most likely used the wrong stepping for the adc in the control unit, which resultet in a voltage output in far too high steps.
    Well to say it in an easy way, the got a dounce to programm the software and set the electronics, and in the pro version they most likely simply used a sensor which gives digital output and therefore does not have that problem.

    1. Rolf, you’re right that the software-side of particle sensors is often the most important, since there are so many variables at play especially when you’re converting from a particle count (which the sensor gives) to a concentration or AQI (which is what we’re most often used to). In some of the more accurate air quality monitors we tested, they all use fine-tuned software to adjust for different variables.

      Having said that, there are other issues with the sensor in the Xiaomi, firstly that it’s located right next to the purifier. This means you’re only getting an indication of the air around the purifier, as opposed to on the other side of the room. This can be dangerous if you’re using the Xioami in auto-mode, where the sensor is reading clean air (near the machine) but the truth is the air on the other side of the room is not clean.

  7. Moin Moin,

    thank you very much Thomas for your interesting and well written articles. I share the same observations with my Mi2 purifiers but comparing the Mi2 Pro to my laser egg and Xioami particle counter, the results fit much better and also the MI Pro goes down to 1.

    A tip for all Mi purifier users: I only use my purifiers in manual mode! How does it work? You just have to program under automation: If the PM2.5 concentrations is below 500 (which means always), switch to manual mode. This is how you can prevent them to switch to auto mode after some hours automatically!

  8. I got my device on December 2018 and by default the custom mode works at maximum speed and does not switch to automatic after 3 hours. It showed 47 when I put it outside (correct number was 170). Inside I’ve seen it go as low as 5.

Leave a Reply

Your email address will not be published. Required fields are marked *