Build Your Own Robot Vacuum: OOMWOO Runs ROS2 on a Raspberry Pi
You've probably taken apart a cheap gadget at some point and thought, "I could build something better than this." Robot vacuums are a natural target—they're expensive, they're locked down, and they phone home to servers you don't control. OOMWOO is an open-source robot vacuum you build yourself, with a Raspberry Pi for brains, a 3D-printed chassis, and ROS2 handling navigation. No cloud required for the core functionality.
What It Does
OOMWOO is a home robot vacuum project built around a stack you can actually inspect and modify. It uses an affordable 2D LiDAR to map your home and navigate autonomously, with ROS2 and Nav2 doing the heavy lifting on the software side. The compute comes from a Raspberry Pi CM4 or CM5, and the chassis is designed to be 3D printed. There's also Arduino and ESP32 in the mix for lower-level control, plus native Home Assistant integration so you can run and monitor the thing locally.
The project is organized into several repositories. oomwoo-install sets up your software development environment, oomwoo-cad holds the 3D-printable parts, oomwoo-pcb covers motor drivers and sensor boards, and oomwoo-firmware handles I/O firmware. The stated goals are pretty clear: fully open hardware, software, and firmware; an appliance-grade build rather than a throwaway prototype; step-by-step build instructions; and local operation with optional cloud features if you want them. There's even a stretch goal for an app store and LeRobot integration.
One important caveat up front: the README is explicit that OOMWOO isn't buildable yet. You can run it in simulation today.
Why It's Cool
-
It's honest about where it is. The README flatly states "Not buildable yet - you can run it in simulation today." That's refreshing. Plenty of projects bury that detail. Knowing you can't buy the parts and assemble one this weekend saves you from a frustrating false start, and it tells you the maintainers aren't overselling.
-
No vendor lock-in, no cloud dependency. Local operation is the default, not an upsell. If you've ever had a vacuum stop working because a company shut down its servers, this matters. The cloud is optional extra functionality, not a requirement for the robot to clean your floors.
-
The placeholder approach is clever. Rather than waiting until the hardware is done, the project lets you work with real robot vacuums right now. There's a driver for the Proscenic M6 Pro and one for the Roborock S5 Max (contributed by a community member, currently on a feature branch). So you can learn the ROS2 stack on hardware you might already own while the OOMWOO design comes together.
-
Simulation comes first, and it's ready. The software development environment, robot description package, and Gazebo simulation are all checked off the deliverables list. You can install the environment and start experimenting with a simulated OOMWOO today. That's the on-ramp for anyone who wants to contribute before the bill of materials is validated on real hardware.
-
A rough BoM exists. The bill of materials is marked as available in a rough version, and sourced parts have been 3D scanned. That means someone's actually thinking about what you'll need to buy and how the pieces fit together, even if the list isn't final.
-
Home Assistant integration is native. For anyone already running a smart home, this slots in without a separate hub or cloud account. Local control is the whole point.
How to Try It
Since the hardware isn't buildable yet, the practical entry point is simulation. Here's how to get started:
-
Head to the oomwoo-install repository and follow the setup for the software development environment. This gets ROS2 and the OOMWOO packages installed.
-
Once that's done, you can run the Gazebo simulation. There's a tutorial titled "Simulate OOMWOO One Robot Vacuum in Gazebo with ROS 2" linked from the README that walks through it.
-
If you happen to own a Proscenic M6 Pro or a Roborock S5 Max, you can try the placeholder drivers and connect your actual vacuum to ROS2. The Proscenic tutorial is linked in the README, and the Roborock driver lives on the
feat/roborock-s5maxbranch of the VacuumTiger repo. -
Want to follow along or contribute? There's a Discord, a subreddit at r/oomwoo, a newsletter, and a YouTube channel. The README also points to a progress page at oomwoo.com if you want to see where the build stands.
The main repo is at github.com/makerspet/oomwoo.
Final Thoughts
OOMWOO is best suited for people who enjoy the building as much as the result—ROS2 developers, Home Assistant tinkerers, and anyone who's comfortable with a 3D printer and a soldering iron. If you want a vacuum that just works out of the box, this isn't it yet, and the project is upfront about that. But if you're interested in the software side, the simulation is live and the placeholder drivers let you get hands-on now. It's a project worth watching, and if you've got the skills, worth contributing to.