|
Page 1 of 4 The newer models of Roomba vacuum cleaners from iRobot feature a serial interface, enabling remote control and debugging of your Roomba. Here I will describe how you very easily can make a cable connecting the Roomba serial interface to a PC trough USB or RS232, or directly to an AVR microcontroller.
The roomba serial interface is called SCI, and its specification can be found at iRobots Roomba home pages. To access the SCI connector you need to remove the top face plate of the Roomba (applies to the 5xx series). The face plate can be pulled straight off, but requires a bit of force to be applied. First remove the dust compartment and lift up the edges of the face plate directly over the dust bin. Then press your fingers under the face plate and push upwards as shown in this video clip. The SCI connector is the 7 pin mini DIN connector appearing underneath the face plate on the right side of you roomba. Unfortunately this particular type of mini DIN connector can be a bit hard to obtain. But the pin placements are the same as on a standard 6 pin PS2 connector, found on most computer mice and keyboards (that do not have USB that is). And I bet most of you already have some of those lying around. To let the PS2 plug mate the SCI receptacle, the plastic stud on the PS2 connector must be removed. Take a small flat screw driver and press its end towards the base of the plastic stud. This will break of the stud. For images, see the gallery at the bottom of this page. | Roomba SCI Pinout | SCI pin
| SCI signal
| PS2 Signal
| PS2 pin
| PS2 pinout
|
| 1 2 3 4 5 6 7
| +16V +16V RxD TxD D D GND GND
| Data n/c GND VCC CLK
n/c
| 1 2 3 4 5
6
|  | The PS2 connector uses only 4 signals, pin 1, 3, 4 and 5. Not all mouse/keyboard cables have wires for the ones not used by PS2. Mine did not have more than five wires, the four signals and a ground cable. Comparing this with the SCI connector we see that we then would not be able to connect to three of the SCI signals. Pin 2, battery voltage (+16V) is not a problem to leave unconnected, as we have the same voltage on pin 1. But both GND (ground/zero reference) pins on the SCI connector are left unconnected ion the PS2 plug. However my PS2 cable provided a ground cable (uninsulated copper wire) connected to the outer shield of the PS2 connector. And as the SCI connector also provide GND on its shield, this takes care of the missing ground connection wires. There are several descriptions on the web of how to hook up the SCI port to a computer using a RS232 converter IC as the MAX232. However I did not want to permanently fix my plug to such circuit. I would instead like to be able to use it on different targets; directly to a microcontroller, on the spare RS232 port of the Atmel AVR STK 500 starterkit, or to a USB interface circuit. Therefore I selected to solder the PS2 connector wires to pin header connectors, used for connection to standard 0.1" (2,54mm) pitch pin headers. Solder each wire to a pin header connector and insulate using a piece of shrink tubing. When all wires are connected and insulated slip a larger heat shrink tubing over all joints to make a good solid assembly, see image below. You now have a very versatile SCI connector assembly.
On the next pages I will describe two different ways to get this connected to your computer. First we start with an AVR based USB interface. Then I will show how you can connect this interface to the STK500 AVR starterkit, either for connection to a PC trough RS232, or for direct control by an AVR microcontroller.
|