Qball's Weblog

Making the stupid dumb V2. UPPÅTVIND

Tags ESP32c3  Air Purifier  IKEA 

About 1 1/2 year ago I made a blogpost about making the Förnuftig smart. This one is still in operation. When I was at the IKEA I saw they now sell new model that is pretty small, the UPPÅTVIND.

UPPÅTVIND (Image from IKEA.com)

The format and the price of the device and new filters made it ideal for a future project. But before I can start on the project, we need to make it smart again!

The design of this device is pretty similar to the previous one. The biggest difference is that instead of a twist button, it now has a push button and power led. The power led brightness depends on the level set. The filter led turns on red once it is time to replace it (based on time, not actual state).

Opening this device is also very similar, after taking off the front and the filter it exposes 5 security screws. After taking these out, with a small plastic prying tool you can pop the case into 2 parts. The front part holds the fan, the bottom has the controller board.

The motor was interesting, in the previous model its maximum power was twice of what was used. This model (10W) is close to the specified set-point (8W). Controlling it is similar to the previous one.


The controller board this time also holds the small push buttons behind the buttons on the case. Last time it was easy to re-use the twist button and I just made a new pcb. This time I decided to re-use the pcb and replace the micro. This way the buttons and leds are all in the correct place.



After quickly tracing out the PCB, it is clearly separated into two parts:

  1. 5V power supply
  2. MCU + control

One nice feature, that I want to preserve, is that it can shut off the 24V from the motor.

Regrettably I was unable to find what buck converter was used to create the 5V for the (unknown MCU). Hopefully it was powerful enough to power an esp32c3 (turned out it wasn’t). After unsoldering the MCU, I soldered some wires to the different test-pads:

  1. 5V (this is replaced in future)
  2. GND.
  3. Led Filter
  4. Led status
  5. PWM
  6. Motor 24V enabled
  7. State Button

The filter reset button I did not use. There is not way for the MCU to determine the state of the filter, it just goes on after X days. I prefer to just visually check the filter.


After testing everything, it turned out that the ESP32c3 would sometimes brown-out when the WiFi was active. To solve this issue, I added a separate converter to turn 24V into 3V.


Mounting the PCB back into its place in the case and sticking the esp32c3 board to the bottom of the case with some double-sided tape. The case can be easily fit back together. Leaving no trace of the modification.

When writing the software I tried to keep the interface as identical as possible. By pressing the button on the top you can switch between 3 levels and ‘REMOTE’ (instead of off). In remote mode the FILTER LED is on. The power leds brightness also scales with the setpoint. The new ‘REMOTE’ mode listens on MQTT for a setpoint between 0-100%. If 0 is set, the motor is turned fully off (by switching off the 24V).

If anybody is interested in the source code, please let me know.

comments powered by Disqus