oomwoo is a free, open source internet of things (iot) project written in Python and released under Apache-2.0. It has 11,061 GitHub stars, 692 forks and 3 open issues, and was last pushed 4 days ago. On this registry it ranks #4 of 41 tracked projects in Internet of Things (IoT), with 5 head-to-head comparisons available.

What is oomwoo?

OOMWOO is an open-source robot vacuum cleaner that you build yourself from a Raspberry Pi CM4 or CM5, 3D-printed parts, Arduino and ESP32 electronics, and ROS2 software, aimed at makers and Home Assistant users who want a local, cloud-free cleaning robot they can hack, repair, and extend.

What it is

OOMWOO is an open-source home robot vacuum built using Raspberry Pi, 3D-printing, Home Assistant, Arduino and ROS2. It uses an affordable 2D LiDAR to map a home and navigate on its own, and its stated goal is an affordable, fully open hardware, software and firmware stack with home appliance product quality rather than a throwaway build. The project is written in Python, licensed under Apache-2.0, and is in active development.

The concrete problem it addresses is the closed, cloud-tied consumer robot vacuum. Regular functionality runs locally with no cloud required and no vendor lock-in, the chassis is 3D-printable and hackable, and parts are sourced by the builder rather than bought as a sealed unit. It lives in the robotics and IoT ecosystem alongside ROS2, Nav2 and Home Assistant. Until the OOMWOO hardware design is finished, the project ships a placeholder real vacuum cleaner, the Proscenic M6 Pro, together with tutorials for connecting it to ROS2, so the software stack can be exercised on real hardware in the meantime.

Key capabilities

  • 2D LiDAR mapping and autonomous navigation through ROS2 and Nav2.
  • Native Home Assistant integration for local control.
  • Local operation with no cloud required for regular functionality, and optional extra functionality when connected to the cloud.
  • 3D-printable, documented and hackable chassis, with 3D-scanned sourced parts held in oomwoo-one-cad/lib.
  • Raspberry Pi CM4/CM5 running ROS2 as the compute platform.
  • A ROS2 Gazebo simulation delivered through the oomwoo-install software development environment, so work proceeds before hardware exists.
  • A rough bill of materials in BOM.md and a robot description package in oomwoo-one, with apps on top of ROS2 to customize vacuum operation.

Who uses it and how

  • Makers who own a 3D printer and a Raspberry Pi and want an appliance-quality build rather than a disposable one.
  • Households already running Home Assistant that want vacuum control kept local instead of routed through a vendor cloud.
  • ROS2 developers who prototype in the Gazebo simulation from oomwoo-install before any parts are assembled.
  • Community contributors working from the RFC board: a volunteer picks a module from contributions/README.md, builds the package in her own repository, and sends a short pull request linking it, while documentation and specs are contributed in-tree under contributions/module-name/.
  • Builders testing the stack today against the placeholder Proscenic M6 Pro vacuum and its ROS2 connection tutorial, while the OOMWOO design is completed.

Getting started

Start with the software development environment and ROS2 Gazebo simulation in makerspet/oomwoo-install, alongside the oomwoo-one robot description package and the tutorials at makerspet.com/learn. Hardware build, setup, bringup and troubleshooting instructions are slated for docs/BUILD_INSTRUCTIONS.md in Fall 2026.

How it compares

This entry names no paid products that OOMWOO replaces and no comparable open-source robot vacuum projects, so it stands alone in this registry. The only contrast the facts support is with commercial robot vacuums on the axes the README states as goals: open hardware, software and firmware, local operation without cloud, and no vendor lock-in.

When to use it — and when not to

A self-hoster takes on sourcing every part from the bill of materials, 3D-printing the chassis, assembling the robot, and running ROS2 on a Raspberry Pi, so this is a project for someone who wants that work rather than a product. Anyone who needs a working vacuum now should not pick it: 3D-printable files, the Raspberry Pi software, the motor driver and sensor PCB boards in oomwoo-pcb, the I/O PCB firmware in oomwoo-io-firmware, the build instructions and demo videos are all still unchecked, and the available bill of materials is explicitly a rough version.

project readme (upstream, from github) — read inline

OOMWOO

Open-source robot vacuum you build yourself

Clean well · Hackable · Raspberry Pi · 3D printed · Local / No cloud required · Home Assistant · Arduino · ROS2 · ESP32

License Status

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:

Reference robot vacuum cleaner top Reference robot vacuum cleaner bottom Reference robot vacuum cleaner - top cover removed

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 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:

Contributing

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/. 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.

  1. Pick a contribution from the RFC board.
  2. Let us know you're working on it and your progress.
  3. 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), 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

Related prior art

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).

Frequently asked questions

Is oomwoo free to use?

oomwoo is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does oomwoo do?

Open-source vacuum robot cleaner

What is oomwoo written in?

oomwoo is primarily written in Python. Its source is publicly available at https://github.com/makerspet/oomwoo, and it has 11,061 GitHub stars.