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
Early build instructions will be available in Fall 2026.
Reference design images - this is approximately how the finished design will look:
- 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 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 cleaner and tutorials (temporary while OOMWOO is being designed)
- 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)
Would you like to contribute? See CONTRIBUTING for the full guide.
OOMWOO is organized to 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.
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), 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.
- OOMWOO ROS2 and Ubuntu installation source code
- OOMWOO ROS2 URDF package and config source code
- remakeai reference vacuum teardown — a consumer LiDAR vacuum with a basic dock and stationary mop.
- 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/LDS, kaiaai/lds2d — open-source 2D LiDAR libraries (C++, Python) supporting 23+ LiDAR models
- remakeai/vacuum_ros2_bridge — ROS2 bridge for a 3irobotix CRL-200-based vacuum (Proscenic), 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)
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
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.
Code is released under the Apache License 2.0.
Hardware design files, once added, to be released under an open hardware license (TBD).


