Hidden under plastic cover above the charger plug is a serial port connector. iRobot does not provide support for the serial port, the following quote is from the FAQ section on the iRobot.com website:
Does iRobot provide any codes or specifications for the port?
No, iRobot does not provide this information.
Attempting to alter Roomba’s programming voids the warranty.
Serial Port Specification
The serial port runs at 57600 baud 8N1 with 5 Volt levels. To connect the Roomba port to a PC you have to use a level converter, to convert the 0 and 5 Volt levels of the Roomba port to the approximate -10 and 10 volt levels of the PC port. For level converters see: Simple RS232C Level Converter using Transistors or MAX232 ic.
Serial Connector Pinout
___
|6 7|
/4 5\
\1 2 3/
-- --
pin1 black – microcontroller pin32 (PH7) via 1K resistor R236, internally pulled up to +5V
pin2 brown – GRD
pin3 red – GRD
pin4 orange – microcontroller pin91 (RXD1) via 1K resistor R239
pin5 yellow – microcontroller pin92 (TXD1) via 1K resistor R238 and 100ohm resistor R243
pin6 blue – battery (+15.6volt)
pin7 white – battery (+15.6volt)
Results
Power Connect
Inserting battery pack displays: ( [^C] is control-C character hex 03 )
bl-start[^C]2004-05-26-1037-L [^C]Roomba by iRobot! MC9S12DP256 2004-07-30-1026-L battery-current-quiescent-raw 525 battery-current-zero 511 2004-07-30-1026-L processor-sleep
Hex dump of reply:
0000:62 6C 2D 73 74 61 72 74 bl-start 0008:03 32 30 30 34 2D 30 35 2004-05 0010:2D 32 36 2D 31 30 33 37 -26-1037 0018:2D 4C 20 20 20 03 52 6F -L Ro 0020:6F 6D 62 61 20 62 79 20 omba by 0028:69 52 6F 62 6F 74 21 0D iRobot! 0030:0A 4D 43 39 53 31 32 44 MC9S12D 0038:50 32 35 36 0D 0A 32 30 P256 20 0040:30 34 2D 30 37 2D 33 30 04-07-30 0048:2D 31 30 32 36 2D 4C 20 -1026-L 0050:20 20 0D 0A 62 61 74 74 batt 0058:65 72 79 2D 63 75 72 72 ery-curr 0060:65 6E 74 2D 71 75 69 65 ent-quie 0068:73 63 65 6E 74 2D 72 61 scent-ra 0070:77 20 35 32 35 20 20 62 w 525 b 0078:61 74 74 65 72 79 2D 63 attery-c 0080:75 72 72 65 6E 74 2D 7A urrent-z 0088:65 72 6F 20 35 31 31 0D ero 511 0090:0A 0D 0A 32 30 30 34 2D 2004- 0098:30 37 2D 33 30 2D 31 30 07-30-10 00A0:32 36 2D 4C 20 20 20 0D 26-L 00A8:0A 0D 0A 70 72 6F 63 65 proce 00B0:73 73 6F 72 2D 73 6C 65 ssor-sle 00B8:65 70 0D 0A ep
Power On
Switching power on (turning on green battery led) displays:
key-wakeup slept for 764 minutes 1091 ticks 2004-07-30-1026-L battery-current-quiescent-raw 525 battery-current-zero 511
Power Off
Switching power off (turning off green battery led) displays:
processor-sleep
Button Press
Pressing a button on top of the Roomba while power is off displays: (nothing is displayed if power is on)
key-wakeup slept for 765 minutes 3995 ticks 2004-07-30-1026-L processor-sleep
Serial Port Pin Input
Grounding pin1 while power is off displays:
key-wakeup slept for 763 minutes 1841 ticks 2004-07-30-1026-L device-detect 2004-07-30-1026-L processor-sleep
Grounding pin1 while power is on displays:
device-detect 2004-07-30-1026-L
Reset via Serial Port
While on, sending control-G resets the roomba as if the battery pack was just inserted:
bl-start[^C]2004-05-26-1037-L [^C]Roomba by iRobot! MC9S12DP256 2004-07-30-1026-L battery-current-quiescent-raw 525 battery-current-zero 511 2004-07-30-1026-L processor-sleep
Charging the Battery
While the battery is being charged the serial port reports every second the charge time, battery voltage, current and temperature. Below is the part of the serial output where the charger is shut off because of reaching the battery temperature limit.
bat: min 240 sec 57 mV 16921 mA 572 deg-C 60 bat: min 240 sec 58 mV 16921 mA 579 deg-C 60 bat: min 240 sec 59 mV 16921 mA 572 deg-C 60 charging-done: temperature max allowed @ minutes 241 do-charging-wait-for-trickle @ minutes 241 bat: min 241 sec 0 mV 16866 mA 26 deg-C 60 bat: min 241 sec 1 mV 16810 mA -27 deg-C 60 bat: min 241 sec 2 mV 16782 mA -27 deg-C 60
Factory Self Test
Hold down Spot and Clean, then press Power briefly and the LED lights will begin to flash. You can now cycle between the diagnostic modes by using Clean to advance in the sequence, and Spot to return to the diagnostic mode before. For more details see: Roomba Red Diagnostic Mode. Below is the output on the serial port during self test/diagnostics:
factory-test 0 leds wait: false factory-test 1 bumpers (bump-left?) PASS (bump-right?) PASS factory-test 2 cliffs-side wiff: cliff-left on 3627 off 3640 signal 13 on? 0 wiff: cliff-front-left on 3628 off 3633 signal 5 on? 1 wiff: cliff-front-right on 3644 off 3644 signal 0 on? 1 wiff: cliff-right on 3644 off 3644 signal 0 on? 1 wiff: wall on 3652 off 3652 signal 0 on? 0 (cliff-left?) PASS (cliff-right?) FAIL factory-test 3 cliffs-front (cliff-front-left?) FAIL factory-test 4 wheel-drop-and-wall (wheel-drop?) FAIL factory-test 5 rcon-receiver (rcon?) factory-test 6 battery-sensors (battery-voltage-ok?) PASS (battery-temperature-ok?) PASS (baseline-current-ok?) mA -92 min -202 max -14 mV 16309 degrees-C 58 PASS factory-test 7 left-wheel not left-wheel-stall PASS (baseline-current-ok?) mA -92 min -202 max -14 mV 16309 degrees-C 58 PASS (drive-speed-ok? left forward) PASS (drive-speed-ok? right stopped) PASS (left-drive-current-ok?) mA -183 min -326 max -118 mV 16253 degrees-C 58 PASS not left-wheel-stall PASS wait: left-wheel-stall factory-test 8 right-wheel not right-wheel-stall PASS (baseline-current-ok?) mA -92 min -202 max -14 mV 16281 degrees-C 58 PASS (drive-speed-ok? left stopped) PASS (drive-speed-ok? right forward) PASS (right-drive-current-ok?) mA -183 min -326 max -118 mV 16226 degrees-C 58 PASS not right-wheel-stall PASS wait: right-wheel-stall factory-test 9 wheel-encoders (drive-speed-ok? left stopped) PASS (drive-speed-ok? right stopped) PASS (drive-speed-ok? left reverse) PASS (drive-speed-ok? right reverse) PASS factory-test 10 stasis wait: (not (stasis?)) factory-test 11 main-brush not brush-motor-stall PASS (baseline-current-ok?) mA -92 min -202 max -14 mV 16281 degrees-C 58 PASS (brush-current-ok?) mA -287 min -599 max -241 mV 16226 degrees-C 58 PASS not brush-motor-stall PASS wait: brush-motor-stall factory-test 12 debris (debris-left?) factory-test 13 vacuum not vacuum-motor-stall PASS (baseline-current-ok?) mA -92 min -202 max -14 mV 16281 degrees-C 58 PASS not vacuum-motor-stall PASS (vacuum-current-ok?) mA -7 min -352 max -176 mV 16281 degrees-C 58 FAIL factory-test 14 side-brush not side-brush-motor-stall PASS (baseline-current-ok?) mA -92 min -202 max -14 mV 16281 degrees-C 57 PASS not side-brush-motor-stall PASS (side-brush-current-ok?) mA -7 min -248 max -53 mV 16281 degrees-C 57 FAIL factory-test 15 int-charger-prep not (int-charger-available?) PASS wait: (int-charger-available?) factory-test 16 int-charger-on wait: (int-charger-available?) factory-test 17 int-charger-trickle wait: (int-charger-available?) factory-test 18 ext-charger-prep not (ext-charger-available?) PASS wait: (ext-charger-available?) factory-test 19 ext-charger-on wait: (ext-charger-available?) factory-test 20 ext-charger-trickle wait: (ext-charger-available?) factory-test 21 bootloader (bootloader-ok?) PASS factory-test 22 complete SUMMARY: START SUMMARY: DATE-TAG 2004-07-30-1026-L SUMMARY: (baseline-current-ok?) PASS mA -92 min -202 max -14 mV 16281 degrees-C 57 SUMMARY: (left-drive-current-ok?) PASS mA -183 min -326 max -118 mV 16253 degrees-C 58 SUMMARY: (left-drive-stall-current-ok?) untested SUMMARY: (right-drive-current-ok?) PASS mA -183 min -326 max -118 mV 16226 degrees-C 58 SUMMARY: (right-drive-stall-current-ok?) untested SUMMARY: (brush-current-ok?) PASS mA -287 min -599 max -241 mV 16226 degrees-C 58 SUMMARY: (brush-stall-current-ok?) untested SUMMARY: (side-brush-current-ok?) FAIL mA -7 min -248 max -53 mV 16281 degrees-C 57 SUMMARY: (side-brush-stall-current-ok?) untested SUMMARY: (vacuum-current-ok?) FAIL mA -7 min -352 max -176 mV 16281 degrees-C 58 SUMMARY: (vacuum-stall-current-ok?) untested SUMMARY: (int-charging-current-ok?) untested SUMMARY: (int-charging-trickle-current-ok?) untested SUMMARY: (ext-charging-current-ok?) untested SUMMARY: (ext-charging-trickle-current-ok?) untested SUMMARY: (bump-left?) PASS SUMMARY: (bump-right?) PASS SUMMARY: (cliff-left?) PASS SUMMARY: (cliff-right?) FAIL SUMMARY: (cliff-front-left?) FAIL SUMMARY: (cliff-front-right?) untested SUMMARY: (wheel-drop?) FAIL SUMMARY: (wall?) untested SUMMARY: (rcon?) FAIL SUMMARY: (any-remote-opcode?) untested SUMMARY: (battery-voltage-ok?) PASS SUMMARY: (battery-temperature-ok?) PASS SUMMARY: left-wheel-stall PASS SUMMARY: (drive-speed-ok? left forward) PASS SUMMARY: (drive-speed-ok? right stopped) PASS SUMMARY: right-wheel-stall PASS SUMMARY: (drive-speed-ok? right forward) PASS SUMMARY: (drive-speed-ok? left stopped) PASS SUMMARY: (drive-speed-ok? left reverse) PASS SUMMARY: (drive-speed-ok? right reverse) PASS SUMMARY: (stasis?) untested SUMMARY: brush-motor-stall PASS SUMMARY: (debris-left?) FAIL SUMMARY: (debris-right?) untested SUMMARY: vacuum-motor-stall PASS SUMMARY: side-brush-motor-stall PASS SUMMARY: (int-charger-available?) PASS SUMMARY: (ext-charger-available?) PASS SUMMARY: (bootloader-ok?) PASS SUMMARY: END