--- title: 3D-Scanner (ESP32-S3 + VL53L7CX) tags: 3D-Scanner, ESP32-S3, VL53L7CX, Firmware, Python description: ESP32-S3 VL53L7CX turntable scanner firmware and raw-scan replay tools. --- # 3D-Scanner ESP32-S3 VL53L7CX turntable scanner firmware and raw-scan replay tools. <img alt="image" src="https://github.com/user-attachments/assets/132cd7b3-6e6c-4055-b3c4-b28593ea6dc3" /> <img alt="image" src="https://github.com/user-attachments/assets/f78d5273-fdf5-4e2b-9524-55271bddb7a7" /> <img alt="image" src="https://github.com/user-attachments/assets/978dbf9e-350f-498d-a727-f3aead71b301" /> [TOC] --- ## πŸ“ Contents - **`firmware/esp32s3_vl53l7cx_model_server/esp32s3_vl53l7cx_model_server.ino`** - ESP32-S3 web UI and scanner firmware. - Supports raw-hit point cloud, calibrated visual hull, no-background envelope estimation, and raw debug export. - **`tools/simulate_calibration_first_replay.py`** - Replays exported `vl53l7cx_raw_scan*.jsonl` files. - Supports calibrated background subtraction and no-background raw-envelope estimation. - **`tools/analyze_raw_scan_log.py`** - Utility for inspecting raw scan/debug logs. --- ## πŸš€ Recommended Scan Flow :::info **πŸ’‘ ζœ€δ½³ζŽƒζζ΅η¨‹** 1. Open the ESP32 web UI. 2. Use `perpendicular` distance projection. 3. For best geometry, run **`η©ΊζŽƒζ ‘ζ­£δΈ€εœˆ`** before scanning the object. 4. If no background scan is available, use raw-hit/no-bg output only as an estimated result. ::: --- ## πŸ’» Replay Examples ### Calibrated replay ```bash= python tools/simulate_calibration_first_replay.py \ --empty vl53l7cx_raw_scan-empty.jsonl \ --object vl53l7cx_raw_scan-object.jsonl \ --distance-model perpendicular