I2c Jetson nano

Hi, I could help the device does not detect the mlx90614 sensor and connect it and the i2cdetect -r -y 1 does not throw anything at me.
Is there any previous step or activation of the i2c?

sudo i2cdetect -r -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: – -- – -- – -- – -- – -- – -- –
10: – -- – -- – -- – -- – -- – -- – -- – --
20: – -- – -- – -- – -- – -- – -- – -- – --
30: – -- – -- – -- – -- – -- – -- – -- – --
40: – -- – -- – -- – -- – -- – -- – -- – --
50: – -- – -- – -- – -- – -- – -- – -- – --
60: – -- – -- – -- – -- – -- – -- – -- – --
70: – -- – -- – -- – --

That is what appears

  1. First you need to make sure the sensor is power on.
  2. Probe the signal to make sure the sensor is ack.

Hello, folks!
I have a similar problem with I2C Bus 1, see below:

  • I have tried to connect many devices to bus 1 (pins: 1-3.3v; 3-SDA; 5-SCL; 9-GND), but i2cdetect didn't find any (one device with unique address per bus per time).
  • Next, I connected these devices to I2C Bus 0 and devices are visible on the bus. For example, bmp280 is answering at address 0x76, MCP23017 is answering at address 0x20 and TAC9548A is answering at address 0x70 (one device with unique address per bus per time).
  • So, I have checked these devices with RPi3b, and they are working fine.
  • Next, I checked the voltage on needed pins on 40 pin header, and results were disappointed me. Voltages on I2C Bus 1 on these pins are 1(3.3V)-3.291V, 3(SDA)-1.197V, 5(SCL)-3.280; 9-0). Voltages on I2C Bus 0 on these pins are 1(3.3V)-3.291V, 27(SDA)-3.282V, 28(SCL)-3.282; 9-0). RPi3b voltages are similar to the I2C Bus 0
  • Next, I looked at the device tree and didn't find any wrong entries.

The modification that I apply is “Enabling I2S audio output on 40 Pin Connector” by @jas-mx. In my humble opinion, this mod hadn’t affect on I2C bus 1.
Entries in the device tree for these buses are identical.
SD image at 2019-03-18

@candoza, Could you, please, provide additional information about the voltage on pins and modifications if they applied.

@ShaneCCC, Any suggestions?

Are you putting 3.3V 2 kOhm pull-up resistors on the I2C-1 bus?
Without the correct pull-up resistors, the bus won’t work.

@snarky, I’m going to do that, but why?
Maybe I get wrong with understanding, but Table 18 “I2C Pin Descriptions” from “JETSON NANO DATASHEET DA-09366-001_v0.7” says about the bus: “Pin type: Open Drain - 3.3V. Only 3.3V devices supported without a level shifter. I2C 1 Clock/Data pins. On module 2.2kΩ pull-up to 3.3V.”
So, Jetson Nano Pinmux Table document contains: “General I2C 1 Clock/Data. 4.7kΩ pull-up to 3.3V on the module.”

Which is correct?

Sorry, English isn’t my native language. :)

Hello everyone,
New here to using the Jetson Nano and I too am having some issues using the I2C bus, and I am having similar issues to @Canadoza and @Andrey. According to the datasheet the Jetson uses the same library as the Raspberry Pi and I have tested all these devices on the raspberry pi and they have all been detected fine.

It has been able to detect the following devices:

  • PCA9685
  • BNO055

I have not been able to get it to detect the MS5837 Pressure Sensor on the Jetson Nano. I have also tried adding the 2.2 kOhm pulll-up resistors as @Snarky suggested but I have had no luck. Did anyone else manage to solve this issue?

Thank you in advance.

If the problem is with a specific sensor, then chances are that that sensor doesn’t like the speed you’re running the I2C bus at. Look at the bus on an oscilloscope or logic analyzer, are you running in standard or fast mode?

Hello
I’ve used 2.2kOms pull-up resistors, but problem wasn’t solved. On a bus 0 all sensors works fine with and without pull-up resistors.
There is a good idea to check the bus with an oscilloscope and I would check later.

Update.
Information is taken from the oscilloscope:

  • BUS 1. Pull-up resistors are connected. SDA-1.18V,SCK-3.28V. Signals are visible, and their form is a meander.
  • BUS O. Pull-up resistors are connected. SDA-3.28V,SCK-3.28V.Signals are visible, and their form is a meander.
  • No bus. Pull-up resistors connected to 3.3V. SDA-3.28V,SCK-3.28V.

Do anyone else have the same problem?

Folks, could you, please, provide a “correct” device tree source for i2c buses.

Thanks for previous answers and instructions.

BUS 1. Pull-up resistors are connected. SDA-1.18V

That indeed sounds like something is pulling the signal low!
Whether that’s a device tree problem, or some other device interfering, you’d have to do some more debugging to figure out.
My guess would be on the device tree, though.

@snarky, I totally agree with you about the signal level.

Only one device connected to the bus at the same time.
I’ve restored the original device tree file but the problem still exists. The file that I changed is tegra210-p3448-0000-p3449-0000-a02.dtb
In my opinion, not only the device tree may affect the signal. Maybe a schematic/PCB trace would affect on the signal.

Could you, please, provide the device tree sources for the i2c?
Thank you for advice.

@fbaez1001, Have you changed the device tree?

Hi @andrey.kozeletsky,

Could you please place the unit in recovery mode and then measure those signals? This will tell you whether or not the hardware is okay.

Please see the Jetson Nano Developer Kit User Guide for the location of the force recovery pins, page 6 and 7.

Another recommendation is to re-download the latest image from:

https://developer.nvidia.com/embedded/dlc/jetson-nano-dev-kit-sd-card-image

Thanks

Hi vkuruturi,

Thank you for you suggestion.

In the recovery mode:

  • BUS 1. Pull-up resistors are connected. SDA-1.18V,SCK-3.28V. Signals are visible, and their form is a meander.
  • BUS O. Pull-up resistors are connected. SDA-3.28V,SCK-3.28V.Signals are visible, and their form is a meander.
  • No bus. Pull-up resistors connected to 3.3V. SDA-3.28V,SCK-3.28V.

After re-download and re-install the latest image:

  • BUS 1. Pull-up resistors are connected. SDA-1.18V,SCK-3.28V. Signals are visible, and their form is a meander.
  • BUS O. Pull-up resistors are connected. SDA-3.28V,SCK-3.28V.Signals are visible, and their form is a meander.

Hi andrey.kozeletsky & candanoza,

could you please provide the serial number of the failure systems? There should be some labels on board marked with the numbers.

Hi all! I have the same proble. I use TSL2561 sensor. If I understood correctly, it seems that I have the same problem.

When sensor connected to pin 3 - SDA and pin 5 - SCL all work fine (I2C BUS 1). I have data from sensor and sensor responds to changes in lightness.

But if i connect same sensor to pin 27 - SDA and pin 28 - SCL, sensor return incorrect data…

Can someone help?

Could you probe the to make sure the data is incorrect?

Hello ShaneCCC, English is not my native language, what kind of additional information do you need?

Please probe the i2c bus to check the data from the scope to confirm it return incorrect data.

How can i probe i2c bus?