Background
I had been running a Honeywell HEPA filter (HPA300 series) for years, partly as white noise, and partly in preparation for wildfire season and the famously leaky windows in my 1950s California apartment. Not being particularly good at leaving well enough alone I wondered whether the purifier could respond to what was actually happening in the room instead of running at a fixed speed all day.
And thus became the project: keep the purifier completely usable as a normal appliance, but add a wireless control layer. And of course as an excuse to learn ESP32, make a custom PCB, and experimented with AI in embedded programming. This later became closed loop control with Home Assistant in the middle, and an AirGradient monitor to provide a source of PM2.5 particle counting
Reverse Engineering the Original Controller
The first challenge is identifying that to remove the front housing requires a 6-inch-long security T20 driver.
Once inside, the electrical architecture is essentially four pieces:
- a multi-tapped AC fan motor
- a run capacitor
- an AC power/control board
- a low-voltage front-panel control board
The fan motor exposes separate taps for its four speed settings. Each speed is switched by its own triac on the AC control board, with each triac controlled through an optocoupler. The low-voltage front-panel board drives those optocouplers directly.
The AC board also supplies power to the front panel. It rectifies the incoming AC, steps it down through a switching/flyback supply, and ultimately provides a regulated 5V rail to the controller.
This architecture suggested a clean boundary for the project. Instead of modifying the mains-side board or replacing the motor-control circuitry, I could leave the entire AC section untouched and replace only the low-voltage front-panel controller. That made the modification comparatively clean and reversible while preserving the parts of the purifier already designed to handle mains voltage and the fan motor.
The goal became to reproduce the original front panel as faithfully as possible for local operation, then add Wi-Fi as an additional control layer rather than making the appliance dependent on it.
The replacement controller therefore needed to reproduce all of the original local functions:
- Six capacitive-touch inputs
- Eight status LEDs
- Four fan-speed selections
- Timed shutoff
- LED dimming
- Filter-life reminders
patmont