• Document: irobot Roomba Serial Command Interface (SCI) Specification
  • Size: 261.21 KB
  • Uploaded: 2019-02-13 05:33:59
  • Status: Successfully converted

Some snippets from your converted document:

iRobot® Roomba® Serial Command Interface (SCI) Specification www.irobot.com © 2005 iRobot Corporation. All rights reserved. iRobot and Roomba are registered trademarks of iRobot Corporation. iRobot® Roomba® Serial Command Interface (SCI) Specification SCI Overview Serial Port Settings Versions of iRobot® Roomba® Vacuuming Robot manufactured Baud: 57600 or 19200 (see below) after October, 2005 contain an electronic and software interface Data bits: 8 that allows you to control or modify Roomba’s behavior and Parity: None remotely monitor its sensors. This interface is called the iRobot Stop bits: 1 Roomba Serial Command Interface or Roomba SCI. Flow control: None Roomba SCI is a serial protocol that allows users to control a By default, Roomba communicates at 57600 baud. If you are Roomba through its external serial port (Mini-DIN connector). using a microcontroller that does not support 57600 baud, there The SCI includes commands to control all of Roomba’s actuators are two ways to force Roomba to switch to 19200: (motors, LEDs, and speaker) and also to request sensor data from all of Roomba’s sensors. Using the SCI, users can add Method 1: functionality to the normal Roomba behavior or they can create completely new operating instructions for Roomba. When manually powering on Roomba, hold down the power button. After 5 seconds, Roomba will start beeping. After 10 seconds, Roomba will play a tune of descending pitches. Roomba will now communicate at 19200 baud until the battery is removed and reinserted (or the battery voltage falls below the Physical Connections minimum required for processor operation) or the baud rate is To use the SCI, a processor capable of generating serial explicitly changed via the SCI. commands such as a PC or a microcontroller must be connected to the external Mini-DIN connector on Roomba. The Mini-DIN Method 2: connector provides two way serial communication at TTL Levels You can use the Device Detect to change Roomba’s baud as well as a Device Detect input line that can be used to wake rate. After you have awakened Roomba (using Device Detect Roomba from sleep. The connector also provides an unregulated or by some other method) wait 2 seconds and then pulse the direct connection to Roomba’s battery which users can use to Device Detect low three times. Each pulse should last between power their SCI applications. The connector is located in the rear 50 and 500 milliseconds. Roomba will now communicate at right side of Roomba beneath a snap-away plastic guard. 19200 baud until the battery is removed and reinserted (or the battery voltage falls below the minimum required for processor Roomba’s external serial port operation) or the baud rate is explicitly changed via the SCI. Mini-DIN connector pinout Here is a Python code fragment that illustrates this method This diagram shows the pin-out of the top view of the female (Device Detect is connected to the PC’s RTS line via a level connector in Roomba. Note that pins 5, 6, and 7 are towards the shifter): outside circumference of Roomba. 6 ser = serial.Serial(0, baudrate=19200, timeout=0.1) ser.open() 7 5 # wake up robot ser.setRTS (0) 4 3 time.sleep (0.1) ser.setRTS (1) 2 1 time.sleep (2) # pulse device-detect three times

Recently converted files (publicly available):