moxon-frame-generator
simple generator for 3D-printed frames for a moxon rectangle antenna
Open-source vacuum robot cleaner
git clone https://github.com/makerspet/oomwoo.gitmakerspet/oomwooOpen-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:
v0 target: bare-bones build:
Open Source Deliverables:
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, see list below.
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.
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.
| Module | ID | Status | Notes |
|---|---|---|---|
| ROS2 URDF + Gazebo sim | urdf-gazebo-sim | In progress | Placeholder URDF + Gazebo sim (reference: oomwoo-one; @alvarosamudio featured), refined when hardware lands |
| First clean: coverage + mapping + exploration | clean-and-map | In progress | Coverage cleaning while SLAM-mapping and exploring |
| Auto cleaning | In progress | Clean the entire room using an existing map (using coverage path planning) | |
| Regression tests | In progress | Set up simulatior regression test framework (auto cleaning in Gazebo) | |
| Localization & navigation on a known map | nav-localize | In progress | Nav2 nav, AMCL localization, relocalize when lost, resume map |
| Dock cycle: undock, dock, recharge | dock-cycle | Ready to start work | Undock, return-to-dock, precise docking, station services, find dock when lost |
| Recovery behaviors & safety | recovery-safety | Ready to start work | Recovery ladder, escalation, pause-and-alert, safety sensors, status reporting |
| Stack health monitor & software watchdog | health-monitor | In progress | Per-component alive-and-well heartbeats + a roster-aware aggregator that feeds the MCU deadman; stops the robot when any critical node crashes / hangs / is missing — the soft-fault layer above the MCU's hard reflexes |
| Near-field obstacle avoidance (camera + ToF) | obstacle-avoidance | Ready to start work | v2 "never gets stuck": front camera + VL53L7CX ToF detect below-LiDAR obstacles (cables, socks); detect-then-classify |
| Compute benchmark & memory reduction | compute-benchmark | In progress | Measure ROS2/Nav2/SLAM memory, compare composable nodes, and track the 4 GB -> 2 GB target |
| Floor-surface handling & edge cleaning | floor-care | Ready to start work | Wall/edge following, carpet vs hardwood, mop lift/lower |
| Cleaning modes, zones & job orchestration | cleaning-jobs | Ready to start work | Modes (regular/spot), virtual walls, room segmentation, job splitting + resume |
| Control app & UX (design-first) | control-app | Ready to start work | Local-first control app/UI — a client of the ROS2 stack + Home Assistant; design-led (welcomes designers): prioritize features, concept the MVP surface (start/stop, live map, status, zones) |
| Live robot bring-up & validation | live-robot-bringup | Ready to start work | Connect the placeholder Proscenic M6 Pro to ROS2, re-run sim tests on hardware |
| Source 3D models (STEP) for BOM parts | source-3d-models | In progress | Obtain / measure / model STEP files of off-the-shelf parts (wheels, fans, caster…) so mounts fit |
| Procure part specs & datasheets | part-specs | In progress | Find/measure/reverse-engineer specs (pinouts, encoder PPR, torque, how to drive fans…) for sourced parts |
| I/O + motor-driver PCB | io-pcb | In progress | I/O board with CM4/CM5 socket, STM32G070 MCU - motors, sensors, 4S2P charging, safety, FreeRTOS, custom serial to CM4/CM5, 2D LiDAR header, IMU, audio serial/amp/speaker, MIPI camera(s) i/f; KiCad, JLCPCB |
| I/O board software interface | io-board-interface | Ready to start work | CPU/MCU serial contract, ROS2 bridge mapping, safety watchdog behavior, hardware signal ownership, and bringup validation |
| MCU I/O board firmware | mcu-io-firmware | In progress | STM32G473 firmware: Arduino (STM32duino) API + FreeRTOS + a HAL/ISR real-time safety core; motors, sensors, charging, custom serial to the CPU; repo |
| Fit software into 2GB RAM | compute-benchmark | 2GB achieved | ROS2 node composition, Rust; remove Gazebo, desktop UI |
Planned and on-hold modules (mechanical design, later-phase software) live in the RFC backlog.
Anecdotal prospective user requirements - collected mostly in r/RobotVacuums, r/ROS and as announcement post comments:
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.
Code is released under the Apache License 2.0.
Hardware design files, once added, to be released under an open hardware license (TBD).
more like this
simple generator for 3D-printed frames for a moxon rectangle antenna
GPX 轨迹转 3D 可打印地形模型 | Hiking trail to 3D printable terrain | Electron + Vue。 一款面向户外爱好者与 3D 打印玩家的 Web 工具。将 GPX 徒步/骑行轨迹一键转…
Install and monitor KlipperScreen on Android via DroidKlipp APK, USB ADB forwarding, and WiFi fallback
search projects, people, and tags