Early development · simulate today, hardware in design

Open-source robot vacuum you build yourself.

Raspberry Pi, ROS2 and 2D LiDAR. It maps your home and cleans on its own — fully local, no cloud, no lock-in. The firmware is open, so you can audit it and nothing leaves your home. 3D-printable and hackable.

Clean well Hackable Raspberry Pi ROS2 Home Assistant 2D LiDAR 3D printed ESP32 · Arduino Apache-2.0
OOMWOO robot vacuum — reference design, top view Reference design — roughly how it'll look

See it working

Short, unpolished clips straight from the simulator and the workbench.

The robot, designed to print 3D design

Base, enclosure and bumper each have a flat side to print on, built around off-the-shelf wheels, battery, fan and sensors.

Cleaning walls and tracking cleaned areas Simulation

Sweeps along every wall and obstacle once, and keeps track of what is already clean.

Automatic docking tests Simulation

Finds the dock by its beacon, then lines up on it with the LiDAR.

3D scanning a HEPA filter into CAD 3D design

Every part we buy is 3D scanned, so the chassis can be designed around it.

More build videos on YouTube →

Where the build is

Built in the open, so here is the honest state of it.

Can I build one? Not yet - you can simulate it today. The chassis and the I/O board are still being designed. Nothing is hidden while that happens: parts, CAD, schematics and code are all public as they land, and the step-by-step build guide follows once the first bill of materials is validated on real hardware.
Simulation90%

Drive it in Gazebo today - SLAM, navigation, teleop. No hardware needed.

Electronics: I/O board55%

Schematic in review, parts placed. The board outline waits on the mechanical design.

Cleaning software40%

Cleans along every wall and obstacle edge, and docks - in simulation. Whole-floor coverage is next.

Mechanical & 3D design30%

Printable base, enclosure and bumper designed, around metal-gearbox motors and simple printed gears. Mechanisms in progress.

MCU firmware10%

Serial protocol between compute and motor board merged and tested.

Updated 5 Oct 2026 · task-by-task detail on the RFC board →

Built in public

Long-form write-ups of what we're building, how, and why - including what didn't work.

Everything's open.

Print chassis, install software — or just follow along while it comes together.

Main repo

Goals, architecture, design research and the whole open build in one place.

Open on GitHub →

Install & simulate now

The dev environment is ready — install it and drive oomwoo-one in Gazebo (SLAM, Nav2, teleop), no hardware needed.

Follow tutorial →

Run on real vacuum

No hardware to wait for — connect an off-the-shelf Proscenic M6 Pro to ROS2 as a placeholder robot and run the same stack on real hardware.

Follow tutorial →

Under the hood

Not a sealed appliance — an open platform you assemble, understand, and modify.

OOMWOO underside — drive wheels, main and side brushes, caster and sensors
Underside — drive wheels, brushes, caster and cliff sensors, all sourced or printed.
OOMWOO with the top cover removed, showing the internal layout
Top cover off — LiDAR, battery, suction fan and the I/O board you can actually get at.

Built by community, in parallel

The robot is split into independent modules (RFCs). Pick one, work when you want, open a PR.

Questions

The ones we get asked most.

Can I buy one?

Not yet. You can run it in simulation today, but the chassis and electronics are still being designed - see where the build is. Subscribe below to hear first when kits are available.

Will there be a kit, or do I source everything myself?

Either will work. A kit will be optional: the CAD, schematics, firmware, software and bill of materials all stay open, so you can buy the parts and print it yourself.

Can I try it without any hardware?

Yes. The dev environment runs in Docker - drive OOMWOO in Gazebo with mapping and navigation, no robot needed. Or run the same software on an off-the-shelf Proscenic M6 Pro.

Can I use an old Android phone instead of a Raspberry Pi?

That’s the plan: the phone becomes the robot’s touchscreen and its brain. The phone software doesn’t exist yet, so this spec is provisional:

  • USB-C with USB OTG (host) support - the robot’s board connects to the phone over USB
  • 64-bit Android - Ubuntu and ROS 2 need it
  • 4 GB RAM minimum, 6 GB or more recommended. ROS 2 with mapping runs in 2 GB on a Raspberry Pi 4, and Android needs about 2 GB of its own
  • A CPU faster than a Raspberry Pi 4 - most phones from about 2018 on
  • About 8 GB of free storage
  • It has to fit the phone spot in the robot (size to be announced)

Ubuntu with ROS 2 has already run on a Pixel 6 Pro. Newer Android versions restrict background apps, so expect a setup step or two. A Raspberry Pi CM4/CM5 stays the main option.

Does it need the cloud or an internet connection?

No. It maps and cleans locally, and nothing leaves your home. Home Assistant integration is there if you want it.

How can I help build it?

Pick a task from the Requests for Contributions board, read the contributing guide and say hi on Discord. Code, CAD, electronics and testing are all welcome.

Do you accept donations?

Thank you for asking! Money is not an issue, so I'm not looking for donations. The best help is spreading the word - tell a friend who would want one, share OOMWOO online, or star the repo. You can also subscribe below to hear when kits are available, or pick up a task on the RFC board.

What is the license?

Code is Apache-2.0. Hardware design files will use an open hardware license, still to be chosen.