Thumbnail

Irobot Roomba Movement Panel

Control the iRobot Roomba and read sensor data

+ How To Add This Control To Your Project (Click to Expand)
  1. Make sure you have the latest version of ARC installed.
  2. Select the Get button in this page to download the archive file.
  3. Double click the downloaded archive file to execute installer.
  4. The installer will add this control to ARC.
  5. Load ARC and press the Project -> Add Control button from the menu.
  6. Choose the Movement Panels category tab.
  7. Press the Irobot Roomba Movement Panel icon to add the control to your project.

Manual

Control the iRobot Roomba and read sensor data. This skill currently works with the 500 series robots and iRobot create. The baud rate and connection type will need to be configured in the settings menu. 

Baud Rates
Different models (i.e. create vs Roomba) use different baudrates. Find your Roomba's version and check it's SCI (Serial Command Interface) or OI (Open Interface) manual to see what baudrate it uses. We believe the Roomba uses baudrate 115200, and the create uses 57600. But, don't hold us to that :). We do notice that older Roomba's use 57600 baud - ensure you have selected the correct baud rate in the config settings. 500+ series Roombas use 115,200 baud. If you are unsure, try each baud rate.

Demo Video
Here's a video of the nice proportional steering that this control provides the iRobot Roomba. This video has the Roomba set to follow Kate's orange socks.



Like all movement panels, only one can exist. In this case, this Movement Panel will connect to a Roomba by its SCI interface. This control allows for a variety of speeds also, so you can use the analog joystick to control speeds. Or use the speed control in the camera to track objects with nice smooth trajectories.

ARC allows multiple physical robot controllers to be connected at once. The Movement Controls only operate on the first board (Board 0) or PC serial port.

Reading Sensor Data
You can read sensor data, if the PC COM or HW UART ports are used for the connection. This also requires the TX and RX wires to be connected to the Roomba's SCI port. The data from the sensors and internal values are set as global variables. You can access everything from battery voltage to wheel encoder counts.

SCI Connection Types
The connection types that can be used to connect the Roomba to ARC are:

1. Software Serial (read only)
2. HW UART (read/write)
3. USB COM TTL (read/write)

Roomba SCI Cable 
The cable can have either TX & RX or just RX connected from the Roomba. If only RX pin is connected, the sensor data will not be read. 

Roomba <-> USB <-> PC
iRobot has a low cost USB cable that can connect directly to a PC. This is useful if the PC is located within the robot. You can get it from here: https://store.irobot.com/default/parts-and-accessories/create-accessories/communication-cable-for-create-2/4466502.html

Roomba <-> EZB <-> PC
This method will require you to make a connector cable. This requires a 7 pin Male Mini Din to connect to an EZB I/O Controller. Watch DJ's iRobot Roomba Live Hack to see how to make a cable.

This is a 7 Pin Male Mini-Din connector.
User-inserted image


The image below demonstrates how to make a cable with RX only. Meaning, the sensor data will not be read by ARC. If you wish to have the sensor data transmitted from the iRobot Roomba to ARC, the pin #4 (TXD) will need a connection. View DJ's iRobot Roomba Live Hack video below for step-by-step instructions to make the cable with TX and RX.
User-inserted image



Great Platform Base
How about using an iRobot Roomba for your robot wheel base? You can attach a camera and the EZ-B to a Roomba and turn it into a lean mean cleaning security machine! Combine a USB Joystick and the HTTP Remote Server Control... Voila! A remote control security cleaning robot. That's easy!

You can use an iRobot Roomba motherboard as an H-Bridge to drive your custom motors. This gives your robot the ability to self charge. By positioning the IR sensors on you robot in the same fashion as the Roomba, your robot can easily dock with the Roomba's self charging base.

*Note before connecting to a robot controller, check the signal wire (white wire) with a volt meter and ensure you have between zero and five volts from the Roomba. If you see higher voltage, you're connected to the wrong port. If you apply too much voltage to the the controller from the Roomba, you will damage the port.

Video


PRO MEMBER
Synthiam
#21  
Hi @mstephens_42

