Thursday, May 10, 2012

Using a roomba 400 series with the Arduino (Part II)

The next step in getting the roomba setup seems to be building out the serial cable to communicate with the device. After some googling, I found several useful sites with information:

  1. http://www.netfluvia.org/layer8/?p=127
  2. http://www.irobot.com/images/consumer/hacker/Roomba_SCI_Spec_Manual.pdf
  3. http://hackingroomba.com/2006/11/28/new-roomba-prototyping-cable-for-arduino/
  4. http://www.open.com.au/mikem/arduino/Roomba/
I then bought a serial cable that hooks into the serial port on the Roomba. I cut it in talk and mapped out how the wires were connected. Looking at the data sheet for the Roomba serial interface, there are seven key pins that will be used (see below).


To figure out the pin mapping to colored wire, I use the multimeter. This is done by holding the one of the meter leads against each pin and the other lead against a colored wire. When the right pair is found, the circuit closes and the current reads zero (see the two pictures below).


Eventually, I mapped out all the pins into the table below

pin
color
function
1
brown
vpwr
2
black
vpwr
3
yellow
rxd
4
red
txd
5
purple
dd
6
blue
gnd
7
green
gnd
I am not sure how standard this mapping is so I figure I needed to map this out and write it down so I could refer to it later when I start testing things out. The next two figures show the cable connected to the Roomba.



Finally, I soldered header pins onto the wires to make it easy to connect to the Arduino (see below). Next up, I will try out a simple sketch to see if I can make the wheels move.





No comments:

Post a Comment