ESP32 + VL53L1X Proximity Detector

I²C Distance Sensor with LED Indicator
✓ Compatible with ZY-ESP32 / ESP32 DevKit V1 (30-pin)
+3.3V GND U1 ESP32 DevKit V1 3.3V Pin 1 GPIO21 (SDA) Pin 20 GPIO22 (SCL) Pin 23 GPIO2 (LED) Pin 11 GND Pin 19/25 U2 VL53L1X 497-17764-1-ND AVDD Pin 1 AVDDVCSEL Pin 2 IOVDD Pin 5 SDA Pin 9 SCL Pin 8 XSHUT Pin 7 GPIO1 (N/C) Pin 6 GND/AVSS Pin 3,4 R1 10kΩ R2 10kΩ R3 220Ω LED1 Red LED C1 0.1µF C2 10µF I²C Bus (with pull-ups) (Proximity Indicator)
Power (+3.3V)
Ground
I²C Signal
LED Circuit

📌 Pin Connection Guide for ZY-ESP32 / ESP32 DevKit V1:

ESP32 Connections:

VL53L1X Sensor (497-17764-1-ND):

LED Indicator Circuit:

🔧 Components List:

⚡ Quick Connection Summary:

💡 How It Works:

💻 Arduino Code Example:

#include <Wire.h>
#include <VL53L1X.h>

VL53L1X sensor;

#define LED_PIN 2           // GPIO2 - Built-in LED + External LED
#define THRESHOLD_DISTANCE 300  // 30cm in millimeters

void setup() {
  Serial.begin(115200);
  Wire.begin(21, 22);  // SDA=GPIO21, SCL=GPIO22
  
  // Initialize LED pin
  pinMode(LED_PIN, OUTPUT);
  digitalWrite(LED_PIN, LOW);
  
  Serial.println("Proximity detector ready!");
  Serial.print("Detection threshold: ");
  Serial.print(THRESHOLD_DISTANCE);
  Serial.println(" mm");
  Serial.println();
}

void loop() {
  uint16_t distance = sensor.read();
  
  if (!sensor.timeoutOccurred()) {
    // Print distance to serial monitor
    Serial.print("Distance: ");
    Serial.print(distance);
    Serial.print(" mm | ");
    Serial.print(distance / 10.0, 1);
    Serial.print(" cm");
    
    // Check if object is within threshold and blink LED
    if (distance < THRESHOLD_DISTANCE) {
      Serial.println(" ⚠️  OBJECT DETECTED!");
      
      // Blink LED rapidly
      digitalWrite(LED_PIN, HIGH);
      delay(100);
      digitalWrite(LED_PIN, LOW);
      delay(100);
    } else {
      Serial.println();
      digitalWrite(LED_PIN, LOW);
    }
  } else {
    Serial.println("⚠️  TIMEOUT");
  }
  
  delay(50);
}

📚 Library Installation:

🔍 Troubleshooting:

⚙️ Customization Options:

⚠️ Important Notes:

🎯 Next Steps: