After years of faithful operation, two Winix air purifiers were looking to join the ranks of the rest of the home, connected to Home Assistant, tied to automation.
Although there was an existing microprocessor inside, the simplicity of adding a parasite ESP32, running ESP Home, made me think about ways to keep both dumb and smart. This was especially good, as I had 2 of these modules active nearby as Bluetooth proxies, which helps discover Bluetooth devices across the home, and pipe them into Home Assistant.
The initial search was for power, where a debug header with 5VDC, GND, & I2C shined. The fan has a sense feedback in AC for speed, which I can easily sample with an ADC to get a useful value to determine mode. The range of the AC signal was between 0VDC and 4VDC across all states and modes, so the ADC input of the ESP32 is safe.

This sampled analog data is piped into Home Assistant, where the data can be visualized. There, I was able to determine the thresholds for each fan mode.
- Off = 0V to 0.5V
- Low = 0.5V to 1.9V
- Medium = 1.9V to 2.5V
- High = 2.5V to 4V
Using these discrete levels, I set automations to create states and modes for the real-time behavior of the air purifier. This is helpful in identifying trends over time, without looking at large amounts of analog data.




The next step will be to link these states and modes to button presses, leveraging the GPIO channels against the hardware push buttons. This will allow for control over the air purifier, on top of the existing monitoring described above. I am not yet sure if I want to put that logic into ESP32, or pull up to Home Assistant. But for now its nice to have the little ESP32s hiding inside, sipping on power, and snooping on behavior.
In every way, this is a hidden parasite that brings the old into the fold


