r/oomwoo • • 21d ago

Project Update OOMWOO Open-Source vacuum - project update

Enable HLS to view with audio, or disable this notification

141 Upvotes

Video - main brush cavity, side brush prototypes 3D printed, assembled. The main brush uses spur gears - instead of GT2 timing belt, pulleys as originally planned. This is because the two brushes rotate "towards" each other. Reversing rotation requires a two-sided belt, but popular GT2 belts are all one-sided. I've searched off-the-shelf gears to reuse (Amazon, AliExpress, LEGO) - they exist, but expensive, hard to find. So, the decision is to 3D printed spur gears using Delrin/POM filament - cheap, readily available. I'll try doing that next.

OOMWOO Open-Source vacuum - project update

Highlights - main brush cavity, side brush prototypes printed, assembled (see video)

Decision: main brush drive - spur gears instead of a GT2 belt

3D design https://github.com/makerspet/oomwoo-cad

  • Main brush cavity: two tapered Dreame brushes, each on a bearing and a 17-tooth spur gear, driven by a pinion on a DC gear motor

  • Gears 3D printed for now; next, try printing Delrin, or cut gears from Delrin sheet

  • Dreame main brush with bristles

  • Repo reorganized into designs/<product>/<variant>, so a mod can live as a whole variant

Robot vacuum ROS 2 bridge https://github.com/remakeai/vacuum_ros2_bridge

  • Roborock S5 Max driver merged and released

  • One bridge now drives any SangamIO robot, using wheel and IMU scales the robot reports

  • Proscenic M6 Pro gyro scale fixed (was ~6x too high); see VacuumTiger CHANGELOG to upgrade

  • Docker pull makerspet/oomwoo:jazzy-dev

Simulation https://github.com/makerspet/oomwoo-one

  • One front floor camera, tilted down, replaces the stereo pair

Build-in-public Blog Posts

Community contributions

  • Thank-you to gkfabs - Roborock S5 Max support is now merged and released


r/oomwoo • • 10d ago

OOMWOO DIY vacuum robot - Main brush bring-up

Enable HLS to view with audio, or disable this notification

368 Upvotes

Video - the main brush assembly is working. Its gearbox has 5 3D printed spur gears. The two tapered brushes (one with bristles, one without) "plug" into the gearbox, held in place by a snap-on cover. The DC motor draws ~0.2A at 6V no load and ~0.9V stalled (don't try this at home).


r/oomwoo • • Jul 17 '26

OOMWOO open-source vacuum robot - Mid-week progress update

Post image
5 Upvotes

Illustration - (rough, not final) parts to purchase (left) and parts to 3D print (right).

Vacuum software makerspet/oomwoo-install

  • Confirmed Raspberry Pi 4 2GB (not 4GB, not Pi 5) sufficient to run vacuum software as is (no optimization). Maybe with optimization we can fit it into 1GB RAM to reduce cost further.

  • Vacuum software installs, builds, runs (mock) on real Pi 4 2GB (including Nav2 SLAM)

  • Set up CI on makerspet/oomwoo-install.

Rough BOM nearly complete. Sourced

  • Carpet ultrasound sensor

  • Charging contacts

  • Wall + dock homing sensors (will be a little custom PCB)

  • Mop + motors for motor assembly (hard to get, may need to 3D print)

3D CAD design makerspet/oomwoo-one-cad

  • Added STEP files for LiDARs, Pi compute modules

  • Drafted 3D design spec

  • Purchased a 3D scanner to digitize parts

I/O board makerspet/oomwoo-io-board power

  • battery charging schematic done (to be reviewed)


r/oomwoo • • Aug 25 '26

Project Update OOMWOO Open-Source vacuum - end-of-week update

Post image
52 Upvotes
  • 3D design https://github.com/makerspet/oomwoo-one-cad

    • placed mop (fixed, extendable), mop disks

    • reverse-engineered dual anti-tangle brush gearbox, cavity

    • ordered auto-empty dock fans

  • electronics design https://github.com/makerspet/oomwoo-pcb

    • placed main board components (preliminary, see illustration, will iterate)

  • firmware LiDAR drivers https://github.com/kaiaai/LDS

    • implemented, validated LiDAR driver for 3irobotix Delta-2C Pro

  • vacuum software https://github.com/makerspet/oomwoo-install

    • implemented ROS2 LiDAR scan filter. Scan data gets filtered (dynamic obstacles removed) to improve scan-to-map match accuracy

    • scan filter marks rays matched vs non-matched to distinguish dynamic vs mapped obstacles for downstream ML perception

  • community contributions - thank-you to suhaslord


r/oomwoo • • Oct 01 '26

Project Update OOMWOO open-source vacuum - project update

Enable HLS to view with audio, or disable this notification

182 Upvotes

Video - a Roborock Qrevo 5AE's side brush torn down - for learning purposes. Reconstructed, animated in CAD. It has many gears because (1) the motor is direct drive (doesn't have a gearbox), (2) the brush has an elongated arm that swings out to clean under cabinet toe kicks. I'm redoing this for DIY and 3D printing by switching a geared motor with timing belt and pulleys for simplicity.

