Fork me on GitHub

The I2C (Inter-IC) bus is a bi-directional, two-wire serial bus that provides a communication link between integrated circuits (ICs). Phillips introduced the I2C bus 20 years ago for mass-produced items such as televisions, VCRs, and audio equipment. Today, I2C is the de-facto solution for embedded applications.

UDOO Neo I2C channels

Freescale iMX 6SoloX has 4 I2C channels. In UDOO Neo all four channels are used with different functions available for the user.

In the pictures below these functions are listed:

I2C 1

The PMIC, JTAG and LVDS screen touch are connected to the first I2C bus.

PMIC

The PF3000 is a Power Management Integrated Circuit (PMIC) designed specifically for use with the Freescale i.MX 7 and i.MX 6SL/SX/UL application processors. With up to four buck converters, six linear regulators, RTC supply, and coin-cell charger, the PF3000 can provide power for a complete system, including applications processors, memory, and system peripherals. This device is powered by SMARTMOS technology.

JTAG

The pads to connect a JTAG debugger are embedded on board, placed on the bottom of the board. The connector is not present to reduce the used space and the costs. The JTAG connector uses this bus to exchange data.

LVDS touch panel

Most of the touch panels use the I2C standard to communicate touch coordinates. For example, the official 7 inches touch panel uses this protocol for the connection.

External pins

The I2C 1 bus is available also on the user-accessible pinout:

HEADER SDA SDL
J6 27 26
J11 10 9

I2C 2

Channel 2 is by default assigned to A9. It's possible to change this assignment following this guide.

Snan-ip Bricks connector

On the J10 connector it is possible to connect UDOO Bricks sensors to the I2C 2 bus.

External pins

The I2C 2 bus is available also on the user-accessible pinout:

HEADER SDA SDL
J6 15 14
J5 37 36
J10 * *

* These are not the PCB numbers but header numbers

I2C 3

This channel is used to control the LCD to HDMI converter. It cannot be accessed from the user because it logic runs at 1.8 Volts. The I2C channel 3 is assigned to the A9 core only.

LCD to HDMI converter

iMX 6SoloX don't have the HDMI controller embedded on the SoC. So we need to use extra hardware to provide the HDMI video output. The TDA19988 chip is connected to the I2C 3.

I2C 4

This channel is used to connect the 9-axis motion sensors. By default is connected to A9 core.

Motion sensors

The FXOS8700 (acc/mag) and FXAS2100 (gyro) are connected to this channel.

DEVICE FUNCTIONS I2C ADDRESS
FXOS8700 Accelerometer / Magnetometer 0x1E
FXAS2100 Gyroscope 0x20

Other devices can be connected on the external pins of this bus, paying attention to not make conflicts in the addresses.

External pins

The I2C signals are available on the external pinout:

HEADER SDA SDL
J6 33 32
J5 35 34
This page was last updated on Wednesday, February 15, 2017 at 10:23 AM.