Developer Preetham Kyanam has written a library for any Arduino programmer looking to play around with iRobot's Roomba and Create 2 robots — building on the company's official Open Interface Specification.
"ArduRoomba is an Arduino library that enables interfacing with iRobot Create 2 and compatible iRobot Roomba models (500 series through 800 series non-Wi-Fi models)," Kyanam explains of the library. "Developed based on the iRobot Create 2 Open Interface (OI) Specification, this library is specifically designed for [the] Arduino UNO R3 and UNO R4 Minima/WiFi."
The library comes with instructions for wiring an Arduino UNO-format board to the Open Interface connector on compatible iRobot devices — though it only extends to support for the last-generation iRobot Create 2 platform, rather than the company's latest Create 3. For the new Arduino UNO R4 WiFi, it also comes with a warning not to use the header connected to the Espressif ESP232-S3 coprocessor lest the 5V signals from the Roomba cause damage to the 3.3V microcontroller.
Kyanam has tested the library with the iRobot Roomba 551, as sold wholesale at Costco, and expects it to be compatible with the iRobot Roomba 500, 600, 700, and 800 families when specified without Wi-Fi connectivity, along with the Create 2 do-it-yourself robot platform. "Other boards/MCUs [Microcontroller Units] maybe compatible," the developer says of the library's board support, "but have not been tested."
Once installed in the Arduino IDE, the library allows for programmatic control of compatible iRobot devices — with example sketches showing how to control the robot's motion and send it searching for its docking station and for controlling the robot remotely over a serial link.
The library is now available on GitHub under the reciprocal GNU General Public License 3.