2020-06-13 03:57 PM
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: -- -- -- -- -- -- -- --
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?
Solved! Go to Solution.
2021-08-19 12:28 PM
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.
2021-08-19 12:28 PM
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.
2021-08-22 03:34 AM
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.