Case study
Valetudo: local replacement for robot-vacuum vendor clouds
Replaces the vendor cloud of supported robot vacuums with a local service that runs on the rooted robot beside the vendor firmware and emulates the cloud endpoints that firmware expects, including a miio dummycloud and a counterpart for Midea's MSmart protocol. Its FAQ says each new vendor backend meant reverse engineering data formats, authentication and communication without vendor documentation; Valetudo converts the proprietary map formats into one ValetudoMap format and keeps Kaitai Struct descriptions of Dreame, Roborock and Viomi map files and a Midea protobuf schema as references. It adds a web interface, a REST API with Swagger UI and MQTT/Home Assistant integration, while feature parity with the vendor apps is an explicit non-goal.
Requirements & limits
- Reviewed at the 2026.10.0 release commit of 2026-10-18. The README says Valetudo is not a custom firmware but a 'brain parasite' for the vendor firmware, whose own functions it relies on. The backend has Dreame, Roborock, Viomi, 3irobotix and Midea implementations, and the supported-robots page lists 50 model entries under 10 brand headings and calls the list exhaustive.
- Requires a supported robot that its owner has already rooted. The docs describe rooting as model-specific and permanent ('Reverting to stock is impossible'), and say the vendor app stops working because cloud connectivity is cut; this record covers no rooting procedure. The repository and its releases ship no vendor firmware: release assets are Valetudo's own armv7, armv7-lowmem and aarch64 binaries with UPX-compressed variants, an OpenAPI schema and a release manifest, while the repository also commits pkg Node.js base binaries for packaging and small captured map files as test fixtures.
- Valetudo runs on the robot's Linux system as a static Node.js 22 binary built with pkg; development needs Node.js >=20 according to the root package.json. The docs require Linux and computer skills, and sometimes hardware work, for installation, and offer peer support only.
- CI on Node.js 22 runs type checks, lint, the frontend and backend builds and the backend node:test suite, including Dreame, Roborock and 3irobotix map-parser tests on captured maps and miio and MSmart packet tests. The supported-robots page says each listed robot was tested by the author personally unless noted. These are project-reported checks; this review ran nothing and compared no behaviour with vendor clouds.
- Apache-2.0, although the README describes its governance as 'Freeware with source available'. The Kaitai structs declare CC-BY-SA-4.0, and a bundled robot model and tracker song are credited under CC-BY-NC-SA. Vendor firmware, apps and clouds keep their own terms. The reviewed sources establish no REA or AI use.
About this entry
- Type
- Case study
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Targets
- Firmware · Protocol
Sources reviewed
The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.
Primary sources
- README.md GitHub · Hypfer/Valetudo · Revision 7826751
- docs/pages/faq.md GitHub · Hypfer/Valetudo · Revision 7826751
- docs/pages/general/newcomer-guide.md GitHub · Hypfer/Valetudo · Revision 7826751
- docs/pages/general/getting-started.md GitHub · Hypfer/Valetudo · Revision 7826751
- docs/pages/general/why-not-valetudo.md GitHub · Hypfer/Valetudo · Revision 7826751
- docs/pages/general/supported-robots.md GitHub · Hypfer/Valetudo · Revision 7826751
- backend/lib/miio/Dummycloud.js GitHub · Hypfer/Valetudo · Revision 7826751
- backend/lib/msmart/MSmartDummycloud.js GitHub · Hypfer/Valetudo · Revision 7826751
- assets/kaitai_structs/readme.md GitHub · Hypfer/Valetudo · Revision 7826751
- assets/protobuf/midea.proto GitHub · Hypfer/Valetudo · Revision 7826751
- package.json GitHub · Hypfer/Valetudo · Revision 7826751
- backend/package.json GitHub · Hypfer/Valetudo · Revision 7826751
- .github/workflows/nodejs.yml GitHub · Hypfer/Valetudo · Revision 7826751
- frontend/src/assets/raw/credits.md GitHub · Hypfer/Valetudo · Revision 7826751
- LICENSE GitHub · Hypfer/Valetudo · Revision 7826751
- https://github.com/Hypfer/Valetudo/releases/tag/2026.10.0
More in Firmware and hardware
- Binwalk · Tool
- unblob · Tool
- Ghidra Firmware Utilities · Tool
- EMBA · Tool
- Firmware Analysis and Comparison Tool (FACT) · Tool
- OFRAK · Tool
All 29 entries in Firmware and hardwareFirmware and hardware case studies (7)