I've been working for the last month or so with an ESP8266-12S on my Neato 80 to expand its once a day schedule. I've come a long way and I wanted to pass out some info, and give away several modules for folks to use with their 70-85's. I've gone away from a simple console interface, and have actually created a site that captures statistics about the Neato, and allows you to schedule cleaning events to your hearts content. The site is https://www.neatoscheduler.com. I have put up several detailed videos from wiring the 8266, to programming it, and also website account creation and list of features.

If you're interested in a free module, pm me with your name and address. I have 8 as it stands right now, but will be making more later. If you're interested in viewing the source, it can be found here: https://github.com/HawtDogFlvrWtr/botvac-wifi

If you already have an 8266 in your Neato and want to attach it to the site, you should just follow video 1 to reprogram it with my sketch. It will automatically start talking to the site and as soon as you create an account.

At least it has been indexed in the "Mods & Repairs" list wiki main page under Botvac WiFi so does not get buried. Second project using that serial connector on the edge of the Botvac system board. A connector for the board is also discussed.

The command language, made for the USB connection, is the same on Botvac and XV except for the missing log file features on Botvac. The manual at the company website is linked in Neato Programming Guide thread top of forum.

For PC use (in developing the WiFi addition, exploring the firmware etc., over USB, a driver for Neato is supplied, including a firmware updater program from when online updates were supplied (usable with offline files available from users here). Links in Mods & Repairs list thread. The WiFi addition should operate similar to the USB connection, on the same channel into the robot's cpu on the same firmware functions. There was some work tapping into the cpu IC serial connection pin instead of the serial header, for the newer Rev64 system boards lacking the header, but I think it is running a USB serial protocol, packets etc.

The USB interface, and so the serial port, employed single character packets, echoed to the external host, reproducing old teletype serial interfaces, with in-line backspace editing of commands executed on carriage return. The updater program is a custom script driven terminal emulator. The USB command set includes firmware flashing operations.

The more important difference on XV is a response to commands to clean requesting disconnection of the USB cable to release the robot, requiring a momentary disconnection of the serial interface, after which it can be resumed, eliminated for some reason with Botvac, perhaps anticipating WiFi models. How that works with the serial port is not clear yet. Other projects handle this in various ways, so perhaps some software for the ESP8266 or Arduino can do something if needed, unknown. Windows on a PC can shut down USB interfaces, and some relays were even used in other projects, as well as firmware in programmable WiFi mini routers used. See Mods & Repairs list thread for such projects.

The latest WiFi models D3, D5 no longer have USB ports. The company supports more elaborate software APP development by users in their Neato Developers Network website with more info, expanding into the smartphone app software besides the robot internal firmware. The original Connected model with WiFi still has USB, used for firmware updating from thumb drives using an OTG host interface cable -- so some different firmware on that connection, and maybe using the WiFi as well, I have not used it.

It is possible to use the USB port on Botvac but the connector is inconveniently beneath the dust bin, making the system board edge connector serial port easier to use -- and apparently not needing USB packet protocol, a "USB host interface" -- I haven't checked those details, see the project software. A standard plug for edge connectors can be used besides soldering to the traces, but may require lifting the board while attaching, to squeeze into the case -- at least saves solder mod to the board, more professional. XV models have a mini USB instead of micro, on the outside of the case. The older Rev113 Cruz system boards have an unpopulated serial header (to which a connector can be soldered) besides the USB plug.

I'm going to have to invest in an older xv model and a newer xv model to do some testing. I'm not worried about the newer wifi models. Thanks for the info. Where is a usb controller, there is a uart connection I can tap into for an easier interface.

Botvac 80 is not an "older XV model" -- different product series, different system boards and construction. Still on the company website, still sold I think, new and used. See WiFi/USB section of Mods & Repairs list main page for links to all radio interface projects. As a vacuum, the newer XV like the last, Signature, has some better firmware, with a cpu change on the system board Rev64 Binky-- but only the USB interface. As mentioned above Rev113 Cruz boards have a separate serial header, probably working with the Botvac device already built. With Arduino host USB interfaces are available, if they can be used with the ESP8266. The built-in USB on the Arduino boards are client interfaces for the PC host, to program the Arduino.I gather the OTG? cables now contain a host USB interface to connect to clients (the Neato plug), which then would connect to the Arduino built-in plug. I have not worked with these things.

I've removed it for you. I will look back through the logs and see what the error was. To make the site secure, I do a lot of cleanup on calls to the database. The special characters probably killed the delete.

*EDIT* Fixed. It was the special characters. I added a check when inserting serials and fixed it if they slide through. Thanks for letting me know.

Thanks for the info. I'm nearly done with the Alexa integration webservice. Will circle the wagons on that as soon as I have the over the air piece I've been working on, tested and deployed. Need that done first so I can mail out all of the 8266's that have been requested.

USB protocol software for ESP8266 might allow connection to newer XV models through the USB port (as mentioned, oldest ones have a serial header similar to Botvac). There is also hardware, electrical difference between USB and logic level serial ports signal lines, for bidirectional connection etc. I think adapters are made, not my specialty, but may not be needed. Other sources on Google besides this:http://hackaday.com/2016/09/03/software-usb-on-the-esp8266/Serial interfaces like Neato's use a direct character-by-character, ASCII bytes, hardware acknowledge protocol, but USB uses high capacity block data packets like a disk drive interface or networking ethernet, for speed, extra prefix and suffix data for error detection etc. Separate software for a host side and client side of the connection; PC's are host side, most WiFi devices, like robots, are clients. Similar to WiFi -- whether in "Access Point", router-type mode, or device receiving from a router. Robots switch to AP, Access Point, for smartphones to send router passwords to them in setup.

USB operation can be tested on the Botvac USB connector under the dust bin, and will then work on XV models. The serial port on Botvac is needed because the USB plug under the dust bin is hard to use, no room for wiring; the XV USB plug is on the side of the case, outside (mini instead of micro plug on Botvac).

I don't think Neato has ever disclosed the meaning of their error codes, and it is just up to user observation. Some are associated with LCD messages, like 3 is lidar failure. There is one for a missing thermistor in the battery pack I forget. I think 2 is disconnected battery. Russian users discovered the unpublished SetConfig command discussed in the Lithium IOn Revisited thread, used to set Vorwerk options for lithium battery charging etc. -- not an operating command (active only on Rev64 XV system boards).

Alright. for those folks that asked me to send them a unit. I finished the last piece of what I was going to work on, today. I'll be mailing them out this weekend or Monday morning. If you were outside of the US, i'm still gathering prices to ship them. I'll respond back when I know the details.

@ginc222, Thanks for the info. I'll change the way that i'm gathering the information so that I store the code and the String reason. I was hoping that I could use the list in the pdf and only send the number code, and correlate it on the page with an issues database that I compiled from the pdf. No beans though.