How to Program Roomba - Introduction
By Anna Sandler
iRobot has published an API for Rooma - the Roomba SCI (Serial Command Interface). The idea is very simple: you need to transfer byte array to Roomba’s serial
port that is located here. (Video)
Each byte holds a single command or a command-group. We will go deeper
into that later on.
iRobot Create is the only model that allows these commands to be saved on
the robot to be executed for later use.
Roomba 4XX, 5XX, 7XX and a Dirt dog need an external device (computer,
smart phone or another robot) that will send the commands to the robot for immediate
execution.
All Roomba models (Create, Roomba 4XX, 5XX, 7XX and Dirt dog) support Roomba SCI.
External Resources
-
You can download the original Roomba SCI from here.
Roomba 5XX and Roomba 7XX can support additional commands that will be covered
in later chapters.
-
You can download the Roomba 500 Open Interface API from here.
-
iRobot Create is the best choice for developers (although Create doesn't have the
cleaning functionality).
You can download the Create Open Interface API from here.
What are Roomba commands?
iRobot developed the SCI (Serial Command Interface) that enables a bidirectional
communication interface.
A single command, represented by a single byte, can be for example:
Power Roomba off (the command byte that is sent to serial port is [133]);
Start cleaning (command byte [135]) and several other commands that
will be discussed in the next chapters.
Most of the commands require more than one byte, for example,
driving Roomba forward, requires in addition to the driving command (command
byte [137]), the velocity (command bytes [0] [100]) and the radius
(command bytes [128][0] that represent a forward direction).
Prerequisites
Please make sure that your Roomba is 400 series or higher, that was manufactured
after October 24th, 2005, otherwise the API won't work. (If you happen to have an
older version, please buy iRobot’s OSMO that basically upgrade the firmware of your
robot)
Transferring bytes to and from Roomba can be done through a Bluetooth device
(recommended)- like RooTooth which costs ~100$. or through "usb to serial"
cable like this which costs ~30$.

RooTooth, a bluetooth device for Roomba

USB to serial port cable
If your goal is to develop a game for a smartphone that controls Roomba, you would
probably go for the Bluetooth option.
To get started – that’s all you need:
- A Roomba
- Serial port connector (either Bluetooth or cable)
- A computer.
What's next?
In order to move forward and learn how to program Roomba, your environment
should be configured to communicate with it. We strongly recommend using
a RealTerm terminal even if you are a .NET or a Java developer. At least
during the first steps. As we move on with the programming, you can send commands
to Roomba using your code (we will go deeper into that later).
Let's move forward and learn how to connect the Roomba to the computer.
reasons people cheat
website wife cheat story
transfer prescription coupon
click cialis coupon
abortion cost without insurance
site post abortion