Skip to content

A curated list of free and open source software and hardware to build and control a robot vacuum.


Notifications You must be signed in to change notification settings


Folders and files

Last commit message
Last commit date

Latest commit



36 Commits

Repository files navigation


A curated list of free and open source software and hardware projects which can be used to build and control a robot vacuum.


^ back to top ^


^ back to top ^

A IMU helps to make localization much more stable by providing accelerometer, gyroscope and some even magnetometer data. cartographer can easily be setup with IMU to improve localization.

  • MPU6050 - IMU sensor combining a MEMS accelerometer and a MEMS gyro on a single chip.


^ back to top ^

A LIDAR (Light Detection and Ranging) can create an accurate representation of its surroundings by utilizing a laser and a light sensor to measure TOF (Time of Flight). Devices are available as 2D and 3D variants, although the 3D variants are still pretty expensive and do not add much value to the "robot vacuum" use case.

  • camsense-X1 - Unofficial reverse engineering of a Chinese LiDAR. GPL-3.0
  • RPLIDAR A Series - 360 Degree Laser Scanner with ROS integration and up to 16K samples per second.


^ back to top ^

A list of full blown projects to create a robot vacuum.


^ back to top ^

  • Bumper - A standalone and self-hosted implementation of the central server used by Ecovacs vacuum robot. GPL-3.0 Python
  • Dustcloud - Xiaomi Smart Home Device Reverse Engineering and Hacking. GPL-3.0 Various
  • Roborock Oucher - An utility to make the Roborock / Xiaomi MI Vacuum Cleaner scream "Ouch!" (or everything else) everytime it bumps into something MIT golang
  • Valetudo - Cloud-free control webinterface for vacuum robots. Apache-2.0 JavaScript
  • I can't belive it's not Valetudo - Valetudo companion service (Map Rendering) Apache-2.0 JavaScript
  • Valetudo RE - Experimental vacuum software, cloud free (Valetudo Fork) Apache-2.0 JavaScript
  • valetudo mapper - Valetudo companion service (Map Rendering, ICantBelieveItsNotValetudo Fork) Apache-2.0 JavaScript
  • - Valetudo implementation for Cecotec Conga Vacuums. Freeconga Organization in Github. Apache-2.0, GPL-3.0
  • Congatudo project to have Valetudo in the Home Assistant as addon intead of use standalone installation into the vacuum. GPL-3.0 Shell
  • OpenDoñita - Add local support for previous Congas 1490. GPL-3.0 Python


^ back to top ^

  • Gobot - Golang framework for robotics, drones, and the Internet of Things (IoT). Apache-2.0 golang
  • ROS (Robot Operating System) - Provides libraries and tools to help software developers create robot applications. It provides hardware abstraction, device drivers, libraries, visualizers, message-passing, package management, and more. BSD Various


^ back to top ^

SLAM (Simultaneous Localization and Mapping) is used to build a map by repeatedly scanning surrounding area and through that enable the robot to localize itself within that environment.

  • BreezySLAM - Simple, efficient, open-source package for Simultaneous Localization and Mapping. LGPLv3 Various
  • cartographer - A system that provides real-time simultaneous localization and mapping (SLAM) in 2D and 3D across multiple platforms and sensor configurations. Apache-2.0 C++
  • OpenVSLAM - A Versatile Visual SLAM Framework. 2-Clause BSD C++
  • ROS SLAM - A ROS wrapper for OpenSlam's Gmapping. BSD C++

Other Awesome Lists


You know a software or hardware project that is not on this list yet? Contributions are very much welcome! Have a look at the Contribution Guidelines to learn how you can add projects to this list.