Welcome to Synthiam!

The easiest way to program the most powerful robots. Use technologies by leading industry experts. ARC is a free-to-use robot programming software that makes servo automation, computer vision, autonomous navigation, and artificial intelligence easy.

Get Started
Asked — Edited

Roomba 655 Pointers?

Hey Community!

My parents just got a Roomba, which, being a robotics person, interested me. Since I know DJ and other members have hacked roombas, I was curious if there were any pointers people may have, such as the hack itself, or code, or other innovative ideas they've had with there Roomba. But firstly, does the 655 work with the hack?



Upgrade to ARC Pro

Unleash your creativity with the power of easy robot programming using Synthiam ARC Pro

First question.

The Roomba doesn't have the same connector as a keyboard I have, yet the keyboard is a ps2 connector keyboard? Does the ps2 connector still work in it?

User-inserted image

User-inserted image

Yes I'm aware the middle rectangle must be broken off.
Technopro, don't use old protocol with your 600 Roomba. It only expects 115,200 baud.
@Doc... just checked the data sheet... Looks like the UART has the same data pin voltage of 3.3... Looks like I may order the level shifter you posted, thanks...
@Doc @Tech... If you're interested I have just uploaded a small ezb project file to control a Roomba 500 (600, 700 etc) series robot... It uses a custom Movement Panel and simple UART commands for forward, reverse, left and right...

Look for.... Roomba 500 custom Movement Panel under the category "sharing"... I think it's the last one in that category

***Note*** it uses UART port 1 which is D5 on your ezb...
I have never used uart commands before. Could you coach me through where you got the codes?(I'm all about learning!)

Will test your code tomorrow. Thanks.
@Tech So yes, download the Doc that @Doc listed above... It will show you what data commands that you can send to your Roomba to do simple things like what I did. You will also have access to turning on and off the vacuum, side brush, main brushes etc. Seek docking station etc, etc.... And you can receive sensor data too... You'll need that 3rd wire on your Roomba plug connected to pin 4 on the Roomba (I think it's pin 4).... Pin 6 on the ezb is the receive data pin for UART 1......

So far I can only get my EZB to receive 1 byte data packets from the Roomba sensors (like reading the bumper and wheel drop sensors)... 2 packet data are things like battery voltage, wheel encoder data etc.... Not sure why I can't get 2 byte data to work but I know that it most likely is my coding LOL... probably. :P However, I know DJ is working on the serial commands as the dynamixel guys are have some data receive issues too... But I wouldn't worry about this just quite yet.... Project for another day...
Ok so for uart, what are the different numbers used in the init script? And what is the order?

uartinit(0, 1, 115200)
uartWrite(0, 1,128,132) #Init iRobot create and place in full mode

Also, how do I return the Roomba to normal? I tried writing a command to set it to passive, and to off, but no luck and a red light on my ez-b.
I haven't got that far with the 500 series yet... To reboot the Roomba to normal operation... Press and hold down all 3 buttons (Dock, Clean, Spot) at the same time for about 15 seconds... The LED will go out then the Roomba will reboot back to normal operation... Or you can take the battery out and put it back in....

uartWrite(0, 1,128) #Puts iRobot in passive mode
If you send the clean command, it forces it into normal operation. Just got told I have to wait until the warranty is over until I can play with it. :(

Thanks for the help guys. When I do something Roomba wise I'll wake this thread up.
uartWrite(0, 1,7) #will reset the Roomba
@Tech... well that sucks.... I have one (Roomba 530) you can have for dirt cheap $35.... LOL No pun intended. It's used but works great.... or you can check out eBay for one...

$35? Is it complete? Is that just the vacuum or are other accessories available too?
@Tech yep, with dust bin, brushes and battery... you have a charger (your parents Roomba) so you don't need one... Like I said, it is used, but works great...
Sure.... There is some minor yellowing on one side of the Roomba... nothing really just some minor sun yellowing.... Everything else is perfect... A bargain for $35...:)
User-inserted image

User-inserted image

User-inserted image

User-inserted image

User-inserted image

User-inserted image
Okay. I'm waking this thread up again. I am using the roomba again, and downloaded Richards cloud project and got it operating. What I want to figure out is the wiring to receive data from the roomba.
In one of the past posts @Richard_R said that you would connect a wire to pin 4 on the roomba and another UART port on the ez-b, but which ports on the ez-b V4 are uart?

United Kingdom

UART serial expansion port it port UART0.

D5 (TX) and D6 (RX) can be used as UART1.

D18 (TX) and D19 (RX) can be used as UART2.