▲ 197 r/oomwoo+1 crossposts

OOMWOO open-source vacuum - progress update

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

u/l0_o — 6 days ago
▲ 271 r/oomwoo+1 crossposts

OOMWOO open-source DIY vacuum - progress update

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.

u/l0_o — 9 days ago
▲ 175 r/oomwoo

OOMWOO open-source vacuum - project update

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
u/l0_o — 14 days ago
▲ 165 r/oomwoo+2 crossposts

OOMWOO wall cleaning - progress update

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/

u/l0_o — 17 days ago
▲ 83 r/oomwoo

OOMWOO Automatic docking demo

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.
u/l0_o — 22 days ago
▲ 165 r/oomwoo+1 crossposts

OOMWOO Open-Source vacuum - mid-week update

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

u/l0_o — 22 days ago
▲ 69 r/oomwoo

Consumer vacuum Teardown - learning from the best

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.

u/l0_o — 26 days ago
▲ 278 r/oomwoo+1 crossposts

OOMWOO Open-Source vacuum - mid-week update

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

u/l0_o — 26 days ago
▲ 88 r/oomwoo+1 crossposts

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

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

u/l0_o — 30 days ago
▲ 90 r/oomwoo+1 crossposts

OOMWOO Open-Source vacuum - mid-week update

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

u/l0_o — 1 month ago