This guide is about how to access i2c on Ubuntu and Android.
Preconditions
Ubuntu V180531
or newerAndroid V180619
or newer
Connections
I2C ASensor SCL
<-> I2C_SCK_A (PIN 22)
Sensor SDA
<-> I2C_SDA_A (PIN 23)
Sensor GND
<-> GND
Sensor VCC
<-> 5V or 3.3V
//depends on your sensor
I2C BSensor SCL
<-> I2C_SCK_B (PIN 25)
Sensor SDA
<-> I2C_SDA_B (PIN 26)
Sensor GND
<-> GND
Sensor VCC
<-> 5V or 3.3V
//depends on your sensor
I2C ASensor SCL
<-> I2C_SCK_A (PIN 22)
Sensor SDA
<-> I2C_SDA_A (PIN 23)
Sensor GND
<-> GND
Sensor VCC
<-> 5V or 3.3V
//depends on your sensor
I2C BSensor SCL
<-> I2C_SCK_B (PIN 25)
Sensor SDA
<-> I2C_SDA_B (PIN 26)
Sensor GND
<-> GND
Sensor VCC
<-> 5V or 3.3V
//depends on your sensor
I2C 3Sensor SCL
<-> I2C0_SCK (PIN 22)
Sensor SDA
<-> I2C0_SDA (PIN 23)
Sensor GND
<-> GND
Sensor VCC
<-> 5V or 3.3V
//depends on your sensor
I2C 4Sensor SCL
<-> I2C1_SCK (PIN 25)
Sensor SDA
<-> I2C1_SDA (PIN 26)
Sensor GND
<-> GND
Sensor VCC
<-> 5V or 3.3V
//depends on your sensor
Detect the device
Detect device on I2C A
:
1 | # i2cdetect -y -r 1 |
Detect device on I2C B
:
1 | # i2cdetect -y -r 2 |
Detect device on I2C A
:
1 | # i2cdetect -y -r 1 |
Detect device on I2C B
:
1 | # i2cdetect -y -r 2 |
Detect device on I2C 3
:
1 | # i2cdetect -y -r 3 |
Detect device on I2C 4
:
1 | # i2cdetect -y -r 4 |
If you have the right connection you will see the device address, e.g: 0x1d
,0x18
and 0x51
.
NoteRoot privileges required.
Read register from device
Read register 0x0d
of device 0x1d
on I2C A
.
1 | # i2cget -f -y 1 0x1d 0x0d |
NoteNote: Root privileges required.
For more, please refer to the help messages.