IKEA Vindriktning Air Quality Sensor

It’s not a hole in the original cover, but a new part, printed on a 3D printer. I uploaded the model to PrusaPrinters a little while ago.
https://www.prusaprinters.org/cs/prints/132619-ikea-vindriktning-front-cover-with-oled

Inside the box is PCB from Czech makers - LáskaKit.

6 Likes

@TataGEEK nice that you got it working.

One others thing that I recognized: in have another one which I’m using with the original PCB attach and just reading the UART. I had also some struggles with the esp32 but since I was using RXD2 and giving the UART a name which I added in the sensor as well, at least this pm1006 was working.

Maybe that is on help for anybody …

It is really nice. Kudos to them.

I paste here a link just for reference to others:

What sensor do you have attached to yours? Is that the CO2 sensor from the website? That is a really steep choice for 1418 CZK…
Then what is your final bill at the end? Around 3000 CZK? Does it worth it?
The PM1006 makes it cheap and unreliable but the other equipment seems to be at a different level compared to the PM1006. Nice work!

1 Like

Here’s a side by side of three PM2.5 sensors I have.

  • A PM1006 from my Air Purifier
  • A sensor from my Xiaomi Air Purifier (type unknown to me)
  • A PMS7003

If I take 65% of the PM1006 I get in range of the other two.

1 Like

Why is that so blocky? I have an older Xiaomi Airpurifier and that reports when the value changes, even in a few seconds.

Not sure.

For my pms7003 I actually implemented some life extension routines.

Maybe they have done the same?

Thanks for adding the link. As a newbie, I can only add a limited amount of links and images to a post.

Yes, I used a high quality and expensive Sensirion CO2 sensor combined with a very inaccurate PM1006. It really doesn’t seem like a good idea. I will probably place the CO2 sensor completely outside the box. The sensor has a thermometer and hygrometer integrated in it, and measures 5°C higher because it is placed directly above the ESP. When you flash new firmware, the temperature will increase by 8°C for a short time.

I will probably place the CO2 sensor in a separate unit and get the data for the display from Home Assistant.

I fell for that trap too with a DIY device as a lot of people do the first time it seems.

As quick mitigation, I found that calibration (like in my charts a few posts up), can get temp within 1% (which is probably ok for most use cases) and humidity back to useful values too (~ ± 5%).

Apparently heat can come from and be transmitted by a number of sources (for example via the wires).

I think i found the issue with some devices not working when using them without the IKEA MCU.
I contacted Cubic about this sensor, and their engineer told that when the sensor doesn’t receive a request within 5s after boot it will go into PWM mode. (This information is missing in the translated datasheet of the PM1006, but it is actually the same as the PM1006K)

With that information I attached the scope to it when booting, and I noticed that immediately when the data lines become high ESPHome sends the request, so that got me thinking it might be that some sensors may require a little more startup time to be able to read the requests.
I added the following automation to my config and now it’s working!

  on_boot:
    priority: 240
    then:
      - uart.write:
          id: ikea #id of the uart bus used for the PM1006
          data: [0x11, 0x02, 0x0B, 0x01, 0xE1]

@Habbie can you confirm when the first data request is being send to the sensor?

And @Meinereiner can you maybe also try if this automation can make the “dead” sensor alive again?
I don’t have more sensors to test this “fix” on and I’m curious if it really is that simple.

7 Likes

How often does the sensor send out data?

I’m trying to build this thing, but I don’t get any data from the sensor. My Wemos Mini D1 is powered from the original PCB. The wemos works correctly. I have also attached a mhz19 co2 sensor. This one works fine too (update every 60s). The fan is also powered from the wemos. The fan works too.

I’ve connected the 2nd from the left pad to D3 on the Wemos. This should be correct, right? I have even replaced the wire and soldered it again, but still no succes.

Edit:
Never mind. I tried another pin D5 and then it worked fine. I guess D3 is one of those special pins.

1 Like

I’ve had the Vinketering running for a couple months now. But lately, occasionally it’s giving very low (stable) values. Like 1-2ug/m3. Before, it never went below 5-6.
I don’t have an air purifier or similar.

Does anyone experience the same with this sensor?

Yes, have experienced the exact same. But have also seen the stable readings go back up. I think that this is due to the air quality of the outside air that is influencing the air inside your home, which can change over time?

From what I have read, the air in NL should be around 5-6 ug/m3 on a “clean air day”. And I live in a city.
1-2 ug/m3 I’d expect to read in the middle of the jungle 1000km from any industrial machine.

I was thinking that maybe, since I smoke indoors, the sensor was getting a bias. Or it has autocalibrated itself while the air was dirty from sigarette smoke.

Take a look at this review of ikea sensor:
Ikea Vindriktning Air Quality Sensor Review and Accuracy (airgradient.com)

I am using the same combination of sensors as you do. For me the primary goal was CO2 so the Sensirion does its job. And the PM25 is just a bonus :slight_smile:

I use the same board from LaskaKit and transformed the provided example code to ESPhome configuration. So now it is perfectly aligned with HASS and no programming needed. If anyone would be interested I can share …

2 Likes

Ciao and thanks for your guide!
Did you cut the PCB from one side to the other (from the front to the back)?
And how ‘long’ did you make the cut? How much left and right did you go from R3 and R4?

Thanks again e saluti dall’Italia :stuck_out_tongue:

sure please do it tks

Take a look here:

full.yml contains LED automation for both CO2 (two upper LEDs) and PM25 (lower LED) based on value interval and intensity based on Sun position

co2only.yml contains LED automation only for CO2, all LEDs & constant intensity but the color change is fluent

1 Like

Hi I experienced exactly the same. From one reading to the next the sensor dropped the signal by ca 10ug/m3 and never recovered. I assume, since this is a optical sensor something is blocking the photodiode partially.
I wanted to buy a few more if these, but now i am hesitant. mine was running only for a couples of weeks. Would be really interesting to see how many people saw such a problem. Can the sensor be recovered by somehow cleaning it (.e.g. blowing air through it) Is there some experience with some other particle sensor. What is the expected lifetime of these?

Just a note:

The Philips Air-purifiers have instructions to clean the sensor regularly.

https://www.hardreset.info/devices/philips/philips-ac2887/sensors-cleaning/

What concerns me in your finding is how de the IKEA Air-purifiers work then?

And do they have any instruction to clean the sensor there? (I am assuming it has the same sensor.)