I can not read I2C1 on reterminal DM

Hello.

I have two SHT31 sensors(0x44, 0x45).

Worked condition

  1. RPI4B(40-pin GPIO) - dock(GPIO2 - I2C1_SDA, GPIO3 - I2C1_SCL) - mux(PCA9547 - 0x70) - sensor(SHT31 - 0x44, 0x45)
  2. when I command ‘i2cdetect -y 1’, output is 0x70, 0x44, and 0x45
  3. set ‘dtparam=i2c_arm=on,i2c_arm_baudrate=1000000’ on /boot/config.txt also

Not worked condition

  1. reterminal DM(40-pin GPIO) - dock(GPIO2 - I2C1_SDA, GPIO3 - I2C1_SCL) - mux(PCA9547 - 0x70) - sensor(SHT31 - 0x44, 0x45)
  2. when I command ‘i2cdetect -y 1’, output is 0x70 only
  3. set ‘dtparam=i2c_arm=on,i2c_arm_baudrate=1000000’ on /boot/config.txt also

what am I missing something?

Check if the reterminal DM device and the sensors (SHT31) are compatible in terms of I2C voltage levels. The SHT31 typically operates at 3.3V logic levels. If the reterminal DM operates at 5V logic levels, level shifting might be necessary to avoid damaging the sensors.

is that using grove connectors?

You’re right.
I did check again 3.3V logic level.
The logic level connected 5V, I have switch path both 3.3V and 5V actually to use P82B715DR.
I changed from 5V to 3.3V logic level.
Finally I got 0x70, 0x44, and 0x45 addresses.
Thank you.

I’m not using grove connectors, I’m using RJ-45 connectors(CAT 5e).

I changed logic level from 5V to 3.3V.
Two sensors working simillary, but ‘i2cdetect -y 1’ I got mixed address few minutes after.
I don’t understand.

probably need terminating resistors

cloud you more explain please

google to your hearts content

hello.

actually, connect flow is

reterminal DM → 40-pin gpio(I2C1, GPIO2,3) <-> Dock(P82B715DR, I2C extender) ← RJ-45(CAT-5e) → MUX(P82B715DR → PCA9547BS → PCA9615(SCL, SDA differential) x 8) ← RJ-45(CAT-5e) → Sensor(PCA9615 → STH31 : 0x44) ← RJ-45(CAT-5e) → Sensor(PCA9615 → STH31 : 0x45)

I guess both SCL and SDA using differential line, it would be reduced noise isn’t it?

I tested communicated when I using RJ-45(CAT-5e), even cable length 30meters, on RPI4.

I guess PCA9615(differencial signal)'s role almost terminating resistors, isn’t it?

Is it different…?

I’m confuse…

hello, cgwaltney.

I got solve this issue.
It just UTP cable issue.

dock <— CAT-5e → mux
this cable!

It is good working.

Thank you for your help.

1 Like