VL53L0X dies after failed lox.begin() on ESP32-S3

vy_038
Posts: 1
Joined: Fri May 08, 2026 10:28 pm

VL53L0X dies after failed lox.begin() on ESP32-S3

Postby vy_038 » Fri May 08, 2026 10:46 pm

Board: ESP32-S3 (Freenove ESP32-S3-WROOM CAM clone with OV2640)
Sensor: Adafruit VL53L0X breakout
Framework: Arduino ESP32 core
I2C pins: SDA=GPIO47, SCL=GPIO21 (verified clean with multimeter, toggled under full firmware with no conflicts)

Problem:
I2C scan found VL53L0X at 0x29 successfully. lox.begin() was then called, failed, and the sensor has never responded on any I2C scan since - on the ESP32 or on a standalone Arduino Uno. The sensor appears permanently damaged after a single failed lox.begin().

Exact sequence:
1. Camera initialized with sccb_i2c_port = 0
2. Wire1 initialized on SDA=47, SCL=21
3. I2C scan found device at 0x29
4. lox.begin(0x29, false, &Wire1) called, returned false
5. All subsequent I2C scans find nothing at any address
6. Full power cycles (10+ seconds) do not recover it
7. Sensor tested on standalone Arduino Uno with stock Adafruit example - fails to boot, I2C scan finds nothing

Power LED on sensor is lit. I2C interface is completely dead.

This one died probably from a failed lox.begin() call.

Key error log from earlier attempts:
E (524) i2c.common: I2C bus id(1) has already been acquired
E (524) i2c.common: acquire bus failed
E (528) sccb-ng: failed to install SCCB I2C master bus on port 1: ESP_ERR_INVALID_STATE

Questions:
1. Can a failed lox.begin() on ESP32-S3 permanently damage a VL53L0X by sending malformed init commands?
2. Is there a known issue with the Adafruit VL53L0X library's init sequence on ESP32-S3 with the OV2640 camera running simultaneously?
3. Is there a recommended approach for running OV2640 camera and an I2C sensor simultaneously on ESP32-S3 that avoids SCCB/I2C conflicts?

Happy to provide full sketches.

Who is online

Users browsing this forum: No registered users and 3 guests