IKEA Vindriktning Air Quality Sensor

Are you using mqtt and api at the same time? Is that possible?

I tried to disable the mqtt and same result tried with nodemcu and a d1 mini, same, this are the logs:

[10:36:16][C][uart_esp8266:075]: UART Bus:
[10:36:16][C][uart_esp8266:080]:   RX Pin: GPIO4
[10:36:16][C][uart_esp8266:081]:   RX Buffer Size: 256
[10:36:16][C][uart_esp8266:083]:   Baud Rate: 9600 baud
[10:36:16][C][uart_esp8266:084]:   Data Bits: 8
[10:36:16][C][uart_esp8266:085]:   Parity: NONE
[10:36:16][C][uart_esp8266:086]:   Stop bits: 1
[10:36:16][C][uart_esp8266:090]:   Using software serial
[10:36:16][C][logger:189]: Logger:
[10:36:16][C][logger:190]:   Level: DEBUG
[10:36:16][C][logger:191]:   Log Baud Rate: 115200
[10:36:16][C][logger:192]:   Hardware UART: UART0
[10:36:16][C][pm1006:016]: PM1006:
[10:36:16][C][pm1006:017]:   PM2.5 'Livingroom Particulate Matter 2.5µm Concentration'
[10:36:16][C][pm1006:017]:     State Class: 'measurement'
[10:36:16][C][pm1006:017]:     Unit of Measurement: 'µg/m³'
[10:36:16][C][pm1006:017]:     Accuracy Decimals: 0
[10:36:16][C][pm1006:017]:     Icon: 'mdi:chemical-weapon'
[10:36:16][C][captive_portal:148]: Captive Portal:
[10:36:16][C][web_server:142]: Web Server:
[10:36:16][C][web_server:143]:   Address:
[10:36:16][C][ota:029]: Over-The-Air Updates:
[10:36:16][C][ota:030]:   Address:
[10:36:16][C][api:095]: API Server:
[10:36:16][C][api:096]:   Address:
[10:36:16][D][debug:023]: ESPHome version 1.20.4
[10:36:16][D][debug:025]: Free Heap Size: 31576 bytes
[10:36:16][D][debug:053]: Flash Chip: Size=4096kB Speed=40MHz Mode=DOUT
[10:36:16][D][debug:190]: Chip ID: 0x007F9507
[10:36:16][D][debug:191]: SDK Version: 2.2.2-dev(38a443e)
[10:36:16][D][debug:192]: Core Version: 2_7_4
[10:36:16][D][debug:193]: Boot Version=6 Mode=1
[10:36:16][D][debug:194]: CPU Frequency: 80
[10:36:16][D][debug:195]: Flash Chip ID=0x001640EF
[10:36:16][D][debug:196]: Reset Reason: External System
[10:36:16][D][debug:197]: Reset Info: External System

The log stops there and nothing happens

it’s like he’s not even using the p1006 component!

@Soloam, can you share your wiring? I have a feeling that you might have wired the PM1006 sensor to a different GPIO and that’s why you are not having any data.

Otherwise, the front LED lights up on the device? And does the fan spin up as well?


  • Fan spinning
  • Led on the device lighting green
  • ESP boots

I tried to remove the pins and solder directly to the esp, to discard bad connections, and same!

I tried to install the beta, to rule out external component problem, and the result was the same!

Do you have a multimeter? Can you check that do you have any continuity between REST and the pad next to it ISPD? And between REST and any other pads? Do this without powering the device or anything.

Use the diode test function for this.

If you don’t have any continuity then power on the device and try to measure DC Volt between Ground and REST, or connect a logic analyser, but that is something what not everyone keeps in their drawer.

So make sure that you haven’t shorted the REST with any other pad, and you have signal output on REST.

Check that your cable is good as well and it is not broken inside.

These are some basic troubleshooting steps what I would do to verify what is going on with the electronics.


  • I tested the continuity and none exists between pads
  • I checked the Volt in REST and Ground and I get 0.71 (2 scale) and 0.07 (20 scale)…
  • I have continuity between REST and D2 in the D1 Mini


Can you see any change in that? (I am not sure that the multimeter can pick it up or not.)

I see minor changes, but don’t know if is errors in the multimeter

Should be, that’s how the UART should work. If you would see a constant DC, that would mean no data output. Regarding the range of 0.7 V, I am not sure that it is the right level, I haven’t tested mine. But it seems to be all working fine from the device side, so must be something with the ESPHome config or the ESP itself.

Have you tried to change the GPIO in the settings and move your cable there?

Turns out there is room for a ESP01 and a small 5V->3.3V converter beside the main control board. That way it cannot disturb the airflow in any way (not that I know if it matters that much. Had to cut off a small part, though (red circle).

What a great little discovery this interface possibility is! Pleasantly surprised these IKEA sensors are only around $10 here in Norway.


It took me a while this morning until I realised where you fitted that two boards. It looks really good!

I’ve just noticed this.

Try to change it to this if you use a Wemos D1 Mini:

board: d1_mini

I had node mcu because I had tested with one node mcu, but now I have it correctly set to d1_mini…

I’m starting to accept that probably the problem is in the Ikea sensor, and not on my side! I can’t understand why it would not work

Someone posted a similar issue at @Hypfer’s original GitHub repo.

If it wasn’t you then some other people has similar issue like you.

I am really sorry, but I cannot think of anything else.

At last, I would try to strip down to bare minimum the config, or try another sensor with the ESP, but really I don’t have any other ideas.

This is a great hack. Got yesterday last two devices from the nearest IKEA :smiley:

I tried to use the statistic-graph with this but the sensor is not available. I did set state_class: "measurement" to the sensor but still nothing.

Reading https://developers.home-assistant.io/docs/core/entity/sensor/#long-term-statistics I get the impression that the device_class should be something compatible? The list for devices does not have anything with µg/m³ as the unit. Is that the reason statistic-graph is not working?

Hi Gabor,

I see you wired/configured the ikea device with DHT22 and wemos d1 mini.
Could you please share the wiring and the config?


So cool that this will be already supported with the next ESPHome release. I’m tempted to go buy one VINDRIKTNING. It’s even available here.

What is actually the output of the sensor. Does it give a reading in µg/m³ and is it halfway exact?