← Commit history
README.md+53−2
@@ -1,5 +1,56 @@ # VL53L0X -Time-of-flight distance sensor, I2C, up to 2m range+**STMicroelectronics** · Time-of-flight distance sensor · LGA-12 -The VL53L0X is a time-of-flight (ToF) laser-ranging sensor from STMicroelectronics. Measures distances up to 2m with I2C interface. Uses a 940nm VCSEL laser for accurate distance measurement in compact form.\ No newline at end of file+A miniature time-of-flight (ToF) laser-ranging sensor in a 4.4 x 2.4 mm LGA-12, the smallest of its kind when ST introduced it. It fires an invisible 940 nm VCSEL and times the photons returning from a target, so unlike an infrared-intensity sensor it reports absolute distance (up to about 2 m) regardless of target color or reflectance, and it stays immune to ambient light. The host reads range over I2C; an XSHUT pin powers it down (and lets several share a bus by re-addressing), and a GPIO1 pin signals data-ready or threshold interrupts. It suits proximity detection, gesture, robotics obstacle sensing, and autofocus. Runs 2.6-3.5 V.++## Pinout++| Pin | Name | Type | Function |+|---|---|---|---|+| 1 | AVDDVCSEL | power_in | VCSEL supply rail. Connect to the main supply (2.6 to 3.5 V) and decouple as close as possible to the pin. Tied to AVDD in the reference application. |+| 2 | AVSSVCSEL | power_in | VCSEL ground return. Connect to the main ground plane; may be tied to the other ground pins in the application schematic. |+| 3 | GND | power_in | Module ground; connect to the main ground plane. |+| 4 | GND2 | power_in | Standard pin forced to the ground domain in the application schematic to avoid instabilities. Connect to the main ground. |+| 5 | XSHUT | input | Hardware shutdown / reset input, active low. Must always be driven to avoid leakage; a ~10 kΩ pull-up to IOVDD is recommended if the host state is unknown. XSHUT is required to enter hardware standby (no I²C activity in that state). |+| 6 | GND3 | power_in | Standard pin forced to the ground domain in the application schematic. Connect to the main ground. |+| 7 | GPIO1 | output | Programmable interrupt output, open-drain. Requires an external pull-up (recommended 10 kΩ to IOVDD). Leave unconnected if unused. |+| 8 | DNC | unconnected | Do-not-connect. Must be left floating in the application; not a general-purpose pin despite being labelled 'Digital input' in the datasheet. |+| 9 | SDA | bidirectional | I²C serial data line (fast mode, up to 400 kHz). Open-drain; requires an external pull-up (typically 1.5-2 kΩ to IOVDD at 2.8 V / 400 kHz). Default 7-bit device address is 0x52 (programmable). |+| 10 | SCL | input | I²C serial clock input (fast mode, up to 400 kHz). Requires an external pull-up to IOVDD (typically 1.5-2 kΩ). |+| 11 | AVDD | power_in | Main analog supply, 2.6 to 3.5 V. Decouple with 100 nF and 4.7 µF placed as close as possible to AVDDVCSEL and AVSSVCSEL. |+| 12 | GND4 | power_in | Standard pin forced to the ground domain in the application schematic. Connect to the main ground. |++## Key specifications++| Parameter | Value |+|---|---|+| Type | Time-of-flight distance sensor |+| Emitter | 940 nm VCSEL (invisible) |+| Range | up to ~2 m |+| Measurement | absolute distance (ambient-immune) |+| Interface | I2C + XSHUT + GPIO1 interrupt |+| Field of view | 25° |+| Supply voltage | 2.6-3.5 V |+| Package | LGA-12 (4.4 x 2.4 mm) |++## Ordering variants++- `VL53L0CXV0DH/1 (LGA-12)`+- `VL53L0X-SATEL (breakout)`++## CAD (KiCad official)++- Symbol: `Sensor_Distance:VL53L0CXV0DH1`+- Footprint: `Sensor_Distance:ST_VL53L1x`+- 3D model: ST VL53 LGA-12 (KiCad packages3D)++## Provenance++Data extracted from the manufacturer datasheet, not a distributor listing:++- **Datasheet:** [STMicroelectronics datasheet](https://www.st.com/resource/en/datasheet/vl53l0x.pdf) (38 pp, sha256 `f0ae51414474d311`, retrieved 2026-08-17, tier: manufacturer)+- **Extractor:** `ds2sf` (Claude). Every pin and dimension is cited to a datasheet page; it refuses to fabricate.+- **CAD:** KiCad official libraries (CC-BY-SA 4.0).++[Datasheet PDF](docs/vl53l0x-datasheet.pdf)
docs/hero.pngadded
⋯ 1 unchanged line ⋯
docs/vl53l0x-datasheet.pdfadded
⋯ 1 unchanged line ⋯
package.jsonadded+32
@@ -0,0 +1,32 @@+{+  "slug": "vl53l0x",+  "version": "0.1.0",+  "type": "component",+  "description": "ST time-of-flight ranging sensor, LGA-12. 940 nm VCSEL, up to 2 m, I2C. True distance, ambient-immune. Datasheet-verified.",+  "tags": [+    "component",+    "sensor",+    "time-of-flight",+    "distance",+    "lidar",+    "i2c",+    "lga-12",+    "stmicroelectronics"+  ],+  "dependencies": {},+  "hero": {+    "type": "image",+    "path": "docs/hero.png"+  },+  "files": [+    "page.json",+    "README.md",+    "vl53l0x.kicad_sym",+    "vl53l0x.kicad_mod",+    "vl53l0x.glb",+    "docs/hero.png",+    "docs/vl53l0x-datasheet.pdf",+    "viewers/symbol.html",+    "viewers/footprint.html"+  ]+}\ No newline at end of file
page.json+29−7
@@ -4,8 +4,17 @@   "slug": "vl53l0x",   "title": "VL53L0X",   "brief": "Time-of-flight distance sensor, I2C, up to 2m range",-  "version": "1.0.0",-  "tags": [],+  "version": "0.1.0",+  "tags": [+    "component",+    "sensor",+    "time-of-flight",+    "distance",+    "lidar",+    "i2c",+    "lga-12",+    "stmicroelectronics"+  ],   "license": "MIT",   "component": {     "mpn": "VL53L0X",@@ -20,18 +29,31 @@   },   "readme": "# VL53L0X\n\nTime-of-flight distance sensor, I2C, up to 2m range\n\nThe VL53L0X is a time-of-flight (ToF) laser-ranging sensor from STMicroelectronics. Measures distances up to 2m with I2C interface. Uses a 940nm VCSEL laser for accurate distance measurement in compact form.",   "author": {-    "id": "695820315b5f1e4db2fcf602",     "name": "Kyle Bergstedt",     "email": "[email protected]"   },-  "visibility": {-    "public": true+  "visibility": "public",+  "hero": {+    "type": "image",+    "path": "docs/hero.png"   },-  "hero": null,   "sample_prompts": [],   "discovery_triggers": [],   "discovery_pitch": null,   "metadata": {},   "created_at": "2026-05-28T05:34:27.571Z",-  "updated_at": "2026-05-28T05:34:27.571Z"+  "updated_at": "2026-05-28T05:34:27.571Z",+  "description": "ST time-of-flight ranging sensor, LGA-12. 940 nm VCSEL, up to 2 m, I2C. True distance, ambient-immune. Datasheet-verified.",+  "dependencies": {},+  "files": [+    "page.json",+    "README.md",+    "vl53l0x.kicad_sym",+    "vl53l0x.kicad_mod",+    "vl53l0x.glb",+    "docs/hero.png",+    "docs/vl53l0x-datasheet.pdf",+    "viewers/symbol.html",+    "viewers/footprint.html"+  ] }\ No newline at end of file
vl53l0x.glbadded
⋯ 1 unchanged line ⋯
vl53l0x.kicad_modadded+314
@@ -0,0 +1,314 @@+(footprint "ST_VL53L1x"+	(version 20260206)+	(generator "pcbnew")+	(generator_version "10.0")+	(layer "F.Cu")+	(descr "VL53L1x distance sensor")+	(tags "VL53L1CXV0FY1 VL53L1x")+	(property "Reference" "REF**"+		(at 0 -2.2 0)+		(layer "F.SilkS")+		(uuid "e418f629-54af-40ea-b004-b7a811254f03")+		(effects+			(font+				(size 1 1)+				(thickness 0.15)+			)+		)+	)+	(property "Value" "ST_VL53L1x"+		(at 0 2.3 0)+		(layer "F.Fab")+		(uuid "b420be3d-d210-4d09-b41b-7bf89b8b26cd")+		(effects+			(font+				(size 1 1)+				(thickness 0.15)+			)+		)+	)+	(property "Datasheet" ""+		(at 0 0 0)+		(unlocked yes)+		(layer "F.Fab")+		(hide yes)+		(uuid "6b73dc37-91d4-4a7c-902a-898e45d5708b")+		(effects+			(font+				(size 1.27 1.27)+				(thickness 0.15)+			)+		)+	)+	(property "Description" ""+		(at 0 0 0)+		(unlocked yes)+		(layer "F.Fab")+		(hide yes)+		(uuid "6cf9d8e2-943b-4dc5-877f-bb096e39314c")+		(effects+			(font+				(size 1.27 1.27)+				(thickness 0.15)+			)+		)+	)+	(attr smd)+	(duplicate_pad_numbers_are_jumpers no)+	(fp_line+		(start -2.55 -1.05)+		(end -2.55 1.35)+		(stroke+			(width 0.12)+			(type solid)+		)+		(layer "F.SilkS")+		(uuid "503ff131-0c0d-4208-9a4f-c7e324ecb12d")+	)+	(fp_line+		(start -2.55 1.35)+		(end 2.55 1.35)+		(stroke+			(width 0.12)+			(type solid)+		)+		(layer "F.SilkS")+		(uuid "02ae78ee-e911-4cf3-a031-2bae2828b864")+	)+	(fp_line+		(start 2.55 -1.35)+		(end -2.25 -1.35)+		(stroke+			(width 0.12)+			(type solid)+		)+		(layer "F.SilkS")+		(uuid "eee06ea5-dc17-44c6-9c50-821cf34af2ed")+	)+	(fp_line+		(start 2.55 1.35)+		(end 2.55 -1.35)+		(stroke+			(width 0.12)+			(type solid)+		)+		(layer "F.SilkS")+		(uuid "8e718832-d792-4774-8c8f-93f278a8fa95")+	)+	(fp_poly+		(pts+			(xy -2.55 -1.35) (xy -2.83 -1.35) (xy -2.55 -1.63) (xy -2.55 -1.35)+		)+		(stroke+			(width 0.12)+			(type solid)+		)+		(fill yes)+		(layer "F.SilkS")+		(uuid "1a36f988-ee86-4787-add0-85983c63459f")+	)+	(fp_line+		(start -2.7 -1.5)+		(end -2.7 1.5)+		(stroke+			(width 0.05)+			(type solid)+		)+		(layer "F.CrtYd")+		(uuid "3c554e1d-bb69-4a9b-8d78-0fa80343acbe")+	)+	(fp_line+		(start -2.7 1.5)+		(end 2.7 1.5)+		(stroke+			(width 0.05)+			(type solid)+		)+		(layer "F.CrtYd")+		(uuid "492fef5c-faff-43e4-bbf1-759b1e7dd4d4")+	)+	(fp_line+		(start 2.7 -1.5)+		(end -2.7 -1.5)+		(stroke+			(width 0.05)+			(type solid)+		)+		(layer "F.CrtYd")+		(uuid "6f5c95ce-e116-4442-a54b-862e5405882d")+	)+	(fp_line+		(start 2.7 1.5)+		(end 2.7 -1.5)+		(stroke+			(width 0.05)+			(type solid)+		)+		(layer "F.CrtYd")+		(uuid "18f57afb-4316-466e-b25c-70d46052aeb6")+	)+	(fp_line+		(start -2.45 -0.75)+		(end -2.45 1.25)+		(stroke+			(width 0.1)+			(type solid)+		)+		(layer "F.Fab")+		(uuid "63833437-55ec-45b0-b7a0-7f937a0c8d16")+	)+	(fp_line+		(start -2.45 -0.75)+		(end -1.95 -1.25)+		(stroke+			(width 0.1)+			(type solid)+		)+		(layer "F.Fab")+		(uuid "17be0ac2-5f49-4ca1-99cf-9cb64c098b0f")+	)+	(fp_line+		(start -1.95 -1.25)+		(end 2.45 -1.25)+		(stroke+			(width 0.1)+			(type solid)+		)+		(layer "F.Fab")+		(uuid "ea70cf90-0c75-4145-9863-ab784383e12b")+	)+	(fp_line+		(start 2.45 -1.25)+		(end 2.45 1.25)+		(stroke+			(width 0.1)+			(type solid)+		)+		(layer "F.Fab")+		(uuid "22f002fb-35f4-401a-ad5d-22e2e520f721")+	)+	(fp_line+		(start 2.45 1.25)+		(end -2.45 1.25)+		(stroke+			(width 0.1)+			(type solid)+		)+		(layer "F.Fab")+		(uuid "283551ba-8f45-44d6-8b57-9a14bece3499")+	)+	(fp_text user "${REFERENCE}"+		(at 0 0 0)+		(layer "F.Fab")+		(uuid "0c1524fe-62e4-440b-8b34-eebb986ed431")+		(effects+			(font+				(size 1 1)+				(thickness 0.15)+			)+		)+	)+	(pad "1" smd roundrect+		(at -1.74 -0.675)+		(size 0.38 0.25)+		(layers "F.Cu" "F.Mask" "F.Paste")+		(roundrect_rratio 0.25)+		(uuid "54c304f8-4665-44f4-8a42-2d95a41bf9a9")+	)+	(pad "1" smd roundrect+		(at -1.6 -0.8)+		(size 0.5 0.5)+		(layers "F.Cu" "F.Mask" "F.Paste")+		(roundrect_rratio 0.25)+		(uuid "6d01d40f-a908-4050-bf7f-be86d516492d")+	)+	(pad "2" smd roundrect+		(at -0.8 -0.8)+		(size 0.5 0.5)+		(layers "F.Cu" "F.Mask" "F.Paste")+		(roundrect_rratio 0.25)+		(uuid "2295a37d-201c-4a22-966c-cf3aa89d93af")+	)+	(pad "3" smd roundrect+		(at 0 -0.8)+		(size 0.5 0.5)+		(layers "F.Cu" "F.Mask" "F.Paste")+		(roundrect_rratio 0.25)+		(uuid "af1aa8c8-a515-461a-8fd5-2817bd1a0afe")+	)+	(pad "4" smd roundrect+		(at 0.8 -0.8)+		(size 0.5 0.5)+		(layers "F.Cu" "F.Mask" "F.Paste")+		(roundrect_rratio 0.25)+		(uuid "e42439c9-e0b5-40b6-9928-e6655dd3633e")+	)+	(pad "5" smd roundrect+		(at 1.6 -0.8)+		(size 0.5 0.5)+		(layers "F.Cu" "F.Mask" "F.Paste")+		(roundrect_rratio 0.25)+		(uuid "f3447ff9-16cd-437e-a8d8-b427a121b153")+	)+	(pad "6" smd roundrect+		(at 1.6 0)+		(size 0.5 0.5)+		(layers "F.Cu" "F.Mask" "F.Paste")+		(roundrect_rratio 0.25)+		(uuid "a0b38d0d-2289-4021-8a2d-7121d72a7a85")+	)+	(pad "7" smd roundrect+		(at 1.6 0.8)+		(size 0.5 0.5)+		(layers "F.Cu" "F.Mask" "F.Paste")+		(roundrect_rratio 0.25)+		(uuid "5ed4d03f-a2a3-4026-8be5-a3ef86bf6e1b")+	)+	(pad "8" smd roundrect+		(at 0.8 0.8)+		(size 0.5 0.5)+		(layers "F.Cu" "F.Mask" "F.Paste")+		(roundrect_rratio 0.25)+		(uuid "530ab275-e1b9-4be6-bac0-bc63e5a4ec22")+	)+	(pad "9" smd roundrect+		(at 0 0.8)+		(size 0.5 0.5)+		(layers "F.Cu" "F.Mask" "F.Paste")+		(roundrect_rratio 0.25)+		(uuid "28f07c5f-9676-43aa-8c02-7c32e64f4bf8")+	)+	(pad "10" smd roundrect+		(at -0.8 0.8)+		(size 0.5 0.5)+		(layers "F.Cu" "F.Mask" "F.Paste")+		(roundrect_rratio 0.25)+		(uuid "c3119ccd-c3e9-4966-adb5-ff3cf10a3f32")+	)+	(pad "11" smd roundrect+		(at -1.6 0.8)+		(size 0.5 0.5)+		(layers "F.Cu" "F.Mask" "F.Paste")+		(roundrect_rratio 0.25)+		(uuid "f013454c-6399-4754-9081-c3448d280216")+	)+	(pad "12" smd roundrect+		(at -1.6 0)+		(size 0.5 0.5)+		(layers "F.Cu" "F.Mask" "F.Paste")+		(roundrect_rratio 0.25)+		(uuid "d2a8110f-8921-4597-b5f8-36dd0eea128c")+	)+	(embedded_fonts no)+	(model "${KICAD10_3DMODEL_DIR}/Sensor_Distance.3dshapes/ST_VL53L1x.step"+		(offset+			(xyz 0 0 0)+		)+		(scale+			(xyz 1 1 1)+		)+		(rotate+			(xyz 0 0 0)+		)+	)+)
vl53l0x.kicad_symadded+323
@@ -0,0 +1,323 @@+(kicad_symbol_lib+	(version 20251024)+	(generator "kicad_symbol_editor")+	(generator_version "10.0")+(symbol "VL53L0CXV0DH1"+		(exclude_from_sim no)+		(in_bom yes)+		(on_board yes)+		(in_pos_files yes)+		(duplicate_pin_numbers_are_jumpers no)+		(property "Reference" "U"+			(at -6.35 13.97 0)+			(show_name no)+			(do_not_autoplace no)+			(effects+				(font+					(size 1.27 1.27)+				)+			)+		)+		(property "Value" "VL53L0CXV0DH1"+			(at 12.065 13.97 0)+			(show_name no)+			(do_not_autoplace no)+			(effects+				(font+					(size 1.27 1.27)+				)+			)+		)+		(property "Footprint" "Sensor_Distance:ST_VL53L1x"+			(at 17.145 -13.97 0)+			(show_name no)+			(do_not_autoplace no)+			(hide yes)+			(effects+				(font+					(size 1.27 1.27)+				)+			)+		)+		(property "Datasheet" "https://www.st.com/resource/en/datasheet/vl53l1x.pdf"+			(at 2.54 0 0)+			(show_name no)+			(do_not_autoplace no)+			(hide yes)+			(effects+				(font+					(size 1.27 1.27)+				)+			)+		)+		(property "Description" "4m distance ranging ToF sensor, Optical LGA12"+			(at 0 0 0)+			(show_name no)+			(do_not_autoplace no)+			(hide yes)+			(effects+				(font+					(size 1.27 1.27)+				)+			)+		)+		(property "ki_keywords" "VL53L1x ToF"+			(at 0 0 0)+			(show_name no)+			(do_not_autoplace no)+			(hide yes)+			(effects+				(font+					(size 1.27 1.27)+				)+			)+		)+		(property "ki_fp_filters" "ST*VL53L1x*"+			(at 0 0 0)+			(show_name no)+			(do_not_autoplace no)+			(hide yes)+			(effects+				(font+					(size 1.27 1.27)+				)+			)+		)+		(symbol "VL53L0CXV0DH1_0_1"+			(rectangle+				(start -7.62 12.7)+				(end 7.62 -12.7)+				(stroke+					(width 0.254)+					(type default)+				)+				(fill+					(type background)+				)+			)+		)+		(symbol "VL53L0CXV0DH1_1_1"+			(pin power_in line+				(at 2.54 15.24 270)+				(length 2.54)+				(name "AVDDVCSEL"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+				(number "1"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+			)+			(pin power_in line+				(at 2.54 -15.24 90)+				(length 2.54)+				(name "AVSSVCSEL"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+				(number "2"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+			)+			(pin power_in line+				(at 0 -15.24 90)+				(length 2.54)+				(name "GND"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+				(number "3"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+			)+			(pin passive line+				(at 0 -15.24 90)+				(length 2.54)+				(hide yes)+				(name "GND"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+				(number "4"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+			)+			(pin input line+				(at -10.16 -7.62 0)+				(length 2.54)+				(name "XSHUT"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+				(number "5"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+			)+			(pin passive line+				(at 0 -15.24 90)+				(length 2.54)+				(hide yes)+				(name "GND"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+				(number "6"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+			)+			(pin open_collector line+				(at -10.16 5.08 0)+				(length 2.54)+				(name "GPIO1"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+				(number "7"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+			)+			(pin no_connect line+				(at -7.62 7.62 0)+				(length 2.54)+				(hide yes)+				(name "DNC"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+				(number "8"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+			)+			(pin bidirectional line+				(at -10.16 0 0)+				(length 2.54)+				(name "SDA"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+				(number "9"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+			)+			(pin input line+				(at -10.16 -2.54 0)+				(length 2.54)+				(name "SCL"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+				(number "10"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+			)+			(pin power_in line+				(at 0 15.24 270)+				(length 2.54)+				(name "AVDD"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+				(number "11"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+			)+			(pin passive line+				(at 0 -15.24 90)+				(length 2.54)+				(hide yes)+				(name "GND"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+				(number "12"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+			)+		)+		(embedded_fonts no)+	)+)