OPEN FLOOR ROBOTS · OPEN-SOURCE HARDWARE + SOFTWARE · MIT LICENCE

Build your own robot vacuum, robot mop, or vacuum-mop combo

Three open-source cleaning robots on one 330 mm round chassis: the same base, drive, battery, lidar, cliff sensors and electronics, with a swappable rear module. The robot vacuum has a roller brush, side brush and dust bin. The robot mop has a water tank, a pump and a vibrating pad that lifts. The vacuum-mop combo has both.

The CAD, firmware and planning software are free to build, change and sell. Try the cleaning simulator below; it runs the same coverage planner the robot uses.

Status: design v0.1. The CAD builds clean (no part collisions, balance and cliff-stopping checks pass) and the planner, firmware logic and power model are tested in simulation, but no robot has been built yet. Not engineering, electrical or safety advice.

Cleaning simulator: how much of your room does each robot reach?

Pick a room and a robot. The planner follows the walls, splits the floor into cells, sweeps each in back-and-forth lanes and drives home. Click the map to add or remove a 40 cm piece of furniture and watch the plan change.

wall or furniturecleanedmissededge passlanesgrey dashes: moving between areas

Coverage here assumes the robot drives its plan exactly. The Python simulator (floorbots study) adds wheel slip and wandering localisation error; see the table below. For a mop or combo the map shows the pad's coverage. Time is driving and turning only.

What the simulation says

Planner output for the three preset rooms, 10% lane overlap (floorbots compare --room <room>). Coverage is the share of the floor each tool reaches.

RoomFloorVacuum coversMop pad coversVacuum / mop timeCombo time
Bedroom7.4 m²99.7%77.0%5.9 min7.4 min
Living room15.7 m²95.5%79.8%13.7 min16.2 min
L-shaped flat29.6 m²99.4%87.0%20.1 min25.5 min

Then the plan driven by a simulated robot with 3% wheel slip and localisation error that wanders with a 5 s time constant: living room, mean of 5 runs (floorbots study --room living --variant vacuum --overlap 0 --overlap 0.3 --pose-sigma 0 --pose-sigma 0.02 --pose-sigma 0.05 --pose-sigma 0.10 --seeds 5):

Lane overlapExact pose2 cm error5 cm error10 cm errorPlanned time
Vacuum, 0–10%95.5%93.7%89.4%86.6%13.7 min
Vacuum, 30%95.5%94.7%91.5%88.2%16.2 min
Mop, 0–10%79.8%77.8%74.0%71.0%13.7 min
Mop, 30%79.8%79.4%77.2%73.9%16.2 min

Simulation under stated assumptions, not a measurement of any robot. On the 5 cm grid, 0% and 10% overlap give the same 15 cm lane spacing. The living room's missing 4.5% for the vacuum is floor the 33 cm body cannot reach (the gap beside the sofa and behind the armchair).

Manufacture one: download the fab package

One parametric CAD model generates a complete package per robot: laser-cut DXF files (a 3 mm aluminium base and a 3 mm acrylic deck, true millimetres, no bends or tapped holes), STL files for the PETG printed parts (each fits a 220 mm bed), STEP files for any CAD or CAM tool, a full bill of materials with every fastener, and assembly drawings. Every build checks every part against every other for collisions (with the pad lifted and the bumper pressed in, too), every insert hole against its plate hole, that the robot rests on its wheels and casters, that its centre of mass sits between them, and that the cliff sensors see an edge early enough to stop.

Footprint330 mm round
Height98 mm (136 with lidar)
Bin / tank0.22 L / 0.38 L
Mass (estimated)2.3–2.6 kg
Open Floor Robots: one chassis, three cleaning modules (top view, front up) battery bin Robot vacuum battery tank Robot mop battery bin tank Vacuum-mop combo nozzle + rollerside brush sweepmop pad (under the base)cliff sensorcaster

Design v0.1, not yet built: the first build will find things to fix. Change any dimension and regenerate with python -m ofr_cad vacuum (parametric CAD source).

Build one

Also in the portfolio: Open Tennis Robots, an open-source ball machine and ball-collecting robot built the same way.

Questions

Can I build my own robot vacuum?

Yes. This project's robot vacuum is a 330 mm round robot with a laser-cut aluminium base, 3D-printed bumper, nozzle and bin, two encoder gearmotors, a roller brush, a side brush, a 60 mm brushless fan, six cliff sensors and a lidar. The parts list estimates roughly 420 US dollars. Every file is MIT-licensed. It is a v0.1 design that has been simulated and checked in CAD, not yet built.

What is the difference between a robot vacuum, a robot mop and a vacuum-mop combo?

Here they share one chassis and differ only in the rear module. The vacuum has a nozzle, roller brush, side brush and dust bin. The mop has a water tank, a pump and a vibrating pad on a lift. The combo has both, with a split bin and tank and a narrower pad behind the nozzle, so it takes longer per room and holds less.

Why do robot mops miss the edges of a room?

A round robot's pad sits under its body, and the body keeps its own radius from the wall. In this project's simulation the pad reaches 77 to 87 percent of the floor in three sample rooms, against 95 to 100 percent for the vacuum, whose side brush reaches past the bumper.

How does a robot vacuum plan its cleaning path?

This planner follows the walls first, then splits the floor into cells that can each be swept in straight back-and-forth lanes (boustrophedon decomposition), visits them nearest first and links them with the shortest path that stays clear of furniture. The simulator on this page runs the same planner the robot runs.

How long does the battery last?

With a 4S2P 18650 pack (75 Wh rated, 54 Wh planned), the assumed loads give about 98 minutes for the vacuum, 94 for the combo and 341 for the mop. The mop's real limit is its tank: about 125 square metres at 3 ml per square metre. These are planning estimates from assumed loads, not measurements.

Will it fall down the stairs?

It has six cliff sensors. If a front sensor sees no floor while the robot is moving forward, the firmware reverses on its own and then refuses forward motion. Speed is capped at 0.35 m/s so that, by the design's estimate, the wheel stops before it reaches an edge the sensor saw. Test it on a low step first and tune the sensors on your floors.

Can I sell robots built from these designs?

Yes, the MIT licence allows it with no royalty. If you sell one you are the manufacturer, and household appliance safety (such as IEC 60335-2-2), battery, charger, radio and EMC rules where you sell are your responsibility. The design has not been tested against any of them.