2026-01-29 10:36 AM
Title: VL53L8CX pulls SCK line low on ESP32 – PCB or power-up issue?
Hello everyone,
I’m currently developing a prototype using a VL53L8CX sensor together with an ESP32 controller. On our PCB, the sensor seems to permanently pull the SCK line low.
This is already the second revision of the PCB, so with fairly high confidence I can rule out a basic PCB layout or routing issue. Here are my questions:
Can you spot any possible mistakes in the schematic?
Do you know under which conditions the VL53L8CX might actively pull SCK low? (To me it looks like an internal IC problem)
Could this be related to the power-up or reset sequence of the sensor?
Do you have any general debugging tips for this kind of issue?
The SCK line is connected through a TXS0108 level shifter. With a different I²C device, the TXS0108 works perfectly fine, so I’m not sure if it’s involved here — but could the TXS0108 still cause problems in this setup?
On the software side, I already tried:
Running an I²C scanner
Using different I²C clock speeds
Unfortunately, none of this changed the behavior.
Do you have any ideas what could be causing this?
I’m happy to provide more information, schematics, or measurements if needed.
Thanks a lot for your help!
2026-02-02 9:37 AM
Level shifters are problematic. See if you can do without it. Lots of MCUs have i2c options. Line-stuck-low is an absolutely classic I2C issue and the culprit is noise on the line. Noise is caused by long line length, wrong pull-ups lack of decoupling caps and just a noisy environment. Lost of websites devoted to the issue. And the level shifter doesn’t help either.
Basically the noise causes either the sensor or the MCU to clock a phantom bit. And one the two devices are out of sync, you get the issue. If you can get your MCU to clock 8 clocks you can clear the issue and start over. But you have to rely on the time-out to detect the issue and that takes a while.
-john
2026-02-12 1:49 AM
Hi
Please try to remove the external pull-up resistors to see if help.
I did a quick search on internet, seems TXS0108 is not so friendly to the I2C bus. if remove all the external pull-up resistors are still not help, maybe you need to change the level shifter chip.
Br
Zhiyuan.Han