Page 434 - Hacking Roomba
P. 434
iRobot Roomba appendix
Open Interface (ROI)
Specification
he following is the complete iRobot Roomba Open Interface (ROI)
specification. It is also available as a downloadable PDF from in this appendix
Thttp://irobot.com/developers, which will always have the
most recent version of the specification. I’d like to thank iRobot for giving
permission to reprint the specification here and for being so hacker-friendly Understand the
in general. This book would not be possible without their willingness to let change from SCI
users find new uses for the Roomba. to ROI
You will undoubtedly run into references to the Roomba Serial Command
Interface (SCI).This was the original name of the ROI.There is no difference See the complete
between the ROI and the SCI; only the name has changed.The original SCI ROI specification
name was likely an internal name used by iRobot engineers that escaped
into public use. Unfortunately the name Serial Command Interface can be
confusing in hacker contexts where so many things speak through serial
communications and many microcontrollers have a Serial Communications
Interface (SCI). The new ROI name positively identifies it as pertaining to
Roomba, creates an abbreviation not common in hacker circles, and empha-
sizes the fact that Roomba is a hackable system.
Because the ROI is simply SCI renamed, there are no ROI versus SCI
compatibility issues to worry about. The SCI was in use and unchanged for
a year, a part of hundreds of thousands of Roombas. If you have a Roomba
that mentions SCI, all software and hardware designed for a Roomba ROI
will work, and vice versa. If you already have an SCI specification PDF
(originally available from http://irobot.com/hacker), you’ll notice it’s
the same as the specification printed in this appendix.
This does not mean that iRobot will not change the ROI in the future. Just
as it changed the SCI, over time iRobot might decide to update the ROI.
But even if it updates the Roomba communication port, it almost certainly
will remain backward compatible with the current ROI. As you can tell
from the specification, there is plenty of room for additional commands and
functionality. The name change does signify the current functionality is tied
to Roomba and thus may not work for other products iRobot makes such as
Scooba.