Building an Open-Source Robot Vacuum — Meet OOMWOO

I’m starting a new build-in-public project: oomwoo, an open-source robot vacuum you build yourself. Raspberry Pi, ROS 2, 2D LiDAR, Home Assistant, 3D printed, local-first — and open from the first commit.

Today I’m kicking off my most ambitious Maker’s Pet project yet: oomwoo, an open-source home robot vacuum that you can build yourself. Open hardware, open firmware, open software — and built in public, from the first commit.

No cloud required. No vendor lock-in. It maps your home with an affordable 2D LiDAR and navigates on its own, runs locally, and integrates natively with Home Assistant. If you’re into Raspberry Pi, ROS 2, 3D printing, or just the idea of owning a vacuum you fully understand and control — this one’s for you.

About the name: “oomwoo” is a rotational ambigram — it reads the same flipped 180°, just like the robot itself roaming your floor in every direction.

oomwoo open-source robot vacuum reference design, top view
Reference design — roughly how the finished oomwoo will look.

What oomwoo is

oomwoo is a build-it-yourself robot vacuum designed for the maker community:

  • Affordable and fully open — hardware, software, and firmware
  • 2D LiDAR mapping and autonomous navigation with ROS 2 / Nav2
  • Native Home Assistant integration for local control
  • 3D-printable, documented, hackable chassis
  • Local-first — no cloud needed for everyday cleaning, ever
  • Home-appliance quality — not a throwaway build
  • Step-by-step, zero-to-hero build instructions, with a complete bill of materials so you can source every part yourself

Optional extras — cloud features, and eventually an app store of ROS 2 apps to customize how your vacuum behaves — will layer on top. But the core promise never changes: the vacuum always works cloud-free and local, out of the box.

oomwoo open-source robot vacuum reference design, bottom view
The underside of the reference design.

Where the project is today

This is genuinely early — and that’s the point of building in public. The first milestone (v0) is a bare-bones, working build:

  • 3D-printed chassis
  • ROS 2 Gazebo simulation
  • LiDAR with manual SLAM
  • ROS 2 on a Raspberry Pi 5 and/or ESP32 running micro-ROS (final architecture still being decided)

The open-source deliverables I’m working toward: bill of materials, 3D-printable files, ROS 2 packages, firmware, a motor-driver and sensor PCB, full build / bringup / troubleshooting docs, and demo videos.

oomwoo open-source robot vacuum with top cover removed, internal layout
Top cover removed — a peek at the internal layout.

Build it with me — massively in parallel

oomwoo is organized so the community can build it in parallel. The robot and its software are split into self-contained modules. You pick whatever module interests you, work on it whenever you want, and submit your work as a pull request. Multiple people can tackle the same module — the best solution surfaces over time.

Modules ready to start right now include:

  • ROS 2 URDF + Gazebo simulation — robot model, TF, bumper, sim
  • First clean — coverage cleaning while SLAM-mapping and exploring
  • Dust bin — design, 3D print, and test
  • Vacuum fan / blower assembly — blower motor, impeller, volute housing

If you’d like to jump in, the GitHub repo has the module list, the architecture doc, and contribution guidelines.

Follow along

I’ll be sharing progress, dead ends, and wins as they happen:

Parts Kit

Everything about oomwoo stays open — you can source every part yourself. If you’d rather skip the parts hunt, a convenience kit (motors, PCB, brushes, gaskets, LiDAR) will be available here at Maker’s Pet, from the same maker behind this project. The kit is a convenience, never a requirement.

22 Comments

  1. This is fantastic! Out of curiosity, given the high availability of cheap spare parts on sites like eBay or AliExpress for Chinese-branded vacuums, was it considered to perhaps piggyback on those for more complex parts?

    • Hi Shayne, LiDAR mapping will need 4GB RAM minimum at first. Raspberry Pi 3B+ 1GB might be too tight for first release.

      That said, I’ve seen plenty of vacuums running with less than 1GB RAM. So, the answer is “yes, but not in first release”.

  2. Is there any reason I cant use an existing vac as the base? Just scrap the onboard pcb but use everything else I can?

    • I’ll try making a version to retrofit existing vacuums – likely by mounting a Raspberry Pi, a LiDAR, and I/O board (replacing the internal/original PCB).

      That said, here are the difficulties:
      1) the internal PCB likely has docking IR sensors built in. So, removing the internal PCB can break docking. Same for bumper IR sensors, camera.
      This can be worked around, say, by making a simple placeholder PCB to replace the original.
      2) There are so many consumer vacuum cleaner models out there.
      So, The I/O board will have to take care to support the many different motors, voltages, sensors.

      But I think retrofitting is mostly doable, if laborious.

  3. Could it be designed so, that it would be possible optionally to have emptying dock in later phase, preferably bagless? Something similar my current roborock S7 maxV+ ? It empties the robot’s bin through the same channel it vacuums floors but in reverse direction.

    • Self-emptying dock – yes, absolutely. Roborock S7 maxV+ style auto-empty – I’ll look into this closely. I think it’s doable technically.

  4. This is exactly what I was looking for last months/years. I can barely help you with this project, but I will keep my finger crossed. Great project!

  5. Since Roomba was bought out by one of the antrichrist companies, roomba no longer works. Is it possible to buy the software to download locally to run something like a roomba and forego the antichrist company completely? Thanks.

    • Hello, I thought Roombas kept working after the iRobot bankruptcy. I’ve just tried Googling that and Google says so as well.

      I don’t have a Roomba myself and I don’t quite know about its software for download. But why don’t you try asking your question on Reddit in the vacuum cleaners group? https://reddit.com/r/VacuumCleaners

    • Hi thebeae, thanks for the pointer. I’m a big fan of Valetudo, robotinfo.dev and Dennis Giese. I’ve hacked and installed Valetudo on my Dreame (and it works well).

  6. That was probably the plan, but you should print the logo in capital letters because then it says the same thing when read upside down. [OOMWOO]

  7. Hey! Incredible project!
    Just of curiosity… do you have the final projected cost of the overall project?
    What it would be compared to similar Robot Vacuum of the market?
    Regards
    Bruno

Leave a Reply

Your email address will not be published. Required fields are marked *