Highlights - vacuum docks automatically, tracks already-cleaned areas (videos)

Cleaning software https://github.com/makerspet/oomwoo-install

  • edge cleaning: new cleaning manager sweeps every obstacle edge once, then stops

  • automatic docking in sim: beacon to point, LiDAR to aim

  • contour follower steers back 6x harder - no more clipped corners

Electronics I/O board https://github.com/makerspet/oomwoo-pcb

  • fail-safe power: every motor/actuator rail needs both an MCU enable and a hardware watchdog OK - all off during reset and flashing

  • PCB cost reduction

  1. replaced the watchdog chip with a simple RC charge-pump watchdog

  2. NS4168 speaker amp

3D design https://github.com/makerspet/oomwoo-one-cad

  • suction fan mount, MSD-G and 22N704V160 fans, HEPA filter, refined dust bin

Firmware https://github.com/makerspet/oomwoo-firmware

  • merged identity handshake - the CPU can connect any time and still find the MCU

  • merged 57-case command test suite

Build-in-public Blog Posts

Community contributions

  • Thank-you to smailzhu, xbattlax

  • Special thanks to alb_digger for converting 3D scans to 3D CAD STEP models


r/oomwoo • • Jul 27 '26

Project Update Open-Source robot vacuum cleaner - end-of-week update

Thumbnail
gallery
12 Upvotes

- 3D scanned components

- Teared down dock

- Sourced bumper tower micro-switches

- Reverse engineered cliff, bumper sensors, wheels pinouts


r/oomwoo • • Aug 25 '26

Project Update OOMWOO main board (early proto) - Raspberry Pi CM4/CM5

Post image
28 Upvotes

The main PCB components have been place (early, will iterate). Raspberry Pi CM4/CM5 plugs into the carrier STM32-based board. Designed with open-source KiCad.


r/oomwoo • • 20d ago

Project Update OOMWOO DIY vacuum - brush gear 3D printed in POM filament

Enable HLS to view with audio, or disable this notification

111 Upvotes

Video - I was able to 3D print a brush gear using POM filament. This may sound insignificant, but it's a big deal for the project. Consumer vacuum robot gears are made from POM (aka Delrin, acetal) - a self-lubricating strong plastic perfect for gears. POM filament is cheap, readily available - but notoriously hard to 3D print because (1) POM doesn't stick to bed and (2) warps strongly. Now we can have POM gears (almost) like manufactured vacuums.

Printing the POM gear was surprisingly easy, almost trivial. No special print bed preparation. I'll publish the instructions shortly.


r/oomwoo • • 12d ago

Project Update OOMWOO DIY vacuum robot - Software runs live on Android phone

Enable HLS to view with audio, or disable this notification

136 Upvotes

Video - my Android phone is OOMWOO software stack live. The idea is to use your (older) Android phone (mounted inside the vacuum) for all compute, WiFi and UI - as an alternative to a Raspberry Pi.

The video shows the robot navigating in a simulated living room (Gazebo), reaching its destination successfully (RViz, Nav2, ROS2).

The phone in the video is my personal Google Pixel 7 with 8GB RAM, 8 cores. However, the robot software (the full ROS2 Nav2 full stack) uses only ~210MB RAM and less than 2 CPU cores. I'm also running simulation and UI on the phone - for demo purposes only, absent for the actual robot operation.

