Roomba 400 only responding to reset (7) command. [Solved]

Inside the Roomba and Scooba and more, Cool mods, Repair and Upgrades - including the all new iRobot Create Kit. Let's void that warranty baby!

Roomba 400 only responding to reset (7) command. [Solved]

Postby bc732 » October 25th, 2016, 9:48 pm

All, I solved it. It was dumb. I wasn't handling my Python correctly.

Before:
ser.write('\x80')

After:
ser.write(b'\x80')

Working!



I am using a Raspberry Pi 2, a Roomba 400, and a logic level converter board in between. I seem to have my interface working properly. I receive data from the Roomba, and sending the 7 command resets it as it should. But the Roomba does not respond to any other command. For example, I believe that sending 128 and then 131 should put it in safe mode, which turns off the LED. But I get no response.
I am entering these commands via python, with something like:

Code: Select all
    ser.write('\x80\x83')


That is an example. I have tried quite the number of tutorials and commands. This is always with the Roomba on and unplugged.

Any thoughts would be appreciated. Thank you.

bl-start
2004-08-31-1548-L
Roomba by iRobot!
MC9S12E128
2006-08-19-1814-L Roomba board revision: 1 (dirt-cheap-roomba)

battery-current-quiescent-raw 518 battery-current-zero 504


Edit: I have only found one more command that has any result: While charging, if I send 128 it stops the charging messages.

Edit Edit: If I loop the 5v side of the converter, I can send commands and receive them properly on the Pi.
Last edited by bc732 on October 29th, 2016, 2:11 am, edited 2 times in total.
bc732
 
Posts: 4
Joined: October 25th, 2016, 6:47 pm

Re: Roomba 400 only responding to reset (7) command.

Postby mfortuna » October 26th, 2016, 7:30 am

Sending 128/131 does not cause a response. Try sending the command to turn on the side brush or vacuum on.

I think the 2006-08-19 date indicates your roomba supports SCI.
Mike
Reds x 3, Dirt Dog, Disco (now a parts bot), Create, Scooba 350, and Security Dawg
Evolution Mint
Neato XV-11
User avatar
mfortuna
Robot Master
 
Posts: 5734
Joined: February 5th, 2006, 10:35 am
Location: NH

Re: Roomba 400 only responding to reset (7) command.

Postby bc732 » October 26th, 2016, 7:02 pm

mfortuna wrote:Sending 128/131 does not cause a response. Try sending the command to turn on the side brush or vacuum on.

I think the 2006-08-19 date indicates your roomba supports SCI.



Thank you, that's good to know.

I tried what I think should activate the side brush. The other vacuum parts were already removed, so I can't try them. No result. Here is what I tried:

>>> import serial
>>> ser = serial.Serial(port='/dev/ttyAMA0', baudrate=57600)
>>> ser.write('\x80\x83')
2
>>> ser.write('\x8A\x01')
2
>>> ser.write('\x07')
1
>>> ser.write('\x07')
1
>>> ser.write('\x80\x83')
2
>>> ser.write('\x8A\x01')
2
>>> ser.write('\x80')
1
>>> ser.write('\x8A\x01')
2
>>>


I have also tried some of the example LED commands with no visible result.
bc732
 
Posts: 4
Joined: October 25th, 2016, 6:47 pm

Re: Roomba 400 only responding to reset (7) command.

Postby bc732 » October 28th, 2016, 5:26 pm

I feel like this has to be something dumb at this point... Anyway, I ran a diagnostic, and it seems like everything important is ok(?).

SUMMARY: START
SUMMARY: DATE-TAG AND BOARD-REV 2006-08-19-1814-L Roomba board revision: 1 (dirt-cheap-roomba)

SUMMARY: (bump-left?) PASS
SUMMARY: (bump-right?) PASS
SUMMARY: (cliff-left?) PASS
SUMMARY: (cliff-right?) PASS
SUMMARY: (cliff-front-left?) PASS
SUMMARY: (cliff-front-right?) PASS
SUMMARY: (wheel-drop?) PASS
SUMMARY: (wall?) PASS
SUMMARY: (rcon?) FAIL
SUMMARY: (any-remote-opcode?) untested
SUMMARY: (battery-voltage-ok?) PASS
SUMMARY: (battery-temperature-ok?) PASS
SUMMARY: (baseline-current-ok?) PASS mA -104 min -202 max -13 mV 14639 degrees-C 19
SUMMARY: left-wheel-stall PASS
SUMMARY: (drive-speed-ok? left forward) PASS
SUMMARY: (drive-speed-ok? right stopped) PASS
SUMMARY: (left-drive-current-ok?) PASS mA -202 min -326 max -117 mV 13943 degrees-C 18
SUMMARY: (left-drive-stall-current-ok?) untested
SUMMARY: right-wheel-stall PASS
SUMMARY: (drive-speed-ok? right forward) PASS
SUMMARY: (drive-speed-ok? left stopped) PASS
SUMMARY: (right-drive-current-ok?) PASS mA -208 min -326 max -117 mV 13916 degrees-C 18
SUMMARY: (right-drive-stall-current-ok?) untested
SUMMARY: (drive-speed-ok? left reverse) PASS
SUMMARY: (drive-speed-ok? right reverse) PASS
SUMMARY: (stasis?) disabled
SUMMARY: brush-motor-stall PASS
SUMMARY: (brush-current-ok?) FAIL mA 7 min -566 max -208 mV 14639 degrees-C 19
SUMMARY: (brush-stall-current-ok?) untested
SUMMARY: (debris-left?) disabled
SUMMARY: vacuum-motor-stall PASS
SUMMARY: (vacuum-current-ok?) FAIL mA -20 min -352 max -176 mV 14528 degrees-C 19
SUMMARY: (vacuum-stall-current-ok?) untested
SUMMARY: side-brush-motor-stall PASS
SUMMARY: (side-brush-current-ok?) PASS mA -104 min -247 max -52 mV 14194 degrees-C 19
SUMMARY: (side-brush-stall-current-ok?) untested
SUMMARY: (int-charger-available?) PASS
SUMMARY: (int-charging-recovery-current-ok?) PASS mA 293 min 241 max 358 mV 16142 degrees-C 19
SUMMARY: (int-charging-current-ok?) untested
SUMMARY: (int-charging-trickle-current-ok?) untested
SUMMARY: (ext-charger-available?) PASS
SUMMARY: (ext-charging-recovery-current-ok?) untested
SUMMARY: (ext-charging-current-ok?) untested
SUMMARY: (ext-charging-trickle-current-ok?) untested
SUMMARY: (bootloader-ok?) PASS
SUMMARY: END
bc732
 
Posts: 4
Joined: October 25th, 2016, 6:47 pm

Re: Roomba 400 only responding to reset (7) command.

Postby bc732 » October 29th, 2016, 2:10 am

All, I solved it. It was dumb. I wasn't handling my Python correctly.

Before:
ser.write('\x80')

After:
ser.write(b'\x80')

Working!
bc732
 
Posts: 4
Joined: October 25th, 2016, 6:47 pm


Return to Robotic Hacking

Who is online

Users browsing this forum: CleanMe, mfortuna, Shazb0t, TechGuy, vic7767 and 211 guests