cancel
Showing results for 
Search instead for 
Did you mean: 

VL53L3CX-Satel - i2cdetect keeps changing.

Mdo N.1
Associate

I got the VL53L3CX-Satel kit and it is behaving very strangely.

I connected i2c pins (SDA and SCL), GND and VDD (3.3V).

I get different addresses every time I run i2cdetect:

devboard:~ $ i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          03 -- -- 06 -- -- 09 0a -- -- 0d -- -- 
10: -- 11 -- 13 -- 15 16 17 18 -- 1a -- 1c 1d -- -- 
20: -- -- 22 -- -- 25 -- -- -- -- -- 2b 2c -- 2e 2f 
30: -- -- 32 33 34 35 -- 37 -- -- 3a 3b 3c -- 3e -- 
40: -- -- 42 43 -- 45 46 47 -- -- -- -- 4c -- -- 4f 
50: 50 51 -- -- -- -- -- -- -- -- -- 5b -- -- 5e -- 
60: -- -- -- -- 64 65 -- -- 68 69 6a -- 6c -- -- -- 
70: -- -- -- -- 74 -- -- 77                         
 
devboard:~ $ i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- 06 07 08 09 -- 0b 0c -- -- -- 
10: -- -- 12 13 -- -- -- 17 18 19 -- -- 1c 1d -- -- 
20: -- 21 22 -- 24 -- 26 -- 28 29 2a 2b 2c -- -- 2f 
30: -- -- -- 33 -- 35 -- -- 38 39 -- -- 3c 3d 3e -- 
40: -- 41 -- 43 44 45 46 47 -- 49 -- 4b -- -- 4e 4f 
50: -- 51 -- 53 -- -- 56 57 -- 59 -- 5b -- -- -- -- 
60: 60 -- 62 -- -- -- 66 -- 68 69 6a -- -- -- -- -- 
70: 70 71 72 73 74 -- -- 77                         
 
devboard:~ $ i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- 04 -- -- -- -- 09 0a -- -- -- 0e -- 
10: 10 -- 12 13 14 15 16 -- -- 19 1a -- -- -- 1e -- 
20: 20 21 -- -- -- 25 26 -- 28 -- -- -- -- -- 2e -- 
30: -- 31 -- 33 -- 35 -- 37 -- -- -- 3b 3c 3d 3e 3f 
40: 40 -- 42 -- -- -- -- -- -- -- -- -- 4c -- 4e -- 
50: -- 51 -- -- -- 55 -- -- -- 59 -- -- -- 5d -- -- 
60: -- -- 62 63 -- 65 66 67 -- -- -- -- -- 6d 6e -- 
70: 70 -- -- -- 74 75 76 --                         
 
devboard:~ $ i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- 05 -- -- -- -- -- -- -- 0d 0e -- 
10: 10 11 12 -- 14 15 -- -- 18 -- -- -- 1c 1d 1e -- 
20: -- 21 22 -- 24 -- -- -- 28 29 -- -- 2c 2d -- -- 
30: 30 -- 32 -- 34 35 36 37 -- 39 -- -- 3c -- 3e 3f 
40: -- 41 -- -- 44 45 -- -- -- -- -- -- -- -- -- -- 
50: -- 51 -- 53 -- 55 -- -- -- 59 -- -- -- 5d -- -- 
60: -- -- -- -- -- -- 66 -- 68 -- -- -- -- -- -- -- 
70: 70 -- 72 -- -- -- -- 77                         
 
devboard:~ $ i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- 04 -- 06 07 -- -- -- -- 0c -- 0e -- 
10: 10 11 12 -- 14 -- 16 -- -- 19 -- -- -- 1d 1e 1f 
20: 20 21 -- -- 24 25 -- 27 28 -- -- -- -- -- -- -- 
30: -- -- 32 33 -- 35 36 -- 38 -- 3a -- -- -- 3e -- 
40: -- 41 42 -- 44 45 -- -- -- 49 4a -- -- -- -- 4f 
50: 50 51 52 -- -- 55 -- 57 -- 59 -- -- -- 5d -- 5f 
60: -- 61 62 -- -- 65 -- 67 -- 69 6a 6b 6c -- 6e -- 
70: -- -- -- -- -- 75 -- --                         
 
devboard:~ $ i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          03 04 -- -- -- 08 09 0a -- -- 0d -- -- 
10: 10 -- 12 -- 14 -- -- -- 18 19 -- -- -- 1d -- 1f 
20: -- 21 22 -- 24 -- 26 -- -- -- -- -- 2c -- 2e 2f 
30: -- -- -- 33 -- -- 36 -- 38 39 -- -- 3c -- 3e 3f 
40: -- -- -- -- -- 45 46 -- 48 49 -- -- 4c 4d -- -- 
50: -- 51 -- 53 -- -- -- -- -- 59 -- -- -- -- 5e -- 
60: 60 61 62 -- 64 -- -- -- -- -- 6a 6b 6c 6d 6e -- 
70: 70 71 72 -- 74 -- 76 --                         
 

I tested the i2c port for other ICs and it works fine.

I also made a breakout board for VL53L3CX myself, without TXS0108EPWR for level conversion and it detects just fine every time (check output below).

The schematic for my board is also below.

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

0693W000001qenGQAQ.png

Note: The chip is VL53L3CX, not VL53L1. Pins are equivalent.

I'm still struggling in terms of software, but at least it is detected correctly.

  

I tested everything I could think off to make the Satel board to work, even adding pull up resistors (knowing that my dev board has it already). Nothing worked.

Any pointers?

1 ACCEPTED SOLUTION

Accepted Solutions
John E KVAM
ST Employee

There are two satellite boards - stuffed and unstuffed. I'm going to guess you are having trouble with the boards that have the level shifters stuffed. And they are interfering with the components already on your board.

The solution is easy. Break the satellite board in half at the perforations (after removing the 0-ohm resistors) and solder to the fingers at the end of the board.


If this or any post solves your issue, please mark them as 'Accept as Solution' It really helps. And if you notice anything wrong do not hesitate to 'Report Inappropriate Content'. Someone will review it.

View solution in original post

2 REPLIES 2
John E KVAM
ST Employee

There are two satellite boards - stuffed and unstuffed. I'm going to guess you are having trouble with the boards that have the level shifters stuffed. And they are interfering with the components already on your board.

The solution is easy. Break the satellite board in half at the perforations (after removing the 0-ohm resistors) and solder to the fingers at the end of the board.


If this or any post solves your issue, please mark them as 'Accept as Solution' It really helps. And if you notice anything wrong do not hesitate to 'Report Inappropriate Content'. Someone will review it.

There is nothing else on my board. I was testing the satellite board in isolation first.

It is just a raspberry pi + satellite board.

The ​Vl53l3cx level range is up to 3.5V, making the level shifter not required for my case, but the level shifter should work either ways for 3.3V, and it doesn't.

I didn't want to break the board as I wanted to use it with another setup that is 5V, hence requiring the level shifter.