Automating a Winix Air Cleaner

I've used a Winix WAC5500 for a few years but I couldn't get it to work with my IguanaWorks IR transceiver, so here I am while the NodeMCU devboard is still on my mind.

Why do this

A common complaint about the Winix unit is that it can be quite loud on the high and turbo speeds. At the other extreme, if the odor sensor doesn't sense anything it will never ramp up—I wanted to periodically force higher speeds without relying on auto-odor mode to do so. Probably in conjunction with a room occupancy sensor which I'll eventually get to. So with this mod, I will be able to schedule it externally.

It should also be possible to do our own auto-mode based on the odor sensor reading. maybe later.


A test of using an optoisolator to use as a nonload relay. It works.

Also multiplexed photoresistors to the single ADC pin of the ESP-12E by use of power diodes. I decide to use these to determine what existing LEDs are being lit, and therefore the current state of the unit.

It is quite spacious inside and easy to work with. I have high hopes I might actually complete this mod.

I removed the ionizer unit and also cut the trace to the audio feedback buzzer

Found a suitable power supply which I will inline with the mains cord coming in.

Red light to show some holes drilled from above to the LED "cells." They're too small for the photoresistors to sit flush inside. I made them fit.

I tried so hard

So this doesn't work. Found a short in the header pins, I guess I let the solder pool too much so bridged on the other side. Dremel-obliterated one of the pins, still doesn't work. and I prototyped the full 8 pins after reading up that GPIO9 and 10 don't easily work on the ESP-12E.


Rewired. Hope it never needs maintenance. Seems when D4 is set to output low, the blue LED on the ESP8266 stays lit.

Programmed and done, freely exposed through a simple HTTP interface to either set the mode or get the current status.

I later placed tape surrounding much of the blue LED to reduce nighttime glow and also exposed the USB port externally. Unplugging the unit beforehand is needed, to keep from powering the board from two sources.