The Core Device Interface (CDI) connects external sensors and other devices to an Android device. With a total of 26 port connections divided into 5 general classes, the CDI gives a conveneint way to attach a wide range of Modern Roboitc sensors, or brew your own devices and control your world.
The port categories are PWM, I2C, Analog Input, Digital Input/Output, and Analog Output.
The Core Device Interface enables the host Android or PC programs to independently access each connected device.

What's Included
1 Core Device Interface Module
1 USB Cable - USB A to mini
PWM (2)

Pulse Width Modulation creates a 5v logic level variable mark/space waveform. 16 bit timers with 1 µS resolution are used for both the pulse repetition time and pulse width, permitting a wide range of frequencies and pulse.
I2C Bus (6, expandable)

I2C protocol can read sensors with arrays of data like the IR Seeker V3 at 100kbps with a 27byte data buffer.
Analog Input (8)
Analog Inputs can read analog sensors like the Optical Distance Sensor which returns a voltage between 0 and 5V to be converted to a 10 bit value between 0 and 1023. All Inputs are sampled 1/ms.
Digital Input/Output (8)
Digital I/O can be in a read or write mode. Read will allow you to determine the logic level of the sensor. Write will allow you to turn on or off 5V.
Analog Output (2)

Analog Out provides a voltage between -4V and +4V at 1mA by either a DC, sin wave, square wave, or triangle wave output at 0-8KHz with a 1.0k ohm resistor current limiter.
Specifications
|
Power
|
5 volts DC. 200 mA max.
|
|
Individual port power
|
Unspecified
|
|
Total port power
|
5 volts DC, 150mA max.
|
|
Recommended devices
|
Core compatible devices.
|
|
USB 5v current consumption
|
200 mA max.
|
|
USB compatibility
|
USB 1.0, USB 2.0
|
|
Required USB driver
|
FTDI VCP
|
|
USB connection method
|
Direct
|
|
USB connector
|
USB mini, pin 5 (+5v connection) used as main power supply.
|
|
Port control modes, digital
|
Digital port input or output control - logic 0 or logic 1.
|
|
Analog input port
|
0 – 5 volts via 10 bit analog to digital converter
|
|
Analog output port
|
-4 –+4 volts at 1mA
|
|
Analog output port modes
|
DC, sine, square or triangle
|
|
Analog output frequency
|
Frequency range 0 – 8
KHz |
|
I2C port
|
100KHz, with maximum
27 byte
data buffer per port
|
|
PWM port
|
Repetition time and pulse width 1 - 65535µS
|
|
Digital connector
|
Pin 1 – Gnd, pin 2 – +5 volts, pin 3 – digital signal
|
|
Digital signaling levels
|
Logic 0 – 0 volts, logic 1 – 5 volts
|
|
Digital current limiting resistor
|
220 ohm
resistor
|
|
Digital Current Limit
|
22mA
|
|
Analog input connector
|
Pin 1 – Gnd, pin 2 – +5 volts, pin 3 – analog signal
|
|
Analog input configuration
|
2.2k ohm resistor series, 1.0M ohm to ground
|
|
Analog output connector
|
Pin 1 – Gnd, pin 2 – analog signal
|
|
Analog output current limiting resistor
|
1.0k ohm resistor
|
|
Analog Output Current Limit
|
5mA
|
|
PWM connector
|
Pin 1 – Gnd, pin 2 – +5 volts, pin 3 – digital output
|
|
PWM logic levels
|
Logic 0 – 0 volts, Logic 1 – 5 volts
|
|
PWM current limiting resistor
|
220 ohm
resistor
|
|
PWM Current Limit
|
22mA
|
|
I2C connector
|
Pin 1 – Gnd, pin 2 – SCL, pin 3 – SDA, pin 4 - +5 volts
|
|
I2C signaling
|
100KHz clock with 5v logic levels.
|
|
I2C configuration
|
47 ohm
series resistor, 4.7k ohm pull-up resistor
|
|
Unit dimensions – LxWxH
|
72 x 73 x 16.2 millimeters
|
|
Unit weight
|
45 grams
|
Core Device Interface Ports and Wiring
Wire Orientation
All Modern Roboitcs sensor connecting wiring, both The Ground wire (black wire) always plugs in on the right side along the black stripe. Analog and digital connections are three wire and are signal (Yellow) +5V (red) and Ground (Black). I2C connections are 4 wire, +5V (red), Data (Yellow), Clock (White) Ground (Black). Sensor wire packs are available for connecting your own sensors.
Connectors
Sensor connectors have a 0.1” (2.54mm) spacing. 20 – 26 gauge wire is recommended. Sensor cables can be purchased from modernroboticsinc.com to connect custom sensors.