- Python 93.3%
- Shell 4.6%
- C 2.1%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
- Roborock S5 Max joins the Proscenic M6 Pro as a supported placeholder robot (SangamIO driver contributed by @gkfabs, on kaiaai/VacuumTiger's feat/roborock-s5max branch for now); the bridge and VacuumTiger entries say so too. - Drop the "build instructions in Fall 2026" and "first BoM ~mid-July" promises for the honest status and a link to oomwoo.com/#progress. - Links: chassis points at oomwoo-cad (was oomwoo-install); renamed repos oomwoo-one-cad -> oomwoo-cad and oomwoo-io-firmware -> oomwoo-firmware; the robot package is oomwoo-one (oomwoo_urdf is the June template); Open Mower had no scheme; BUILD_INSTRUCTIONS linked docs/docs/... - Typos: "organized to be built", "connected to the cloud". Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> |
||
| .github | ||
| assets | ||
| contributions | ||
| docs | ||
| .gitignore | ||
| BOM.md | ||
| LICENSE | ||
| README.md | ||
OOMWOO
Open-source robot vacuum you build yourself
Clean well · Hackable · Raspberry Pi · 3D printed · Local / No cloud required · Home Assistant · Arduino · ROS2 · ESP32
OOMWOO is an open-source home robot vacuum you can build yourself, built using Raspberry Pi, 3D-printing, Home Assistant, Arduino and ROS2. It uses an affordable 2D LiDAR to map your home and navigate on its own. Local, no cloud required for regular functionality, no vendor lock-in. Follow us building in public Discord | X | Instagram | Facebook | Reddit | newsletter | YouTube | oomwoo.com | Tutorials
Not buildable yet - you can run it in simulation today. Build instructions follow once the first bill of materials is validated on real hardware. See where the build is.
Reference design images - this is approximately how the finished design will look:
Goals
- Affordable, fully open hardware, software and firmware
- Home appliance product quality - not a throwaway build
- Easy to build, with step-by-step zero-to-hero instructions
- 2D LiDAR mapping and autonomous navigation (ROS2 / Nav2)
- Native Home Assistant integration for local control
- 3D-printable, documented, and hackable chassis
- Buildable from parts you source yourself
- Local, no cloud required for regular functionality
- Optional extra functionality when connected to the cloud
- Apps on top of ROS2 to customize vacuum operation
- Stretch goal: App store
- Stretch goal: LeRobot integration, OpenClaw
v0 target: bare-bones build:
- 3D-printed chassis (browse)
- ROS2 Gazebo sim (install)
- Basic cleaning, mapping
- Raspberry Pi CM4/CM5 running ROS2 (install)
Open Source Deliverables:
- Software development environment, robot description package and tutorials (ROS2)
- Placeholder real vacuum cleaners, temporary while OOMWOO is being designed: Proscenic M6 Pro (tutorial) and Roborock S5 Max (driver contributed by @gkfabs, on the
feat/roborock-s5maxbranch for now) - Bill of materials (BoM) (rough version available)
- 3D-scanned sourced parts
- 3D-printable files
- Raspberry Pi software
- Motor drivers, sensors PCB boards
- I/O PCB firmware
- Build, setup, bringup and troubleshooting instructions
- Demo video(s)
Contributing
Would you like to contribute? See CONTRIBUTING for the full guide.
OOMWOO is organized to be built by the community, massively in parallel. The vacuum and its software are subdivided into modules, listed on the RFC board.
A volunteer picks whatever module she wants and works on it whenever she wants.
For code and simulation modules she builds her package in her own repo and sends
a short PR linking it from the module; for docs and specs she contributes files
in-tree under contributions/module-name/<her-github-username>. See
CONTRIBUTING for how this works.
Multiple developers are welcome to work on the same module. The best solution for each module surfaces over time, with the project master having the last call.
- Pick a contribution from the RFC board.
- Let us know you're working on it and your progress.
- Check ARCHITECTURE.md and SOFTWARE_INTERFACES.md for the system design and ROS2 interfaces.
Requests for Contributions
Every module below is actionable now — build it against the Gazebo simulation (oomwoo-one) or a real placeholder robot (a Proscenic M6 Pro connected to ROS2 or a Roborock S5 Max), until OOMWOO hardware is ready. Pick one, tell us in Discussions, build it in your own repo (docs and specs go in-tree), and send a short PR linking it from the module.
Every RFC — software, firmware, hardware and procurement — lives on the RFC board, together with its current progress and status. That board is the single source of truth, so this page links to it rather than copying it: a second copy here only ever drifts out of date. Broadly:
- Software & simulation — cleaning, localization & navigation, perception, the Gazebo sim
- Firmware & electronics — STM32 I/O board firmware, the I/O + motor-driver PCB, the board interface
- Mechanical & procurement — brushes, blower fan, dust bin, part specs and STEP models
→ Browse the RFC board and pick a module
Planned and on-hold modules (mechanical design, later-phase software) live in the RFC backlog.
Source code reference
- OOMWOO ROS2 and Ubuntu installation source code
- OOMWOO One ROS2 robot description package - URDF, Gazebo simulation, config
- remakeai reference vacuum teardown — a consumer LiDAR vacuum with a basic dock and stationary mop.
Related prior art
- Valetudo — cloud-free firmware replacement for commercial vacuums (local app-level control, not ROS2)
- codetiger/VacuumTiger - 3irobotix CRL-200-based vacuum low-level control reverse engineered
- kaiaai/VacuumTiger - our fork: the SangamIO driver for the Proscenic M6 Pro (CRL-200S) and the Roborock S5 Max
- kaiaai/LDS, kaiaai/lds2d — open-source 2D LiDAR libraries (C++, Python) supporting 23+ LiDAR models
- remakeai/vacuum_ros2_bridge — ROS2 bridge for vacuums running SangamIO (Proscenic M6 Pro, Roborock S5 Max), full ROS2 control
- Dennis Giese / robotinfo.dev — teardowns and rootability of commercial robot vacuums.
- Build a ROS2/LiDAR robot crash course - watch this if you have no robotics experience
- Open Mower - open-source outdoor lawn mower
- AlieksieievYurii/vacuum-cleaner — a DIY 3D-printed robot vacuum (Raspberry Pi Zero W, gyroscope-based, Fusion 360, Android control app, no dock)
User requirements & Design research
Anecdotal prospective user requirements - collected mostly in r/RobotVacuums, r/ROS and as announcement post comments:
- open-source
- 3D printed first
- cleans well, a first-class appliance, not a throwaway build
- never gets stuck
- hair tangle-free
- modern capabilities - no legacy drag mop; dual-spinning rotary mop or better/roller
- bagless
- hackable, DIY fixable, upgrade-able
- examples: vacuum-only version, mop-only version
- Raspberry Pi
- Home Assistant integration
- operates without cloud
- later: ability to retrofit existing legacy vacuum cleaner robots
About
The project name "OOMWOO" is a rotational ambigram - it reads the same flipped 180°, like the robot itself, roaming your floor in every direction.
The project is sponsored by makerspet.com and remake.ai. We are reusing their open-source solutions.
- If you'd rather skip the parts hunt, a kit (motors, PCB, brushes, gaskets, LiDAR) will be available at makerspet.com, from the same maker behind this project. The kit is a convenience, never a requirement. Everything here stays open.
- When we get to apps, remake.ai will be providing its robot apps platform and app store. Using the app store will be entirely optional. The vacuum will always support cloud-free, local operation for regular functionality out-of-the-box.
License
Code is released under the Apache License 2.0.
Hardware design files, once added, to be released under an open hardware license (TBD).


