Skip to content

Philip2809/neato-brainslug

Repository files navigation

neato-brainslug Logo

neato-brainslug

Control your Neato vacuum locally with an ESPHome brainslug

ko-fi Buy me a coffee

Repair your Neato Robot Vacuum to be controlled locally after the shutdown of the Neato servers. The scope of this project is to give your robot at least the same functionallity as when you bought it, however the project is in a development state. The main branch only gets updates on releases, check out the next branch for the latest updates!

Since there is a couple of robots from Neato and they have different firmware versions, they will need different configurations. I have decided they will be grouped based on their "generation".

  • gen1 - (Generation 1)
    • XV11
    • XV12
    • XV14
    • XV21
    • XV RS/HP
    • XV signature
    • XV signature pro
  • gen2 - (Generation 2)
    • Neato Botvac D70
    • Neato Botvac D75
    • Neato Botvac D80
    • Neato Botvac D85
    • Neato Botvac Connected (Non DX) 905-0249, 905-0317
  • gen3 - (Generation 3)
    • Neato Botvac D3 Connected 905-0321, 905-0437, 905-0327
    • Neato Botvac D4 Connected 905-0499, 905-0514
    • Neato Botvac D5 Connected 905-0358, 905-0357, 905-0402
    • Neato Botvac D6 Connected 905-0496, 905-0517
    • Neato Botvac D7 Connected 905-0415, 905-0537
  • gen 4 (Generation 4) - Sadly not yet supported
    • Neato D800 (very very likely the same as the d8-d10, not confirmed tho)
    • Neato D8 Intelligent 905-09596
    • Neato D9 Intelligent 905-0559
    • Neato D10 Intelligent 905-0724
Feature gen1 gen2 gen3
Start & Stop
Check errors
Status 🟠 🟠
Edit settings
Scheduling on robot (via screen)
Scheduling via ESPHome
Scheduling via HA Automation ✅ ¹ ✅ ¹ ✅ ¹
Notifications ✅ ¹ ✅ ¹ ✅ ¹
Return to start ❌ ³ ❌ ³
Return to dock ❌ ³ ❌ ³
Manual driving ❌ ² ❌ ²
  • ✅ - Supported
  • 🟠 - Limited functionality
  • ❌ - Not supported
  • ¹ - Home Assistant required
  • ² - Support can be added by version 1
  • ³ - Support can be added by version 2

Please refer to the status.md for project status, roadmap and version meanings!

The ability to create, view and edit floormaps so the robot can get the same functionallity with no-go lines and zones is in the making.

The reason this works on all Neato robots is because they all have the command interface, even the robots that originally don't have any WiFi, will still work, since it is no longer WiFi robot that is connecting to the WiFi, it is the ESP device. This also removes any limitations the robots WiFi may have had.

gen1 robots

  • We are currently looking into the best way to connect to these, please join the Discord where we are currently talking about the best way to do it and the experimentation going on!

gen4 robots

  • These robots use a compleatly different board, chip and firmware, and we cannot interface with these directly. However one idea to get the start/stop feature back is to wire an esp32 to the button itself, join the Discord or open an discussion here so we can discuss!

Getting started!

For this repair you will need some tools to connect an ESP device, if you already have an ESP device, awesome try using that, but if you don't already have one you should buy one according to what we have found works best. ESPs recommended by ESPHome (ESP32, ESP32S3 and ESP32C3) will all work and have prebuilt files for easy installation, however some ESP devices that are very cheap and small should be avoided since they have some defects and need to use a lower power output on the wifi signal. Please check supported-esp32.md for more information!

First of all we need to get the version of your robot, do this with the Brainslug Tools

Since we are parsing the data from the serial interface we need to be on the same verion of the robot firmware, this is what has been confirmed working:

gen2 gen3
2.2.0 or 2.2.1 4.5.3 or 4.6.0 (note, many 4.X.X versions will work)

If you have another version then these; please get in touch!

There is two ways of using this repair:

If you don't mind to tinker a little bit I really do recommend to check out Home Assistant and do that route. It is an open source home automation tool that puts local control and privacy first. Read more about them on their website and try their live demo if you want! There is a lot of great guides and information about home hassistant on youtube and their forums! They also have some amazing guides on their site to get an home assistant installation going. If you have any questions or problems, don't hesitate to ask for help here in the discusstions section, on our Discord or the home assistant help page.

From version 2 of this project, when ROS is used for getting a floormap, you will need a separate computer running ROS, and the easiest and prioritized way to set that up will be via Home Assistant.

Beta

The main branch will have the code and guide for the latest release, but in case you want to try the latest beta this version with live on the next branch. In case certain features are on their way into the beta, but not in a beta yet, they will live on next/<feature name>.

The config files for the betas will live in the config folder instead of the releases tab, where the links in the different guides will point to!

Star History

Star History Chart

Acknowledgements

About

Control your Neato vacuum locally with an ESPHome brainslug

Resources

License

Stars

Watchers

Forks

Sponsor this project

Contributors