All references to the word manual on the Synthiam website get linked back to the Docs section of the website. 
@DJ was referring to looking at the manual specific to the Roomba you own. For the 400 models you'll need the Roomba SCI (Serial Command Interface) manual, for the 500 Series you'll need the Roomba OI (Open Interface) manual, for the 600 series/Create 2 series the OI manual is available and looks very similar to the 500 Series. From what I've read the 700 & 800 series of Roombas have SCI ports as well and use the same Open Interface as the 500 series.
PRO MEMBER
Canada
#22   — Edited
Okay great info here,My roomba Create 2 is just basically a modified 650 series. And you say if I have the serial-USB cable ,I can just hook up my Latte Panda only onboard the Roomba Easy. So now if I want to use a camera and I was planning to use the EZB cam but now I can't have it on the Roomba. I will be needing a USB camera of which the only one I can think of is this tiny Snap camera,it has USB connection,I have a bunch of older Android phones too may work with a spy cam app(turns on camera automatically when powered on).Can add it to the high speed USB on the Panda. I would rather use the EZB camera  as it just comes on when needed in the ARC scripting...I'll figure it out,I always do!

Edit----I must need some coffee, I just realized I can simply leave the EZBv4 on top beside the Panda and still use my Favorite EZ Cam!xD
PRO MEMBER
Synthiam
#23   — Edited
You don’t need any of the links Jeremie provided. Synthiam’s ARC software makes it easy so you don’t need to read any of those manuals or understand their programming. 

All you need is to connect the cable to the computer and select the port in arc. It’ll start working.
PRO MEMBER
Canada
#24  
Thanks DJ! I just downloaded the Roomba control plugin and it does look like everything is there what I need! This is amazing!All what I read around the internet looks like incomplete Jibberish to me, Again you prove to have the best robot control programs in the world,Thanks so much!
PRO MEMBER
Synthiam
#25   — Edited
What I’d suggest is the live hack. Give it a watch

no need to worry about technical jargon is the Synthiam way:D
PRO MEMBER
Canada
#26  
User-inserted image

Well I watched the video about 4 times and I realized uart connection is different. As I got the roomba to connect using the supplied serial to usb cable so this is only for PC connecting right, but it still kept saying EZB connection not found even though I know it is serial port 4 to roomba . my USB cable also has a similar uart extra port on top of the USB wire,am I supposed to connect any wire from that to ezb? Or just the Latte Panda alone with port 4 selected.A bit confused because if Ezb not on it won't connect at all to just mini pc. I Can keep trying as it worked once I turn on Ezb  with the http address it connects and finds the roomba in the roomba controls plug in but a few buttons do work for cleaning,init,brush motor on  seek charge port but the movement arrows are not working in the left box forward,back,turns.It usually takes me a few hours of trying LoL!Possibly because basic version of ARK?
PRO MEMBER
Canada
#27  
Wow 3 hours of sleep all nightmares. How does a Roomba change into a horrifying Tarantula!
I guess that was punishment for not getting the Roomba fully moving,so back at it.
PRO MEMBER
Canada
#28  
DJ "All you need is to connect the cable to the computer and select the port in arc. It’ll start working."
So are you saying I don't need the EZB controller at all? ARC always looks for the EZB  or it gives connection error if I just put it to  ARC Com 4 Connect/wifi button  ,for direct Serial to USB cable connection to Roomba.
 
Now if I do turn on the EZB the first connecting is done using Http address ,connects successfully, Then instead of UART port in the Roomba plugin I pick PC--USB and com 4, Roomba beeps getting good connection, then all the buttons in the plugin work in the Init Box area which is so cool I can control all the cleaning routines and start them up but no control on the left box with 2 sliders and Left right Forward,Back nothing happens? Could this be something as simple as The roomba must be taken out of rest mode or there will be no motor access? I read that somewhere with the Create 2 bots.
PRO MEMBER
Canada
#29  
Ah yes.........User-inserted image

