Skip to content
← All builds
johnboiles avatar

Open source

johnboiles/esp-roomba-mqtt

ESP8266 MQTT Roomba controller (Useful for hooking up old Roombas to Home Assistant)

213 starsC++Updated 6y ago
Install
$ git clone https://github.com/johnboiles/esp-roomba-mqtt.git# then ask your coding agent> Set up esp-roomba-mqtt for "Bring an old Roomba into Home Assistant with a $5 ESP8266"  on my iRobot Roomba. Follow the README.
No published photo or video yet: repository detailsjohnboiles/esp-roomba-mqtt
Bring an old Roomba into Home Assistant with a $5 ESP8266: johnboiles/esp-roomba-mqtt repository (image 2)

Bring an old Roomba into Home Assistant with a $5 ESP8266

Vacuum, Medium, $6

esp-roomba-mqtt turns a Roomba's serial port into an MQTT device using an ESP8266, so Home Assistant can start, stop, dock and read battery.

Cost $6: esp-roomba-mqtt README parts list.

Wire an ESP12E and a small 3.3 V regulator into the Roomba's Open Interface port, flash the firmware, and your old Roomba shows up in Home Assistant. Great vacuum-hack starter.

Hardware & cost: ESP12E ($3-4), 3.3 V step-down regulator ($1-2), a few wires; per the README.

Difficulty: Medium. Soldering required.

Agent install prompt (paste into Claude Code, Cursor or Codex): "Clone https://github.com/johnboiles/esp-roomba-mqtt, set my Wi-Fi and MQTT broker in the config, build and flash with PlatformIO, then add the Home Assistant vacuum config from the README."

Source: johnboiles/esp-roomba-mqtt on GitHub — https://github.com/johnboiles/esp-roomba-mqtt (facts checked against the project README, Oct 2026; prices vary by region).

Quick answers

How much does it cost to bring an old Roomba into Home Assistant with a $5 ESP8266?
About $6, per the esp-roomba-mqtt README parts list.
What do you need to bring an old Roomba into Home Assistant with a $5 ESP8266?
ESP12E ($3-4), 3.3 V step-down regulator ($1-2), a few wires; per the README.
How hard is it to bring an old Roomba into Home Assistant with a $5 ESP8266?
Medium. Soldering required.

How your agent drives it

Copied from the johnboiles/esp-roomba-mqtt README

  1. Shell
    $ mosquitto_pub -t 'vacuum/command' -h $MQTT_SERVER -p 1883 -u $MQTT_USER -P $MQTT_PASSWORD -V mqttv311 -m "turn_on"
  2. Shell
    $ mosquitto_sub -t 'vacuum/#' -v -h $MQTT_SERVER -p 1883 -u $MQTT_USER -P $MQTT_PASSWORD -V mqttv311

Any coding agent that can run a shell can run these. Read the README before you run anything on a robot that moves.

Ideas to try with it

Our ideas, not the builder's claims.

  1. Start the old Roomba when your phone leaves home
  2. Get a phone alert when the battery drops while it's still out
  3. Send it back to the dock when the doorbell rings
1 more idea
  1. Chart battery health over a month
Source
johnboiles/esp-roomba-mqtt on GitHub
Last commit
2019-02-10
Builder
johnboiles
Repo
johnboiles/esp-roomba-mqtt, 213 stars
Built with
iRobot Roomba

Roomba hacks, 2 builds: Bring an old Roomba into Home Assistant with a $5 ESP8266 · Turn a Roomba or iRobot Create into a ROS robot

What to build next

Builds that share a board, robot or agent with this one.