Skip to content

Repository files navigation

Project - ESPHome hacked Air Purifiers and Humidifiers for Home Assistant

  • Collection of air purifiers and humidifiers that can be more or less easily hacked to run ESPHome instead of cloud-based firmware.
  • Eliminating cloud dependency and enabling native Home Assistant integration for air purifiers.

ko-fi

I like Wi-Fi enabled air purifiers! But I hate the fact that they all depend on a cloud service.

I've run Home Assistant and custom-built ESPHome devices at home for quite some time, and found a project that let me flash custom, ESPHome-based firmware onto a Levoit Core 300S (which I already owned). Wi-Fi enabled air purifiers often use an ESP32 for the Wi-Fi side plus a separate MCU to manage the purifier itself (speeds, air-quality sensor, auto mode, …), with a UART link between the two.

This started as a handful of custom ESPHome firmware and hardware projects for Levoit air purifiers, and is slowly growing into the broader collection you see here.

header

Overview of existing / tested esphome-ified Air Purifiers

Every purifier that runs ESPHome at a glance — how it's converted, its specs, and how involved the teardown is. Click a model or its Guide for the full write-up.

Devices that can't run ESPHome but are still controllable locally on stock firmware are listed separately in Cloud-free without ESPHome below.

Model Manufacturer Support Methods CADR (spec) Noise Disassembly Guide Links Comments
Core 200S Levoit 🏠 levoit 🟢 Flash / 🔵 Add ESP 167 m³/h 24–48 dB Easy Guide Amazon ✅ Tested · 3 speeds, no air-quality sensor
Core 300S Levoit 🏠 levoit 🟢 Flash / 🔵 Add ESP 214 m³/h 24–50 dB Easy Guide Amazon ✅ Tested · PM2.5 + Auto mode
Core 400S Levoit 🏠 levoit 🟢 Flash / 🔵 Add ESP 442 m³/h 24–52 dB Hard Guide Amazon ✅ Tested · 4 speeds
Core 600S Levoit 🏠 levoit 🟢 Flash / 🔵 Add ESP 641 m³/h 26–54 dB Hard Guide Amazon ✅ Tested · 4 auto modes
Vital 100S Levoit 🏠 levoit 🟢 Flash / 🔵 Add ESP 221 m³/h 23–52 dB Easy Guide Amazon ✅ Tested · Pet mode; detailed teardown
Vital 200S (Pro) Levoit 🏠 levoit 🟢 Flash / 🔵 Add ESP 415 m³/h 23–58 dB Easy Guide Amazon ✅ Tested
Everest Air Levoit 🏠 levoit 🟢 Flash / 🔵 Add ESP 612 m³/h 24–56 dB Easy Guide Amazon ✅ Tested · vent louver, PM1.0/2.5/10, Turbo
Sprout Levoit 🏠 levoit + levoit_audio 🟢 Flash / 🔵 Add ESP 145 m³/h 22–47 dB Easy Guide Amazon 🚧 WIP · white-noise audio (I2S MP3)
LV-PUR 131S Levoit 🏠 Guide + YAML 🔴 Custom HW — — Medium Guide — ESP12F → ESP32-C3, PM1003 → PM5003
LV-PUR 131 Levoit 🏠 Guide + YAML 🔴 Custom HW — — Medium Guide — As above + temperature sensor
Levoit Mini Levoit 🏠 Guide + YAML 🔴 Custom HW 78 m³/h 41.8 – 53.6 dBA Easy Guide Amazon Custom PCB + 3D parts; original PCB bypassed, reversible
Core 300 Levoit 🔗 External 🔴 Custom HW 214 m³/h 24–50 dB Easy Reddit ↗ — Non-smart Core 300 with broken PCB; ESP32 wired straight to the fan-speed lines → 3 interlocked GPIO switches (no MCU/UART, no sensors)
Core 300-P Levoit 🔗 External 🔴 Custom HW 214 m³/h 24–50 dB Easy Shop ↗ Silo City Labs Non-smart Core 300-P — a ready-made ESP32-C6 replacement controller running ESPHome, reusing the stock fan controller and PSU. 4 fan speeds, 14 RGB LEDs, 3 spare GPIOs for AQ/VOC add-ons. Check the Intertek model on the back (5014566 vs 5030453) before ordering
AC0650 Philips / MUJI 🏠 philips 🔵 Add ESP 170 m³/h 19–49 dB Easy Guide Amazon ✅ Tested · secure boot → replace module; no AQ sensor
AC0651 Philips / MUJI 🏠 philips 🔵 Add ESP 170 m³/h 19–49 dB Easy Guide Amazon ✅ Tested · adds PM2.5 (PM1003), allergen index, Auto mode
AC0951 Philips 🏠 philips 🔵 Add ESP — — Easy Guide — ✅ Tested · MXCHIP module parked, ESP32-C3 added; PM2.5, allergen index, child lock, beep, display brightness, sleep timer
AC0950 Philips 🏠 philips 🔵 Add ESP — — Easy Guide — ⚠️ Untested · same protocol assumed as the AC0951, minus the PM sensor
Förnuftig IKEA 🔗 External 🔴 Custom HW 120 m³/h 28–60 dB Easy Blog ↗ · C6 ↗ — Dumb 3-speed fan, ESP added for control
Uppåtvind IKEA 🔗 External 🔴 Custom HW 95 m³/h 42.5–53.8 dB Easy GitHub ↗ — Small desk purifier, ESP added for control
Mi Air Purifier 3 / 3H / 3C · Pro H · Smart 4 / 4 Lite / 4 Pro / Elite Xiaomi 🔗 External 🟢 Flash — — — GitHub ↗ — MIoT UART component; flashes the built-in ESP gateway. Also covers other Xiaomi MIoT devices

