Roomba Hacking via Serial Tether

Note:
This post is pretty old and I’ve been continuing work on Roomba software.
Note:
For a more readable take on this, see this Makezine artcicle

A week ago I got my OSMO//hacker Roomba firmware updater from iRobot. It worked like a charm, giving me a serial port to fully control the Roomba.

An interface was needed however, since the crazy mini-DIN 7-pin on the Roomba is very unstandard. So the first attempt at a robust interface between a Roomba and a standard PC serial port is my Roomba Serial Interface:

Continue reading “Roomba Hacking via Serial Tether”

Reversible Roomba Hacking

When first available, I purchased an original Roomba. A robot vacuum cleaner! And probably hackable! Unfortunately it was quickly obvious that any sort of hacking would require altering the Roomba, likely destroying its original functionality. Definitely voiding the warranty. Every hack would be custom and hard to replicate.

Now after much anticipation, iRobot has openly enabled easy hacking of their later Roombas (the Discovery and above, which have the mini-DIN 7-pin serial port). They have a hacking page and a specification for the serial port protocol. The protocol is complete and robust. (*)

This is important. It enables those who want to play ‘robot’ with their Roomba but who lack the time, skills, or desire to void their warranty. A variety of “robot add-ons” that plug into the Roomba’s SCI port can be created, turning the Roomba into a full custom robotics platform, but entirely reversible by just unplugging the serial cable. I plan on building a variety of add-ons. First up will probably be a BigTrak UI work-a-like. If there’s interest, someone could do a small board run to sell them.

You can purchase factory-reconditioned Roombas for $159 from Amazon and the $29 Osmo firmware reprogrammer direct from iRobot. Or find a friend who’s already upgraded their Roomba and borrow their Osmo.

(thanks to MikeK for turning me on to this idea)

(*) The only thing missing I can tell from the spec is a way of detecting and dealing with the charging dock.