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.

I tested the promise of automation in the Xiaomi air purifier, the Mi2 to be precise.



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


The Promise

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 think a reasonable expectation is 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 basically stopped counting past 50 micrograms. At that rate, the Xiaomi was saying the air inside was at the orange AQI level (“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 there too.


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. Who knows? 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 Separate  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.


The Sqair air purifier Kickstarter

Leave a Reply

17 Comment threads
26 Thread replies
Most reacted comment
Hottest comment thread
29 Comment authors
Notify of

this is such a shock to know about Xiaomi air purifier since I heard that Xiaomi air purifier is such a big hit and sells a lot!

Or Cohen

What about the Xiaomi MIJIA Air Quality Detector?

We’re yet to test this air quality monitor, but hope to get round to it in an update to this study. We’ll post an article in this Knowledge Base once it’s done!


Thank you!


Mine goes down to 1 on heavy rain days when outside air pollution is really low. Usually, it’s around 9/14. I’m in Guangzhou’s downtown, which is way less polluted than Beijing

We’ve found that humidity can seriously affect the accuracy of air quality monitors. In fact, we had one Smart Air fan run some tests in Guangzhou with the Laser Egg so we could compare it to Beijing. Here’s our article on on how humidity affects air quality monitors


Hi all,

I am just discovering these analysis, wow, I am impressed.

Do you think there is a way to calibrate a Xiaomi Air Purifier ?

I just received a Xiaomi Air Purifier Pro EU version, and since I started it, it shows 001. I have a netatmo sensor (weather station) which indicates 657 ppm in the same living room.

OK, I live in Paris suburbs in France, it’s quite windy today, my window is opened, but I can’t believe the air is so clean in my apartment.

What do you think ?

Thank you very much.


Same for me. When I started it it was around 10 ppm, now we had a rainy days and now it sits at 1-3 ppm. So in auto-mode it is not filtering at all. Only way is to set it manually, I usually do this before sleep so air in the room is clean.


What was the trading at the very start? Should be same / similar to outside


I got the Mi Air 2s. It sits at 1 microgram when I got it. Stayed there most of the day and I thought it was busy. I did wave something dusty near the sensor and got up to 5. When cooking in an open plan area, filter in lounge, I get a 2. Suspect something wrong here? As you say useless in auto mode. Lucky I have a schedule which can control it to the doped and times I select. Unfortunately there only one speed for user/manual mode.
Otherwise it’s great.


You can fix it higher by using tje Xiaomi Mi Home app, join your purifier to the network, add the purifier, then select, say 60% power, on favourite mode, then use automation to add a rule to say

when (null), run Favourite always on

Then whenever you select Favourite, it will stay there at 60% forever