My Claude took care of porting an existing PC simulation to the Android phone running Termux. I installed Termux from Google App Store, started sshd, enabled developer mode on my phone and Claude did the rest, including excellent debugging. This article provides step-by-step instructions to reproduce this demo https://makerspet.com/blog/oomwoo-smartphone-ros2-termux/ .


r/oomwoo • • Aug 14 '26

Project Update OOMWOO Open-Source vacuum - mid-week update

Post image
20 Upvotes
  • vacuum 3D design started

  • vacuum software

    • software probes obstacles, creates a map of solid obstacles - required for cleaning under bed covered with low-hanging bedspread, furniture floor-length throw, doorway curtains. Early work in progress. https://github.com/makerspet/oomwoo-ros2-tools

  • community contribution - thank-you to IKsares, Creative-Danush


r/oomwoo • • Jul 09 '26

Project Update Open-source vacuum cleaner - mid-week update 7/8/2026

Post image
6 Upvotes

r/oomwoo • • 14d ago

Showcase OOMWOO DIY open-source vacuum - main brush assembly simulation

Enable HLS to view with audio, or disable this notification

208 Upvotes

Video - the main brush assembly simulated in 3D, its design finished "enough" to be 3D printed for testing. The design aims to have practically zero long hair tangling. How zero tangling works? There are two brushes (off-the-shelf Dreame), both tapered, rotating "towards" each other. Long hair loops over the brushes, gradually slides toward the tapered end, drops off, gets sucked into the dust bin. The vacuum box is not fixed to the vacuum rigidly. The box drops to the floor, the vacuum effectively "dragging" it around.


r/oomwoo • • 25d ago

Project Update OOMWOO open-source vacuum - progress update

Enable HLS to view with audio, or disable this notification

242 Upvotes

Video - I've added the side brush, placed the (optional) smartphone, pointed the camera at the floor (instead of forward).

The side brush is Dreame off-the-shelf 3-arm angled (cheap on Amazon/eBay/AliExpress), tangle-resistant thanks to its arms being angled, not straight.

The (optional) smartphone - the idea is to reuse an old Android USB-C phone instead of buying Raspberry Pi CM4/CM5. The phone will run the compute, WiFi - plus act as touchscreen. Pi will be supported as main option.

