The roomba is an autonomous robotic vacuum cleaner sold by iRobot. It is able to navigate a living space and common obstacles while vacuuming the floor. I have a Roomba discovery which is a second generation vacuum cleaner. It has a connection port which can be used to give it commands. There is also an infrared remote control with which you can operate it.
Below you can see the pictures of the vacuum cleaner and also the details of the port with the remote control.
You can communicate to the device through this port using a relatively simple protocol, which also has been well documented. You can use an arduino to talk to the device.
7PIN Roomba connector 8PIN may also be used
The SCI connector of the Roomba is a 7PIN MiniDin connector which is quite hard to get. It is used in a number of devices listed below and there is a source in the links list. Here you can see where else this is used. It is also possible to use an 8PIN connector.
- Commodore 16 and Plus/4 Datasette connector
- iRobot Roomba serial connector
- Altec Lansing ATP3
- XO Vision headrest screen
- Digital Equipment Corporation DECserver 90L/90L+/90TL/90M
- Märklin 610479 10 pin to 7 pin adapter cable
- ATI Radeon Video Card – HDTV Out
In my case i found a 7PIN connector which i soldered to a piece of breadboard together with the components required for the bluetooth interface for the Sparfun blueSMiRF modem. This was made in such a way the you can simply plug in the interface into the SCI port of the roomba.
Roomba BlueSMiRF interface
The BlueSMiRF adapter from Sparkfun. The one that i used has now been replaced by a newer part. It is all rather expensive for a simple serial modem function. Maybe i should design one specifically for the shop.
There are several different softwares you can use. The easiest one is a processing environment coming from this site http://hackingroomba.com/ There is also a SCItester which is a windows program to test most of the roomba functionality.
Other articles talking about the Roomba