The purpose of this project is to enhance the functionality and capabilities of my iRobot Roomba 690 robot vacuum by adding a Raspberry Pi Zero 2W and IMU. One of the goals of this project is to be a 'stealthy' mod; I don't want there to be any external changes to the Roomba that could interfere with its primary purpose of, well, vacuuming. I have several goals in mind for this project:
- No external changes to the Roomba, or changes that would adversely affect its vacuuming ability.
- Enable remote control via a Bluetooth controller.
- Use this enhanced Roomba as a platform for learning the Robot Operating System (ROS).
- Connect the Roomba RPi ROS instance to Home Assistant Note: I know that the Roomba 690 has built-in WiFi and that there is a Roomba plugin for Home Assistant, however I was only able to get it to work for a short time before the Roomba Home Assistant plugin inexplicably ceased to work.
- Use the added IMU plus the Roomba's built in sensors to improve the cleaning routine with inertial navigation.
Josh Gadeken

























Craig Hissett
Franco (nextime) Lanza
Ben
JP Gleyzes
Cool to see we have similar goals, yet a different approach to a solution :) You're going the full ROS/Raspberry route, and I'm doing the Arduino/ESP8266 thing.
https://hackaday.io/project/183524-controll-yer-roomba-600-series-with-esp8266
I've got the Home Assistant integration pretty figured out though. Using MQTT with autodiscovery works great. Check out my project for examples on event-triggers, sensordata, actions/buttons and a camera-entity as a map.
Do you have any results or progress for navigation/mapping and integration of IMU and wheel-encoder data? I'm curious if adding a cheap IMU will be accurate enough to do a map of a full cleaning session.