https://github.com/shonp40/esproomba
Smartify your iRobot® using an ESP32
https://github.com/shonp40/esproomba
assistant c3 esp32 home irobot mqtt roomba smart
Last synced: 6 months ago
JSON representation
Smartify your iRobot® using an ESP32
- Host: GitHub
- URL: https://github.com/shonp40/esproomba
- Owner: ShonP40
- License: mit
- Created: 2022-03-24T17:11:47.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2025-08-04T13:39:49.000Z (8 months ago)
- Last Synced: 2025-08-29T05:26:12.699Z (7 months ago)
- Topics: assistant, c3, esp32, home, irobot, mqtt, roomba, smart
- Language: C++
- Homepage: https://shon.codes
- Size: 2.45 MB
- Stars: 9
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# ESPRoomba
Smartify your iRobot® using an ESP32-C3 running ESPHome
# Features
- Ability to wake the iRobot® up from normal & deep sleep
- Ability to command the iRobot® to start normal/spot/max cleaning/stop cleaning and go back to the dock
- Get a detailed charging status from the iRobot
- Ability to guess the iRobot®'s status (the [`Roomba® Open Interface (OI)`](./iRobot%20Roomba%20600%20Open%20Interface%20Spec.pdf) doesn't report cleaning status)
- Ability to report more advanced sensors (Battery temperature & voltage, General power usage, Motor currents, the value of the Virtual Wall sensor and which button is being pressed)
- Ability to restart and power off the `iRobot®`
- Can be hooked into Home Assistant’s `Template Vacuum` configuration
- Broadcasts a Bluetooth iBeacon (can be used to track the iRobot®'s location using [ESPresense](https://espresense.com))
- Ability to set the iRobot®'s clock (automatically (daily at 5AM) and manually using Home Assistant)
# Software Requirements
- Home Assistant
- ESPHome
# Hardware Requirements
- Compatible iRobot® Roomba®
- A WiFi network
- ESP32-C3 Super Mini
- Buck Converter (set it to `3.3v`)
- `2N3906` PNP Transistor
# Tested iRobot® Roomba®'s
- 600 series
- 700 series
- 800 series
# Connection Diagram

# Credits
[mannkind](https://github.com/mannkind) - [Original implementation](https://github.com/mannkind/ESPHomeRoombaComponent)
[davidecavestro](https://github.com/davidecavestro) - [Native API support and a major rewrite](https://github.com/davidecavestro/ESPHomeRoombaComponent)
[wburgers](https://github.com/wburgers) - [Native UART support](https://github.com/wburgers/ESPHomeRoombaComponent)
[philpownall](https://github.com/philpownall) - [Manual controls, text display and dashboard config](https://github.com/philpownall/ESPHomeRoomba)