Page 445 - Hacking Roomba
P. 445
426 Appendix C — iRobot Roomba Open Interface (ROI) Specification
iRobot® Roomba® Open Interface (ROI) Specification
Roomba Open Interface Sensors Quick Reference
P acket C ode Packet Size B umps Wheeldrops
0 26 bytes
Bit 7 6 5 4 3 2 1 0
1 10 bytes
Sensor n/a n/a n/a Wheeldrop Bump Bump
2 6 bytes Left Right
Caster Left Right
3 10 bytes
M otor Overcurrents
N ame Groups Bytes Value Range Units
Bumps Wheeldrops 0, 1 1 0 – 31 Bit 7 6 5 4 3 2 1 0
Wall 0, 1 1 0 – 1 Motor n/a n/a n/a Drive Drive Main Vacuum Side
Cliff Left 0, 1 1 0 – 1 Left Right Brush Brush
Cliff Front Left 0, 1 1 0 – 1
Cliff Front Right 0, 1 1 0 – 1 B uttons
Cliff Right 0, 1 1 0 – 1
Bit 7 6 5 4 3 2 1 0
Virtual Wall 0, 1 1 0 – 1
Button n/a n/a n/a n/a Power Spot Clean Max
Motor Overcurrents 0, 1 1 0 – 31
Dirt Detector - Left 0, 1 1 0 – 255
Dirt Detector 0, 1 1 0 – 255 C harging State C odes
- Right
Remote Opcode 0, 2 1 0 – 255 C ode Charging State
Buttons 0, 2 1 0 – 15 0 Not Charging
Distance 0, 2 2* -32768 – 32767 mm 1 Charging Recovery
Angle 0, 2 2* -32768 – 32767 mm 2 Charging
Charging State 0, 3 1 0 – 5 3 Trickle Charging
Voltage 0, 3 2* 0 – 65535 mV 4 Waiting
Current 0, 3 2* -32768 – 32767 mA 5 Charging Error
Temperature 0, 3 1 -128 – 127 degrees C
Charge 0, 3 2* 0 – 65535 mAh
Capacity 0, 3 2* 0 – 65535 mAh
* For 2 byte sensor values, high byte is sent first, followed by low byte.
10 www.irobot.com