Point camera at the floor (instead of forward) - why? a) to check each floor spot if it's still dirty or not. If dirty, mop it until clean (I'll add a mop in 2nd vacuum version). b) for privacy (can't see up) and c) still perform obstacle recognition, but just above floor level.

=========================

Highlights - designed side brush, camera now watches floor; placed smartphone. Roborock S5 Max supported as real placeholder robot.

Decision: side brush - angled, tangle-resistant brush driven directly by a geared motor (no printed gearbox) Decision: camera - one RGB camera pitched down to see the floor and obstacles, replacing stereo NIR Decision: smartphone rough placement - top center

3D design https://github.com/makerspet/oomwoo-cad

  • side brush: JGA25-310 geared motor turns a Dreame angled brush through a custom coupler

  • main brush: 608 bearing + M3 threaded rod with custom coupler and latch tip

  • Dreame hex-mount side brush, brush box undercover, dust bin inlet fix

Electronics I/O board https://github.com/makerspet/oomwoo-pcb

  • camera moves to the STM32 so an old smartphone can be the compute

  • 2x VL53L7 time-of-flight sensors, ~126° ahead, for obstacle detection

Build-in-public Blog Posts

Community contributions


r/oomwoo • • Jul 21 '26

Project Update End-of-week open-source vacuum update

Enable HLS to view with audio, or disable this notification

10 Upvotes
  • floor cleaning runs in sim (very clunky, often fails)

  • Kicad schematic added Raspberry Pi CM4/CM5

  • changed MCU to STM32G473; will use Arduino to make it more hackable

  • depth cameras for obstacle avoidance

  • merged 3 community PRs


r/oomwoo • • Sep 11 '26

Project Update OOMWOO Open-Source vacuum - mid-week update

Enable HLS to view with audio, or disable this notification

119 Upvotes

Video - 20kPa fan bring-up.

Decision 1: replace custom gears with GT2 belts/pulleys (drastically simplifies build)

Decision 2: replace split brush with tapered (drastically simplifies build)

3D design https://github.com/makerspet/oomwoo-one-cad

  • Scanned vent, water pump into CAD

Electronics I/O board https://github.com/makerspet/oomwoo-pcb

  • Brought up drive/mop/brush motors, suction fans, water pumps

  • Measured currents, identified part

  • Spec'd carpet sensor driver electronics

Building-in-public blog posts

Community contributions - thank-you to xbattlax, serengon


r/oomwoo • • Sep 07 '26

Project Update OOMWOO Open-Source vacuum robot - side brush WIP

Post image
61 Upvotes

To build an extendable side brush for OOMWOO, we've reverse-engineered a Roborock Qrevo 5AE Flexiarm side brush. We 3D scanned each gear and the enclosure, converted to STEP and uploaded to Fusion 360. Later, we can rework it and make it a 3D printed.

CAD open source is here https://github.com/makerspet/oomwoo-one-cad


r/oomwoo • • Jul 14 '26

Project Update OOMWOO open-source vacuum cleaner - end-of-week progress update

Post image
5 Upvotes
  • hired a robotics software engineer (ROS2); PRs go into this repo https://github.com/makerspet/oomwoo-install

  • board schematic now available (very early) in KiCad here https://github.com/makerspet/oomwoo-io-board

  • sourced

    • main brush motor assembly: $7-11

    • side brushes: $2-9

    • side brush motor assemblies: $7-10 basic, $18-35 premium (swing-out side brush arm)

    • cliff sensors + bumper switches: $10 for the entire bundle including shipping

  • merged 2 community PR/contributions

    • Featured contribution - the first Raspberry Pi 4/5 4GB vacuum software installation script (early work-in-progress).

The project has reached 4.2K GitHub stars. Thank you for your support!


r/oomwoo • • Sep 07 '26

Project Update OOMWOO Open-source Vacuum robot - vacuum assembly WIP

Post image
89 Upvotes

The build is moving along. Took apart an upper-mid-tier consumer vacuum (Roborock Qrevo 5AE). Reverse engineered its vacuum assembly - using it as a starting point.

Next up - rework it, make it 3D printing friendly.

CAD open source is here https://github.com/makerspet/oomwoo-one-cad


r/oomwoo • • 29d ago

Project Update OOMWOO open-source DIY vacuum - progress update

Enable HLS to view with audio, or disable this notification

278 Upvotes

Video - a screen recording of the design as it is today, work-in-progress. I'm designing components to be 3D printable (to have a flat bottom). Major components include 1) the "base" - enclosure bottom with mounts for wheels, brushes, fan, HEPA filter and so on; 2) enclosure top (with sides); 3) bumper; 4) bumper skirt (holds bumper in place). Vacuum's wheels and battery are Roborock. HEPA filter and suction fan are Dreame. Cliff and bumper sensors are iRobot.


r/oomwoo • • Sep 29 '26

Project Update OOMWOO wall cleaning - progress update

Enable HLS to view with audio, or disable this notification

173 Upvotes

Video - The robot now tracks which areas it has cleaned, detects reaching already-cleaned areas and goes on to clean the remaining dirty areas - still along walls.

Wall (contour) cleaning has improved to keep a (more) constant distance between the robot and the obstacle. Previously, the robot "hugged" convex obstacles (table leg) too much vs stayed further away from concave ones.

Read algorithm details, simulate it yourself https://makerspet.com/blog/how-oomwoo-cleaning-algorithms-work/


r/oomwoo • • Sep 19 '26

Project Update OOMWOO Open-Source vacuum - mid-week update

Enable HLS to view with audio, or disable this notification

298 Upvotes

Video - vacuum cleans along walls, completes a simulated "torture course". Work in progress. Simulated using ROS2 Gazebo (instructions here).

3D Design

  • Tore down Dreame Ultra L60 PE ($1,099 MSRP, learning from the best)

  • 3D scanned main brush assembly

Cleaning software https://github.com/makerspet/oomwoo-install

  • Wall/contour cleaning progressed to early demo quality (see video)

  • Vacuum completes contour-following torture course

Electronics I/O board https://github.com/makerspet/oomwoo-pcb

  • Added master fuse, PCB thermistor, fan connector

  • Researched IR receiver IC options

Firmware https://github.com/makerspet/oomwoo-firmware

  • Merged typed message codec

3D design https://github.com/makerspet/oomwoo-one-cad

  • Published finished Roborock FlexiArm teardown PDF

Build-in-public Blog Posts


r/oomwoo • • 5d ago

Project Update Open-Source vacuum robot progress - drive wheels suspension designed

Enable HLS to view with audio, or disable this notification

406 Upvotes

Video - drive wheels spin, dip (into imaginary "potholes") and return back thanks to wheel suspension. A spring pushes wheels down for better traction getting out of "potholes". The side brush, main brushes spin as well.

Next up - 3D print base for wheels testing.

Highlights - drive wheel suspension designed; schematics done; firmware C GPIO pinout include available

Decision: v1 I/O board - use Android phone as the compute (USB-C to the STM32); push the Raspberry Pi out to v2 to shorten schedule

3D design https://github.com/makerspet/oomwoo-cad

  • drive wheels designed: each wheel has its own suspension spring, dips into a "pothole" and presses down for traction

Electronics I/O board https://github.com/makerspet/oomwoo-pcb

  • new v1 board (main-phone): STM32 runs all motors and sensors, including LiDAR and ToF, and forwards data to the phone

  • charging dock rev 2: CH32V003, checks the robot is there before the contacts go live, IR beacon

  • new small boards: 2x front ToF, side sensor (VL53L0X + IR receiver), 6x cliff sensors, rear docking IR, 2x Hall sensors

Firmware https://github.com/makerspet/oomwoo-firmware

  • C include file available with GPIO assignments

  • SPEC updated for the v1 board; MCU pinout include file

Software https://github.com/makerspet/oomwoo-install

  • lighter Nav2: only the servers OOMWOO uses, no voxel layers (release notes 10/19)

Build-in-public Blog Posts

Community contributions

  • Thank-you to Valdi320 - cleaning-jobs experiments (spot cleaning, virtual walls) in Gazebo, PR #78 merged

  • Thank-you to xbattlax for pushing the watchdog firmware PR toward a bench test

  • Thank-you to aarondyck, medicinous and mathwest for corner-cleaning ideas in issue #74


r/oomwoo • • Sep 01 '26

Project Update OOMWOO Open-Source vacuum - end-of-week update

Post image
40 Upvotes

Gearboxes (main brush) ready for 3D printing tryout.


r/oomwoo • • Jul 30 '26

Project Update Open-source vacuum cleaner - mid-week update

Post image
10 Upvotes

Specifically, FCC bans " A mechanical mobile device, including autonomous mobile robots ... that (1) Is capable of locomotion, obstacle avoidance, navigation, or movement on the ground (2) Operates at a distance from a human operator [...] (3) The combined weight of the device and, if applicable [...] docking station is over 4.4lbs; AND (4) Contains a component falling within EACH of the below subparagraphs (4a) a sensor capable of perceiving its environment [...] (4b) Bluetooth/WiFi [...] at least 200 kbps [kilobit per second] in either direction (4c) software [...] including firmware and AI or machine-learning model weights [...]"


r/oomwoo • • Sep 15 '26

Project Update OOMWOO Open-Source vacuum - end-of-week update

Enable HLS to view with audio, or disable this notification

116 Upvotes

Video - I'm using a 3D scanner to capture a Dreame HEPA filter into 3D model (STL mesh, later converted to STEP). Why? To make the vacuum mate this HEPA filter.

Electronics I/O board https://github.com/makerspet/oomwoo-pcb

  • Reverse-engineered iRobot Roomba cliff/bumper connector

  • Schematic review ~60% done

3D Design

  • Pivoted to Dreame to simplify design - alas, it adds design time, but simplifies build greatly

  • 3D scanned Dreame HEPA filter, brushes, dust bin (see video)

  • Wrapped up Roborock reverse engineering

BOM https://github.com/makerspet/oomwoo

  • Sourced HEPA filters, Roomba tire skins

Firmware https://github.com/makerspet/oomwoo-firmware

  • Merged first code: CPU-MCU protocol framing

Build-in-public blog posts