It was something so simple ,The 2 sliders were down to low for giving motor power,all good now!!
PRO MEMBER
Canada
#31  
Yep, but just the beginning at least the hard part is over getting that basic control and movement happening. I do see the limitations with ARC basic, i am on hold with the bank lady about updating my bank card,really want the advanced tools working in ARC. Oh and I can't believe how awesome the roomba is when it goes searching for battery nest, I had it in the washroom trapped and it found the way out ,down the big hall and zoomed in perfectly on the infrared  nest!
PRO MEMBER
Canada
#32   — Edited
I found a common problem that would explain why so many people give up and sell their Create 2 or Hacked Roombas . I find that If I connect my Roomba with serial to USB cable to PC running latest ARC(or any computer) The roomba clean button stops responding after half an hour and no longer lights up, thinking it is dead battery ,disconnect cable, put roomba on Charging nest.  Nope 3 hours later roomba still dead no charging going on anymore, A normal person would toss in the closet, sell on KiJiJi "as is" or complain to Roomba spokesman for replacement on Warranty. LoL! Roomba has no info on their web site about this huge problem...Found another techy guy that repeated this flaw over and over. The simple Fix is to just press all 3 buttons on the top together for 10 seconds which does a hard reset ,then roomba is normal again but problem will come again when USB cable is hooked up for half hour....No permanent fix for this that I can find??At least you don't have to take out the battery like some phones. On more investigation, while the roomba buttons won't respond if you keep the ARC software on you can still run the scripts and motors brushes vacuuming sequences all will work,just don't disconnect the cable,to return roomba back to Factory setting just hit those top 3 buttons again for 10 seconds. Interesting day I had yesterday!
PRO MEMBER
Synthiam
#33  
Wow - i didn't know it won't charge if it is in diagnostic mode like that. Good to know!
PRO MEMBER
Canada
#34  
Ya so it just shows how powerful ARC is to be able to overide that mode and continue to function with full motor power,as long as it has the Micro PC tethered to it.
PRO MEMBER
Canada
#35  
Hey there,DJ I downloaded the latest version of the ARC that you posted today and it seems to have solved the problem of Roomba going dead and needing a hard reset,so far half an hour tethered to my PC and when I hit start,still showing full battery,Hopefully this issue is now corrected, I dont want to Jinks it,so I will just wait another 15 minutes and see...if all good ,if you don't hear anything later ,all went good,! If it was not your doing then thank you Jesus or Hail Satan or By -your-command,-Imperious Leader.
PRO MEMBER
Canada
#36   — Edited
I had to give up trying to use my Latte Panda with battery power as I accidentally wired the polarity the wrong way on my DF Robot Voltage regulator(Magic smoke)-
that would cut the power down from the 12 volt SLA battery to 5 volts or the 7.4 Lipo 5000 also worked with the Panda. Now my only choice is to wire up the EZB with UART directly to Roomba connection. for the Roomba Movement Panel to work.(If you connect any more than 5 volts,Panda will not even start) So I am wondering if I use the serial--USB cable that came with Roomba, can I still just add 2 wires on the cable(it has a header connection) to the TX and RX directly to EZB? and then switch it to UART in the ARC Roomba movement panel,I already found where the 5 volts and main Roomba battery 15v comes out the cable header...
 I know it's a shame not to be able to just use the USB cable on Panda,it was working great but now all I got is the EZBv4 to use,OR do I need to make a new cable from scratch like in the video?
PRO MEMBER
Canada
#38  
Hey DJ great to see you still looking out to help us! I did submit a ticket for premium help and got some great info on how you guys run the Panda on battery power. Took the advice! I only blew a voltage regulator not the Panda ,it survived,LOL! Not sure what headless means, will check the Link you put, The Panda is so particular on how much current it wants at start up over 3 Amps I believe! So you guys use 5 Amps on your Panda rigs,good to know!
PRO MEMBER
Synthiam
#39   — Edited
Oh ya, totally. I think they’re called LM1084 voltage regulators. We used to use them on the old ezb v3. Jeremie discovered them and they’re amazing. Just make sure you put a heat sink on it though. They get toasty
PRO MEMBER
Canada
#40  
Ahhh yes will do, Interesting that it is the EZBv4 that can take so much abuse and always come on top,everything else can blow up but out of the ashes EZB survives everytime!xD