Making the stupid dumb. Vindriktning and Förnuftig
A while back I saw rumors that IKEA was introducing air quality sensors and air-purifiers. I was pretty stoked about this, having access to cheap sensors and filters is good. Especially because an ‘air’ section showed up in the tradfri app.
When at the end of last week I saw the actual products I was exited and disappointed at the same time. But decided to order one anyway.
The air-quality sensor (Vindriktning) is very cheap, around 10 Euro. It has a led bar at the front and indicates good (green), poor (yellow) and bad (red). It is powered via USB-C and has no communication option. The positives are that it has a very nice case, auto-dim the leds when it gets dark and nice fading effects. The size and looks are perfect for its use. On the negative side, it is very noisy, my other particle sensors also have fans, but you cannot hear them. The Vindriktning has a noisy fan that also constantly spins up and down. It is pretty annoying and might hack it to run constantly later.
(image from IKEA.nl website)
The air-purifier is also decently priced; around 50 Euro and there are hepa and carbon filters available for 7 and 10 Euro. It runs from a small 24V 0.8A power supply, has a dial for selecting 4 levels (off, low, medium and high) a led to indicate if the filter needs replaced and button to reset the filter counter. It is relatively quiet (esp on low level) and makes no weird noises (It does vibrate a bit on it stand, but this absorbs it nicely). I do find the design ugly as hell.
(image from IKEA.nl website)
The biggest disappointment is that these are dumb, you cannot automate them. I hoped they would integrate in the zigbee (tradfri) system. I do not want to check a sensor and manually adjust the air filter. So my next job was to automate this.
Opening the Vindriktning showed a Cubic pm1006k pm2.5 sensor and a small pcb. For more details on this see the many teardowns on the internet. This might be a cheap source to get a nice case and a air-quality sensor.
After tracing the PCB, it was clear we could easily interface with this. By using a few of the test points I get access to a 5V power supply and I can snoop the TX signal from the sensor. I used these to power a Wemos D1 mini. While the documentation for the pm1006k sensor is very limited, the data returned is similar to the pm1003 sensor. This allowed me to parse the packet and read the pm2.5 value.
After correlating the result with 2 different sensors, it matched very well, It did have a weird offset (8 ug/m3 for one Vindriktning, 5ug/m3 for another).
So after some calibration, it is perfectly usable. I do plan to look into this offset, but more data on the sensor would be useful.
(The blue (Vindriktning) and the green (Another particle sensor) line up pretty good).
These values are then published to my home mqtt server.
Now lets focus on the Förnuftig and see if we can automate this.
The Förnuftig is easy to open, you remove the front panel and filter. Then on the top there are 2 Phillips screws, after removing these you have access to the main PCB. It turns out that the little PCB provides the fan motor with 24V and control signal. The control signal is a square wave at different frequencies depending on the mode (between 100 and 300 Hz), you get a control signal back with the actual speed of the fan. The main PCB shuts off if it does not see this signal coming back. Other people hacked the rotary switch on the PCB, I am more interested into driving the fan directly.
A quick test showed that we can easily and precisely control the fan by sending a square wave over the full frequency range. (and we can boost it far beyond the max IKEA applied even at double speed it still sounds fine ).
Using a small 24V -> 3.3V dc to dc converter and another Wemos D1 mini we can not only control the air-purifier, but make the control more fine grained. We can match a nice fan curve to the actual pm 2.5 value.
This PCB easily fits inside the case where the original PCB sits. This makes the hack nearly invisible (I just stuck the dial back into place).
Because I wanted to re-use the original power supply I limited the fan speed to where it used around 19W. I might replace this later and boost it.
So for a total cost of around 5 Euro (2 wemos, one dc to dc converter) I made the air-purifiers setup automated, on top of that the air-filter makes less noise by more finely controlling the required fan speed.comments powered by Disqus