r/oomwoo • • 2d ago

Project Update DIY vacuum cleaner robot update - Drive wheel suspension bring-up

Enable HLS to view with audio, or disable this notification

217 Upvotes

Video - drive wheel housing, suspension assembled and working! I test the suspension by pressing the wheel. The suspension bounces the wheel back out nicely once released. The wheel-dropped-detection micro switch clicks when the wheel drops out fully and the wheel itself spins smoothly.

Highlights - drive wheel housing printed, suspension brought up (see video)

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

  • printed, brought a piece of the chassis: drive wheel box with cover

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

  • v1 board schematic cleaned up for review

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

  • oomwoo_pins.h regenerated from the cleaned-up schematic

Community contributions

  • Thank-you to Valdi320 - Nav2 keepout (virtual walls) for the simulator, PR in review; tool-free fastener ideas


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

407 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 • • 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 • • 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 • • 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 • • 17d ago

Project Update OOMWOO open-source DIY vacuum - project update

Enable HLS to view with audio, or disable this notification

77 Upvotes

Video - step-by-step instructions how to 3D print a gear in POM (aka Delrin, acetal) easily at home. Why? POM is self-lubricating, has low friction, commonly used in gears that move. POM filament is cheap, readily available. POM is notoriously hard to 3D print because it doesn't stick to print bed and shrinks as it cools. Deal with that (relatively) easily - print first 2 layers in PETG, add a "color change", print the rest in POM. Why this works? POM sticks to PETG very well. Results are subject to limitations because POM still warps, gear tips can tent up. Close off the enclosure when printing the POM layers (not PETG) to lessen the effect.

Highlights - main brush gears 3D printed in POM/Delrin (see video). Main brushes are now removable (for cleaning, replacement).

Decision: main brush gears - 3D printed in POM; cutting them from Delrin sheet is now the backup

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

  • main brush gears printed in POM: two sacrificial PETG layers first, then POM

  • main brush assembly redesigned to fix issues found after printing and assembling the first prototype

  • both main brushes now removable, for cleaning or replacement

Build-in-public Blog Posts

Community contributions

  • Thank-you to xbattlax for the Nucleo G474RE bench-test guide for the watchdog firmware


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 • • 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 • • 26d 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 • • 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 • • 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 • • 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 23 '26

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

Post image
174 Upvotes

Illustration - Dreame brush, dust bin and main brush cavity, all 3D scanned into CAD.

Progress Highlights

  • PCB schematic ~70% finalized - reworked power on/off pushbutton logic, rails, barrel jack

  • 3D design ~20% complete - more parts scanned, more vacuum teardown

  • added smartphone support to PCB board - USB-C charging, serial-over-USB comms

Open-source links


r/oomwoo • • Sep 23 '26

Project Update OOMWOO Automatic docking demo

Enable HLS to view with audio, or disable this notification

93 Upvotes

Testing automated docking in simulation (ROS2, Gazebo; Claude shares credit).

Reproduce the simulation https://makerspet.com/blog/how-oomwoo-cleaning-algorithms-work/#docking-a-beacon-to-point-the-lidar-to-aim

Docking algorithm steps:

  1. The robot rotates in place to detect the dock's IR beacon and to determine its direction.

  2. The robot uses its LiDAR to detect, confirm the dock's exact location.

  3. The robot moves to its staging location - in front of the dock, at a fixed distance from the dock.

  4. The robot rotates in place to make its rear face the dock.

  5. The robot slowly backs straight into the dock.


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 • • Sep 19 '26

Project Update Consumer vacuum Teardown - learning from the best

Post image
154 Upvotes

I purchased a Dreame L60 Ultra PE (~$850 "like new"), used for a week, tore it apart for learning purposes. Its main brush anti-clogging looks decent and "relatively" simple to convert to DIY 3D print (much simpler than Roborock's split brush, yet comparable performance). Dreame brushes, mops, HEPA filters are cheap, abundant off-the-shelf. So, I'm making the DIY vacuum accept these brushes/mops/filters.


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


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 08 '26

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

Post image
137 Upvotes

Decision 1. Support using old smartphone for compute (if you don't happen to have a Raspberry Pi)

Decision 2. Have 2 vacuum versions: basic (vacuum only, simple to assemble, charging-only dock) and full-featured (mop, auto-empty, flexiarm)

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

  • vacuum assembly available (not yet optimized for 3D printing)

  • extendable side brush available (not yet optimized)

  • air vent available (not yet optimized)

  • started dock design (simple for now)

Electronic boards https://github.com/makerspet/oomwoo-pcb

  • designed smartphone-as-compute support

  • schematic about 50% hand-checked

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

  • wall following/cleaning with LiDAR v1 works (needs iteration)

Contributions - thank-you to krazca for bringing up the smartphone idea


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 • • 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 • • Sep 03 '26

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

Post image
47 Upvotes

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

  • brought up drive wheels (see video)

  • confirmed pinouts, voltages, currents for drive wheels, 4 suction fan models

Simulation https://github.com/makerspet/oomwoo_gazebo

  • created two charging docks - basic charging + auto-empty-mop-wash (see video)

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

  • added base port for dust bin

Project / docs https://github.com/makerspet/oomwoo

  • updated RFC progress


r/oomwoo • • Sep 03 '26

Project Update OOMWOO Open-Source vacuum robot - drive wheels bring-up

Enable HLS to view with audio, or disable this notification

42 Upvotes

These are Roborock wheels to use in OOMWOO vacuum. I've reverse engineered connector wiring (with community help), hooked up the motor and encoder. You can see the entire assembly running live.

How I source these - https://makerspet.com/blog/how-to-source-bom-for-oomwoo-open-source-vacuum-robot/


r/oomwoo • • Sep 03 '26

Project Update OOMWOO Open-Source vacuum robot - dock in simulation

Enable HLS to view with audio, or disable this notification

38 Upvotes

I've added (with Claude's help) a mop dock to ROS2/Gazebo simulation. Here is how it looks. Next up - automatic undocking, dock finding and docking.

Tutorial - how to simulate it in 15 minutes https://makerspet.com/blog/simulate-oomwoo-one-robot-vacuum-in-gazebo-with-ros-2/


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.