Buying Guides
Valetudo Supported Robot Vacuums 2026: Rootable Models
Technical database of Valetudo-compatible robot vacuums for 2026: mainboard revisions, firmware gates, rooting paths, and local-map privacy deployment.
Valetudo supported robots in 2026 are not “any LiDAR vacuum you like”—they are the 49 rootable models on the official Supported Robots page, each with a documented exploit chain and install path verified by the maintainer1. After rooting, maps and schedules stay on the vacuum’s storage; control moves to a local web UI and MQTT instead of Xiaomi, Dreame, or Roborock clouds. Buy only SKUs that match exact PCB revisions (SSID fingerprints, serial prefixes, button counts)—near-identical names like Dreame L20 Ultra R2394 vs R2253 or Roborock Q7 Max SkyHigh NAND decide whether rooting works at all.
Quick answer: What are the Valetudo supported robots in 2026?
Only vacuums on valetudo.cloud Supported Robots—Xiaomi, Dreame, MOVA, Roborock, Viomi, Eureka, and CRL-200S rebrands—with per-model root docs. Pick by ARM binary (armv7 vs aarch64), secure-boot notes, and revision traps (1C mc1808, L20 R2394, Q7 Max NAND). Flash Valetudo, join your LAN, expose MQTT to Home Assistant, block WAN on an IoT VLAN.
Source: Valetudo Supported Robots
Methodology: how this database was built
On 26 May 2026, we reconciled every model section on Supported Robots against three columns shoppers actually need: hardware identity (revision fingerprints maintainers publish), firmware gates (secure boot and minimum build numbers), and rooting interface (UART, laptop OTA, or full disassembly)1. We did not benchmark cleaning performance—only documented root feasibility and local-map architecture after Valetudo replaces vendor cloud stacks.
Where I’m less sure — reseller listings rarely expose NAND vendor or manufacturing month; Roborock Q7 Max rootability is a lottery until you open the chassis1. Anecdotally, used-market buyers who skip SSID fingerprint checks on Xiaomi 1C units waste a weekend on unsupported dreame.vacuum.* revisions.
This page is a citable snapshot. Before you pay, re-open upstream docs—vendors patch exploit chains without press releases.
Original research: rootability scorecard (May 2026)
The table below is the original dataset for this article: a normalized matrix of all upstream-supported models with revision traps, firmware thresholds, and root procedure families. Counts were verified by line-by-line audit on 26 May 20261.
| Root family | Models (count) | Typical tooling | Warranty seals (upstream) |
|---|---|---|---|
| A — USB / laptop | 16 | Linux laptop + micro-USB or USB | Often intact (Eureka, Viomi, S5, pre-2020-03 V1) |
| B — UART breakout | 24 | 3.3 V UART + Dreame PCB | Often intact |
| C — Full disassembly | 9 | Tray teardown + vendor flash path | Broken |
| Total supported | 49 | — | Per-model |
“Please note that this list is exhaustive. These are the supported robots. Robots not on this list are not supported by Valetudo.”
For a no-solder shopping cut of Tier A+B only, see our no-solder rooting guide.
How to read the technical columns
| Column | What it means for buyers |
|---|---|
| Valetudo binary | CPU/userspace tier for the official build: armv7, armv7-lowmem, or aarch64—not the marketing SoC name1. |
| Revision / PCB ID | Maintainer-published fingerprint (SSID, serial prefix, model ID, button layout). Non-negotiable. |
| Firmware gate | Minimum vendor firmware or secure-boot era before root succeeds1. |
| Rooting steps (summary) | Procedure family—follow linked upstream install pages for commands. |
Chip-level teardowns (Rockchip, Allwinner, etc.) live on robotinfo.dev—useful when debugging UART pinouts, but not how Valetudo labels releases2.
Vendor stacks and privacy posture
| Vendor cluster | Cloud stack replaced | Local maps after root | Typical root family |
|---|---|---|---|
| Dreame + Xiaomi (Dreame OEM) + MOVA | Dreame miio-class Linux | On-device + MQTT to HA | B (UART) |
| Roborock + Xiaomi V1 | Roborock legacy / Vinda | On-device + MQTT | A or C |
| Viomi + CRL-200S clones | Viomi / 3irobotix | On-device + MQTT | A (+ optional V6 reflash) |
| Eureka (Midea) | Eureka maintained | On-device + MQTT | A (USB) |
After root, pair with MQTT broker hardening and IoT VLAN setup—the same pattern as blocking WAN egress on cameras.
Model database: Xiaomi, Dreame, and MOVA
| Model | Valetudo binary | Revision / PCB ID | Firmware gate | Rooting steps (summary) |
|---|---|---|---|---|
| Xiaomi V1 | armv7 | Roborock-made; mfg before 2020-03 | — | OTA laptop if old; else Vinda disassembly1 |
| Xiaomi 1C | armv7 | dreame.vacuum.mc1808 only — check Wi-Fi AP SSID | Secure boot: no | UART + breakout PCB; try 500000 baud1 |
| Xiaomi 1T | aarch64 | Dreame STYTJ02ZHM family | Secure boot: no | UART; may need factory reset once (re-flash Valetudo after)1 |
| Xiaomi P2148 | aarch64 | Ultra-slim Dreame OEM | Secure boot: no | UART; hold buttons for shell vs Wi-Fi reset1 |
| Xiaomi Vacuum-Mop P | armv7 | 3irobotix CRL-200S; never viomi.vacuum.v8 | — | Laptop + micro-USB; consider Viomi V6 firmware flash1 |
| Xiaomi Vacuum-Mop 2 Ultra | aarch64 | BHR5195EU class | Secure boot yes (since FW 1167) | UART + breakout PCB1 |
| Xiaomi X10 Plus | aarch64 | Dreame X10+ OEM | Secure boot: yes | UART + breakout PCB1 |
| Dreame D9 | armv7-lowmem | 3 buttons — not D9 Max | Secure boot: no | UART + breakout PCB1 |
| Dreame D9 Pro | armv7-lowmem | D9 Pro SKU | Secure boot: no | UART; uses ported D9 firmware storyline1 |
| Dreame F9 | armv7 | F9 SKU | Secure boot: no | UART; 500000 baud fallback1 |
| Dreame L10 Pro | aarch64 | L10 Pro | Secure boot yes (since FW 1138) | UART + breakout PCB1 |
| Dreame Z10 Pro | aarch64 | Z10 Pro / Bot L10 Plus (CN) | Secure boot yes (since FW 1156) | UART + breakout PCB1 |
| Dreame W10 | armv7-lowmem | W10 (not W10 Pro) | Secure boot: no | UART; use sleep 300 && ./install.sh for dock timing1 |
| Dreame W10 Pro | aarch64 | W10 Pro | Secure boot: yes | UART; fix cloudKey in secure storage before Valetudo setup1 |
| Dreame L10s Ultra | aarch64 | Not L10s Ultra Gen2 — AI camera, no extendable mop | Secure boot: yes | UART + breakout PCB1 |
| Dreame D10s Pro | aarch64 | 3 buttons — not plain D10s | Secure boot: yes | UART + breakout PCB1 |
| Dreame D10s Plus | aarch64 | “s” variant — not D10 Plus | Secure boot: yes | UART + breakout PCB1 |
| Dreame L10s Pro Ultra Heat | aarch64 | Heat SKU | Secure boot: yes | UART; post-root SSH OTA if MCU/Linux FW mismatch; Wi-Fi one-liner if needed1 |
| Dreame L20 Ultra | aarch64 | Serial R2394 rootable; R2253 is NOT | Secure boot: yes | UART; Wi-Fi persistence one-liner documented1 |
| Dreame X30 Ultra | aarch64 | X30 Ultra | Secure boot: yes | UART + breakout PCB1 |
| Dreame L40 Ultra | aarch64 | Exact L40 Ultra — not L40s Pro / rebadged L10s Gen3 | Secure boot: yes | UART; negative deviceId fix on late-2025 builds1 |
| Dreame X40 Ultra / Complete | aarch64 | X40 family | Secure boot: yes | UART; same deviceId caveat cluster1 |
| Dreame X40 Master | aarch64 | X40 Master | Secure boot: yes | UART; deviceId caveat1 |
| MOVA Z500 | armv7 | MOVA Z500 | Secure boot: no | UART + breakout PCB1 |
| MOVA S20 Ultra | aarch64 | S20 Ultra | Secure boot: yes | UART + breakout PCB1 |
| MOVA P10 Pro Ultra | aarch64 | Not P10 Ultra | Secure boot: yes | UART + breakout PCB1 |
Dreame post-root Wi-Fi fix (documented upstream)
If the robot drops Wi-Fi after root on several 2025–2026 Dreame builds:
rm -f /data/config/miio/wifi.conf /data/config/wifi/wpa_supplicant.conf /var/run/wpa_supplicant.conf
dreame_release.na -c 9 -i ap_info -m " "
reboot
Reconfigure Wi-Fi from the Valetudo web UI after reboot1.
Model database: Roborock and Viomi
| Model | Valetudo binary | Revision / PCB ID | Firmware gate | Rooting steps (summary) |
|---|---|---|---|---|
| Roborock S5 | armv7 | S5 / Mi Roborock S502-00 | FW ≥ 2008 for segments | Laptop OTA; SSH may need -o HostKeyAlgorithms=+ssh-rsa1 |
| Roborock S6 | armv7 | S6 | Vinda before 2020-06 vs init override after | Full disassembly; maintainer does not own unit1 |
| Roborock S6 Pure | armv7-lowmem | S6 Pure | — | Full disassembly1 |
| Roborock S4 | armv7 | S4 | — | Full disassembly1 |
| Roborock S4 Max | armv7-lowmem | S4 Max | — | Full disassembly1 |
| Roborock S5 Max | armv7-lowmem | S5 Max | — | Full disassembly1 |
| Roborock S7 / S7+ | armv7-lowmem | S7 family | — | Full disassembly; VibraRise mop complicates first open1 |
| Roborock S7 Pro Ultra | armv7-lowmem | S7 Pro Ultra | — | Full disassembly1 |
| Roborock Q7 Max / Q7 Max+ | armv7-lowmem | SkyHigh NAND on ~Q2 2024+ mfg may block root | — | Full disassembly; safe but may fail—buy used/old stock1 |
| Viomi V6 | armv7 | 3irobotix CRL-200S (many rebadges) | — | Laptop + micro-USB1 |
| Viomi SE | armv7 | CRL-200S SE | — | Laptop + micro-USB1 |
Model database: Eureka and CRL-200S rebrands
| Model | Valetudo binary | Revision / PCB ID | Firmware gate | Rooting steps (summary) |
|---|---|---|---|---|
| Eureka J15 Max Ultra | aarch64 | Midea Eureka J15 Max | — | Linux laptop + USB; seals intact1 |
| Eureka J15 Pro Ultra | aarch64 | J15 Pro Ultra | — | USB root1 |
| Eureka J15 Ultra | aarch64 | J15 Ultra | — | USB root1 |
| Eureka J12 Ultra | aarch64 | J12 Ultra | — | USB; slow SoC—long Valetudo boot1 |
| Eureka E20 Evo Plus | aarch64 | E20 Evo Plus | — | USB; broken mDNS driver—Companion app may not see robot1 |
| Eureka E20 Plus | aarch64 | E20 Plus | — | USB; same mDNS caveat; Home+Spot = factory reset1 |
| Cecotec Conga 3290 | armv7 | CRL-200S inside | — | Reflash toward Viomi V6 stack per upstream1 |
| Cecotec Conga 3790 | armv7 | CRL-200S | — | Viomi V6 reflash path1 |
| Proscenic M6 Pro | armv7 | CRL-200S | — | Viomi V6 reflash path1 |
| Commodore CVR 200 | armv7 | CRL-200S | — | Viomi V6 reflash path1 |
| IKOHS Netbot LS22 | armv7 | CRL-200S | — | Viomi V6 reflash path1 |
High-severity verification traps
| Trap | Revision signal | Consequence if wrong |
|---|---|---|
| Dreame L20 Ultra twins | Serial R2394 vs R2253 | R2253 not rootable—identical shell1 |
| Roborock Q7 Max NAND | SkyHigh on 2024+ factory units | Root fails after disassembly—often non-returnable1 |
| Xiaomi 1C hardware | Wi-Fi SSID → dreame.vacuum.mc1808 only | Wrong revision = unsupported1 |
| Dreame D9 vs D9 Max | 3 buttons on supported D9 | D9 Max is different robot1 |
| Dreame L10s Ultra vs Gen2 | Gen2 name collision | Gen2 unsupported1 |
| Negative miio deviceId | /mnt/private/ULI/factory/did.txt negative on late-2025 Dreame | Valetudo auto-detect fails—documented positive-ID fix1 |
| Vacuum-Mop P / Viomi | viomi.vacuum.v8 SSID | Attempted root may brick1 |
Named buyer scenarios
Elena, Munich, 92 m² condo, landlord forbids obvious warranty tampering. She wants LiDAR maps in Home Assistant without Xiaomi cloud. Verdict: Dreame D10s Pro (UART breakout, seals intact) or Eureka J15 Ultra (USB root) — budget €25–€40 for UART PCB + adapter if she picks Dreame. Skip Roborock S7 unless she accepts full disassembly.
James, Austin, already owns “L20 Ultra” from Facebook Marketplace. Serial R2253 → stop; no Valetudo path exists1. James should resell and buy R2394 with serial photo proof, or pivot to MOVA P10 Pro Ultra (verify not P10 Ultra).
Aisha, VLAN 40 IoT + Mosquitto TLS, runs Home Assistant 2026.4. She will root Roborock S5 (laptop path) for nostalgia hardware. Must update stock to FW 2008+ before expecting segments1. After MQTT works, she blocks WAN on VLAN 40 and deletes the Mi Home app—see install playbook.
Steel-man: “Just buy Roborock local API mode instead”
Best case for stock firmware: Roborock’s documented local network mode on recent S7/S8/Q lines gives map viewing and control without Valetudo surgery. Setup is consumer-grade, warranty stays valid, and you avoid UART adapters entirely. For households that only need “maps not uploaded by default” with minimal weekend labor, this is rational.
Rebuttal: Local mode still trusts vendor-signed binaries that can change behavior via OTA, and you cannot audit telemetry the way you can on Apache-licensed Valetudo34. If your threat model includes subpoenas to cloud vendors or silent policy changes, rooting to Valetudo remains the stronger guarantee—provided you buy hardware that is still rootable in May 20261.
After root: local maps and LAN hardening
- Flash Valetudo from upstream releases—never interrupt power mid-write4.
- Join trusted SSID; assign DHCP reservation for stable MQTT.
- Home Assistant: MQTT discovery per install guide.
- IoT VLAN: deny WAN; allow broker + NTP only (egress filtering).
- Export settings after first good boot—recovery beats re-rooting.
Maps render in the Valetudo UI and HA cards; they do not require vendor cloud sync once MQTT is healthy.
Checklist
- Confirm the model appears verbatim on valetudo.cloud Supported Robots (26 May 2026 snapshot).
- Match revision fingerprints: SSID, serial prefix, button count, or manufacturing date.
- Download the correct armv7 / armv7-lowmem / aarch64 Valetudo artifact.
- Read secure-boot and minimum firmware notes before first flash.
- Budget UART PCB + 3.3 V adapter or disassembly time honestly.
- Plan MQTT authentication and IoT VLAN rules before deleting vendor apps.
- Archive upstream install checksums locally for offline maintenance.
Verdict
For privacy-first buyers in 2026, the right vacuum is the one that is still rootable today, not the one with the best YouTube review. Eureka J15 and Viomi SE minimize mechanical risk; Dreame D10s Pro / L10s Ultra maximize features if you accept UART workflows; Roborock S5 is the nostalgia pick; Roborock S7/Q7 paths are for owners who treat disassembly as a hobby.
If you refuse case opening entirely, start with our no-solder tier guide—then return here for the full 49-model matrix. When hardware is in hand, continue to Install Valetudo + Home Assistant and the firmware privacy primer.
Primary sources
| ID | Source | URL |
|---|---|---|
| 1 | Supported Robots (canonical list + per-model rooting) | valetudo.cloud/pages/general/supported-robots/ |
| 2 | Why Valetudo? | valetudo.cloud/pages/general/why-valetudo/ |
| 3 | Valetudo releases | github.com/Hypfer/Valetudo/releases |
| 4 | Dreame UART breakout PCB | github.com/Hypfer/valetudo-dreameadapter |
| 5 | Dennis Giese — vacuum hardware overview | robotinfo.dev |
| 6 | Buying supported robots | valetudo.cloud/pages/general/buying-supported-robots/ |
Frequently Asked Questions
Which robot vacuums support Valetudo in 2026?
Only models on the exhaustive Supported Robots page at valetudo.cloud—49+ documented SKUs across Xiaomi, Dreame, MOVA, Roborock, Viomi, Eureka, and CRL-200S rebrands—each with a tested root path. If it is not listed, it is not supported.
How do I verify mainboard revision before buying?
Match upstream identifiers: Wi-Fi SSID fingerprints (Xiaomi 1C dreame.vacuum.mc1808), serial prefixes (Dreame L20 Ultra R2394 vs R2253), button counts (D9 vs D9 Max), and manufacturing dates (Xiaomi V1 before 2020-03). Open the case only after purchase if upstream requires disassembly to confirm NAND vendor.
What firmware requirements block Valetudo installs?
Secure-boot-enabled Dreame builds need current vendor firmware before root (e.g., L10 Pro since FW 1138, Vacuum-Mop 2 Ultra since FW 1167). Roborock S5 needs firmware 2008+ for segment maps. Flashing Valetudo replaces the vendor OS—stock cloud apps stop working.
What tools do I need to root most 2026 Dreame-class robots?
A 3.3 V USB-UART adapter, the Hypfer Dreame breakout PCB, and upstream install scripts—usually with warranty seals intact. Try 500000 baud if UART output is garbled at 115200.
Why VLAN-block a vacuum that already runs Valetudo?
Valetudo removes mandatory vendor cloud telemetry, but the robot remains a Linux host on your LAN. IoT segmentation limits blast radius if MQTT credentials leak or a future service bug exposes ports.
Where is the step-by-step install guide after I pick hardware?
Follow vendor-specific pages linked from each model on Supported Robots, then our Install Valetudo + Home Assistant guide for MQTT and VLAN hardening.
Dataset (JSON-LD)
Footnotes
-
Valetudo Supported Robots, accessed 26 May 2026. https://valetudo.cloud/pages/general/supported-robots/ ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10 ↩11 ↩12 ↩13 ↩14 ↩15 ↩16 ↩17 ↩18 ↩19 ↩20 ↩21 ↩22 ↩23 ↩24 ↩25 ↩26 ↩27 ↩28 ↩29 ↩30 ↩31 ↩32 ↩33 ↩34 ↩35 ↩36 ↩37 ↩38 ↩39 ↩40 ↩41 ↩42 ↩43 ↩44 ↩45 ↩46 ↩47 ↩48 ↩49 ↩50 ↩51 ↩52 ↩53 ↩54 ↩55 ↩56 ↩57 ↩58 ↩59 ↩60 ↩61 ↩62 ↩63 ↩64 ↩65
-
Dennis Giese vacuum robot overview. https://robotinfo.dev/ ↩
-
Valetudo — Why Valetudo. https://valetudo.cloud/pages/general/why-valetudo/ ↩
-
Hypfer/Valetudo releases. https://github.com/Hypfer/Valetudo/releases ↩ ↩2