Data Sheet
Sensor Documentation Modern Robotics, Inc.
Version 1.4.3 12
+5V SDA SCL Ground
4. Four-Wire Digital I2C Sensors
All four-wire sensors are I2C sensors. I2C stands for Inter-Integrated Circuit and is used for
communication between two or more devices. All Modern Robotics I2C sensors have four
wires: Black, Red, Yellow and White.
The black wire is the ground wire and must line up with the black bar on the right side of
the port.
The red wire is the power wire that connects to 5V for all the sensors to operate on.
The yellow wire is the serial data (SDA) which is responsible for the transfer of data
between the master and the slave devices.
The white wire is the serial clock (SCL) which is very important as I2C communication relies
on the clock signal for sending out and receiving in data on the yellow wire.
Each sensor has its own I2C address associated with it. If you intend to use two of the same
sensor, you must change the address of one of the sensors. Core Device Discovery is a tool
that can be found at http://modernroboticsinc.com/coredevicediscovery and it is used to
test Modern Robotics modules and controllers. Core Device Discovery may also be used to
change the I2C address of a sensor through a Core Device Interface Module. The I2C ports
are connected to the same I2C bus. Therefore, whichever I2C port the sensor is connected
to is arbitrary.
There are two types of multi-register values that Modern Robotics sensors use. The first is
FSB/LSB which is used to represent a decimal number from 0 – 255. The second method
used is LSB/MSB which is used to represent very large numbers. The MSB is the upper byte
and the LSB is the lower byte. When they are concatenated together, they form a 2 Byte
value between 0 – 65,535.
FSB/LSB
The fields shown as fsb/lsb are 16 bit values with a
notional binary point between bits 7 and 8. Thus, the
value 0x0100 represents the decimal value 1.00
whereas 0x0180 represents decimal value 1.50.
A value of 1.789
lsb = 0x01 OR 1.789 * 256 = 457.984 = 457 = 0x01C9
fsb = .789 * 256 = 201.984 = 201 = 0xC9
0x01C9 (lsb/fsb)
LSB/MSB
(lsb/msb) (01100011/01011010) 0101101001100011 5A62 23138
lsb msb msb lsb msblsb