Support — where the firmware/guide lives:

  • 🏠 This repo — maintained here: an in-repo ESPHome component (levoit, philips) or a full build guide with YAML.
  • 🔗 External — someone else's project; the Guide column links straight to it. Listed for completeness, not maintained here.

Methods — how the custom firmware ends up on the device:

  • 🟢 Flash — flash ESPHome straight onto the device's own ESP32 (works where it isn't locked — most Levoits). Easiest; back up the stock firmware first.
  • 🔵 Add ESP — wire in a separate ESP32 and disable the original (EN→GND). Needed when secure boot blocks reflashing, and fully reversible.
  • 🔴 Custom HW — replace the controller board / build custom hardware.

CADR and Noise are manufacturer specs. Disassembly is a rough effort estimate (Easy / Medium / Hard) — check the linked Guide before you start.

➕ Add your own!

Got another air purifier running ESPHome? Add it to the list — open a Pull Request or share it in Discussions. Two requirements: it has to be an air purifier, and it has to run (or be made to run) ESPHome. In-repo components or external projects (like the IKEA ones above) are both welcome.

Overview of existing / tested esphome-ified Humidifiers

Humidifiers use the same MCU-over-UART approach as the purifiers above, and the same in-repo components — a Levoit humidifier is just another model: for the levoit component.

Model Manufacturer Support Methods Tank Output (spec) Disassembly Guide Links Comments
Superior 6000S Levoit 🏠 levoit 🟢 Flash / 🔵 Add ESP 6 L 500 mL/h Easy Guide — 🚧 Untested on hardware · evaporative; 9 fan speeds, target humidity, auto-dry, temperature + humidity sensors

The legend is the same as for the purifiers above — Tank and Output are manufacturer specs and replace the CADR/Noise columns.

➕ Add your own!

Got a humidifier running ESPHome? Same deal as the purifiers — open a Pull Request or start a Discussion.

Cloud-free without ESPHome

Many Philips / Versuni purifiers can be driven locally over CoAP on stock firmware — no flashing, no hardware changes. The supported-model list and setup live in docs/philips-coap.md.

Components

Two external components live here. Each README carries its own supported models, configuration reference, feature list and change log.

Component Devices Docs
levoit Levoit air purifiers and the Superior 6000S humidifier README · compile tests
philips Philips / MUJI 600 and 900 series purifiers README

Per-device wiring, teardowns and example YAML live under devices/ — one folder per model, linked from the tables above.

Other Models / Levoit Projects

Related external components

Not part of this repo, but built on the same idea — an ESPHome component talking the vendor's UART protocol to the purifier's MCU:

  • dhewg/esphome-miot — Xiaomi MIoT serial protocol. Flashes the device's built-in ESP gateway (no extra hardware) and covers a range of Xiaomi/Mi air purifiers: Mi Air Purifier 3 / 3H / 3C, Pro H, and Smart 4 / 4 Lite / 4 Pro / Elite. Also supports other Xiaomi MIoT devices (humidifiers, fans, …).

Change Log

See CHANGELOG.md for project-level changes, and the levoit component change log for component releases.

Contributing

See CONTRIBUTING.md — issues, pull requests, what CI runs, and what a good contribution looks like.

Adding a model that is not listed above? Start with docs/adding-a-new-device.md.

Info

Not my projects, but worth checking out:

Helpful links

Details about generic protocol / etc

Levoit UART Protocol Details

About

Esphome based custom firmware for levoit air purifiers

Topics

Resources

Contributing

Stars

112 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages