component
DS18B20
Public Unreviewedby adom
Analog Devices 1-Wire digital thermometer, TO-92. -55 to +125 C, 9-12 bit, unique 64-bit ID, parasite power. Datasheet-verified.
← Commit history
Publish 0.1.0
8 files changed
+587−9
README.md+44−2@@ -1,5 +1,47 @@ # DS18B20 -1-Wire digital temperature sensor, ±0.5°C, TO-92+**Analog Devices** · 1-Wire digital temperature sensor · TO-92 -The DS18B20 is a digital temperature sensor from Maxim with 1-Wire interface. Measures -55C to +125C with ±0.5C accuracy. Multiple sensors can share a single data line, each with a unique 64-bit address.+A programmable-resolution 1-Wire digital thermometer in a TO-92 package. It reports temperature directly as a digital value over a single data line (DQ), so many sensors share one MCU pin, each addressed by its factory-lasered unique 64-bit serial number. It measures -55 to +125 C with plus/minus 0.5 C accuracy over -10 to +85 C, at a user-selectable 9 to 12 bits. A parasite-power mode lets it run from the data line alone (VDD tied to GND), needing just two wires plus a pull-up.++## Pinout++| Pin | Name | Type | Function |+|---|---|---|---|+| 1 | GND | power_in | Ground return. In parasite-power mode VDD is also tied to GND; when powered externally via VDD, GND must not be floating. |+| 2 | DQ | bidirectional | 1-Wire data input/output. Open-drain, requires ~4.7 kΩ pull-up to VDD (3.0-5.5 V). Can source parasite power to the die when held high (up to ~1.5 mA during a conversion, which typically requires a strong MOSFET pull-up). |+| 3 | VDD | power_in | Optional external power supply, 3.0 V to 5.5 V. If tied to GND the device runs in parasite-power mode, drawing power from the DQ line. Recommended for reliable operation above 100 °C. |++## Key specifications++| Parameter | Value |+|---|---|+| Type | 1-Wire digital temperature sensor |+| Range | -55 to +125 °C |+| Accuracy | ±0.5 °C (-10 to +85 °C) |+| Resolution | 9-12 bit (programmable) |+| Interface | 1-Wire (single data line) |+| Addressing | unique 64-bit lasered ID |+| Power | 3.0-5.5 V or parasite |+| Package | TO-92 (3-lead) |++## Ordering variants++- `DS18B20 (TO-92)`+- `DS18B20+ (TO-92, RoHS)`++## CAD (KiCad official)++- Symbol: `Sensor_Temperature:DS18B20`+- Footprint: `Package_TO_SOT_THT:TO-92_Inline`+- 3D model: TO-92 (KiCad packages3D)++## Provenance++Data extracted from the manufacturer datasheet, not a distributor listing:++- **Datasheet:** [Analog Devices datasheet](https://cdn.sparkfun.com/datasheets/Sensors/Temp/DS18B20.pdf) (27 pp, sha256 `b4ecd22913b1670d`, 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/ds18b20-datasheet.pdf)
docs/ds18b20-datasheet.pdfadded⋯ 1 unchanged line ⋯
docs/hero.pngadded⋯ 1 unchanged line ⋯
ds18b20.glbadded⋯ 1 unchanged line ⋯
ds18b20.kicad_modadded+209@@ -0,0 +1,209 @@+(footprint "TO-92_Inline"+ (version 20260206)+ (generator "pcbnew")+ (generator_version "10.0")+ (layer "F.Cu")+ (descr "TO-92 leads in-line, narrow, oval pads, drill 0.75mm (see NXP sot054_po.pdf)")+ (tags "to-92 sc-43 sc-43a sot54 PA33 transistor")+ (property "Reference" "REF**"+ (at 1.27 -3.56 0)+ (layer "F.SilkS")+ (uuid "f8d60c07-fcb4-4333-b1c1-8b3d3f312520")+ (effects+ (font+ (size 1 1)+ (thickness 0.15)+ )+ )+ )+ (property "Value" "TO-92_Inline"+ (at 1.27 2.79 0)+ (layer "F.Fab")+ (uuid "46e152dd-3e84-4692-ab08-8f8d182ac1f0")+ (effects+ (font+ (size 1 1)+ (thickness 0.15)+ )+ )+ )+ (property "Datasheet" ""+ (at 0 0 0)+ (unlocked yes)+ (layer "F.Fab")+ (hide yes)+ (uuid "13a62c66-6828-4621-95e7-083954b37b6f")+ (effects+ (font+ (size 1.27 1.27)+ (thickness 0.15)+ )+ )+ )+ (property "Description" ""+ (at 0 0 0)+ (unlocked yes)+ (layer "F.Fab")+ (hide yes)+ (uuid "a81db220-f19f-495f-8fd1-8d52823f6974")+ (effects+ (font+ (size 1.27 1.27)+ (thickness 0.15)+ )+ )+ )+ (attr through_hole)+ (duplicate_pad_numbers_are_jumpers no)+ (fp_line+ (start -0.53 1.85)+ (end 3.07 1.85)+ (stroke+ (width 0.12)+ (type solid)+ )+ (layer "F.SilkS")+ (uuid "cf5cf09f-aa3b-4d09-93f0-cd60b4888842")+ )+ (fp_arc+ (start -0.568478 1.838478)+ (mid -1.132087 -0.994977)+ (end 1.27 -2.6)+ (stroke+ (width 0.12)+ (type solid)+ )+ (layer "F.SilkS")+ (uuid "99142eee-f758-4736-a8c8-cb8594d72329")+ )+ (fp_arc+ (start 1.27 -2.6)+ (mid 3.672087 -0.994977)+ (end 3.108478 1.838478)+ (stroke+ (width 0.12)+ (type solid)+ )+ (layer "F.SilkS")+ (uuid "6883339b-fe76-44dd-867c-5e7513ca94d9")+ )+ (fp_line+ (start -1.46 -2.73)+ (end -1.46 2.01)+ (stroke+ (width 0.05)+ (type solid)+ )+ (layer "F.CrtYd")+ (uuid "72a79f77-a855-4ceb-b60f-4bb0540506aa")+ )+ (fp_line+ (start -1.46 -2.73)+ (end 4 -2.73)+ (stroke+ (width 0.05)+ (type solid)+ )+ (layer "F.CrtYd")+ (uuid "dad691fd-038e-4d6a-bbce-b7dcbddfb4a5")+ )+ (fp_line+ (start 4 2.01)+ (end -1.46 2.01)+ (stroke+ (width 0.05)+ (type solid)+ )+ (layer "F.CrtYd")+ (uuid "05180e66-b002-4a73-b421-69cbe95c21e7")+ )+ (fp_line+ (start 4 2.01)+ (end 4 -2.73)+ (stroke+ (width 0.05)+ (type solid)+ )+ (layer "F.CrtYd")+ (uuid "986d9fd3-f662-42cd-a6e8-73c40d564b49")+ )+ (fp_line+ (start -0.5 1.75)+ (end 3 1.75)+ (stroke+ (width 0.1)+ (type solid)+ )+ (layer "F.Fab")+ (uuid "5d7416fc-4b8c-4be4-a9fd-ef9b81ac6c9c")+ )+ (fp_arc+ (start -0.483625 1.753625)+ (mid -1.021221 -0.949055)+ (end 1.27 -2.48)+ (stroke+ (width 0.1)+ (type solid)+ )+ (layer "F.Fab")+ (uuid "aa16c43c-65a5-4741-be20-e91b6c83fa25")+ )+ (fp_arc+ (start 1.27 -2.48)+ (mid 3.561221 -0.949055)+ (end 3.023625 1.753625)+ (stroke+ (width 0.1)+ (type solid)+ )+ (layer "F.Fab")+ (uuid "f16cbdf0-79ae-4941-a6bc-5ea567fda1f0")+ )+ (fp_text user "${REFERENCE}"+ (at 1.27 0 0)+ (layer "F.Fab")+ (uuid "77380750-baf8-4990-b61d-2bd2227c89ba")+ (effects+ (font+ (size 1 1)+ (thickness 0.15)+ )+ )+ )+ (pad "1" thru_hole rect+ (at 0 0)+ (size 1.05 1.5)+ (drill 0.75)+ (layers "*.Cu" "*.Mask")+ (remove_unused_layers no)+ (uuid "30d66bfc-1f65-461a-a175-eddb5ee97273")+ )+ (pad "2" thru_hole oval+ (at 1.27 0)+ (size 1.05 1.5)+ (drill 0.75)+ (layers "*.Cu" "*.Mask")+ (remove_unused_layers no)+ (uuid "19a641f3-2188-4ac8-845f-9705044a4d32")+ )+ (pad "3" thru_hole oval+ (at 2.54 0)+ (size 1.05 1.5)+ (drill 0.75)+ (layers "*.Cu" "*.Mask")+ (remove_unused_layers no)+ (uuid "58a02559-fefd-4819-914f-420454f3bf9f")+ )+ (embedded_fonts no)+ (model "${KICAD10_3DMODEL_DIR}/Package_TO_SOT_THT.3dshapes/TO-92_Inline.step"+ (offset+ (xyz 0 0 0)+ )+ (scale+ (xyz 1 1 1)+ )+ (rotate+ (xyz 0 0 0)+ )+ )+)
ds18b20.kicad_symadded+275@@ -0,0 +1,275 @@+(kicad_symbol_lib+ (version 20251024)+ (generator "kicad_symbol_editor")+ (generator_version "10.0")+(symbol "DS18B20"+ (exclude_from_sim no)+ (in_bom yes)+ (on_board yes)+ (in_pos_files yes)+ (duplicate_pin_numbers_are_jumpers no)+ (property "Reference" "U"+ (at -3.81 6.35 0)+ (show_name no)+ (do_not_autoplace no)+ (effects+ (font+ (size 1.27 1.27)+ )+ )+ )+ (property "Value" "DS18B20"+ (at 6.35 6.35 0)+ (show_name no)+ (do_not_autoplace no)+ (effects+ (font+ (size 1.27 1.27)+ )+ )+ )+ (property "Footprint" "Package_TO_SOT_THT:TO-92_Inline"+ (at -25.4 -6.35 0)+ (show_name no)+ (do_not_autoplace no)+ (hide yes)+ (effects+ (font+ (size 1.27 1.27)+ )+ )+ )+ (property "Datasheet" "http://datasheets.maximintegrated.com/en/ds/MAX31820.pdf"+ (at -3.81 6.35 0)+ (show_name no)+ (do_not_autoplace no)+ (hide yes)+ (effects+ (font+ (size 1.27 1.27)+ )+ )+ )+ (property "Description" "1-Wire Ambient Temperature Sensor TO-92"+ (at 0 0 0)+ (show_name no)+ (do_not_autoplace no)+ (hide yes)+ (effects+ (font+ (size 1.27 1.27)+ )+ )+ )+ (property "ki_keywords" "OneWire 1-Wire 1Wire Maxim Dallas"+ (at 0 0 0)+ (show_name no)+ (do_not_autoplace no)+ (hide yes)+ (effects+ (font+ (size 1.27 1.27)+ )+ )+ )+ (property "ki_fp_filters" "TO*92*"+ (at 0 0 0)+ (show_name no)+ (do_not_autoplace no)+ (hide yes)+ (effects+ (font+ (size 1.27 1.27)+ )+ )+ )+ (symbol "DS18B20_0_1"+ (rectangle+ (start -5.08 5.08)+ (end 5.08 -5.08)+ (stroke+ (width 0.254)+ (type default)+ )+ (fill+ (type background)+ )+ )+ (polyline+ (pts+ (xy -3.937 3.175) (xy -3.937 0)+ )+ (stroke+ (width 0.254)+ (type default)+ )+ (fill+ (type none)+ )+ )+ (polyline+ (pts+ (xy -3.937 3.175) (xy -3.302 3.175)+ )+ (stroke+ (width 0.254)+ (type default)+ )+ (fill+ (type none)+ )+ )+ (polyline+ (pts+ (xy -3.937 2.54) (xy -3.302 2.54)+ )+ (stroke+ (width 0.254)+ (type default)+ )+ (fill+ (type none)+ )+ )+ (polyline+ (pts+ (xy -3.937 1.905) (xy -3.302 1.905)+ )+ (stroke+ (width 0.254)+ (type default)+ )+ (fill+ (type none)+ )+ )+ (polyline+ (pts+ (xy -3.937 1.27) (xy -3.302 1.27)+ )+ (stroke+ (width 0.254)+ (type default)+ )+ (fill+ (type none)+ )+ )+ (polyline+ (pts+ (xy -3.937 0.635) (xy -3.302 0.635)+ )+ (stroke+ (width 0.254)+ (type default)+ )+ (fill+ (type none)+ )+ )+ (arc+ (start -3.937 3.175)+ (mid -3.302 3.8073)+ (end -2.667 3.175)+ (stroke+ (width 0.254)+ (type default)+ )+ (fill+ (type none)+ )+ )+ (circle+ (center -3.302 -2.54)+ (radius 1.27)+ (stroke+ (width 0.254)+ (type default)+ )+ (fill+ (type outline)+ )+ )+ (polyline+ (pts+ (xy -2.667 3.175) (xy -2.667 0)+ )+ (stroke+ (width 0.254)+ (type default)+ )+ (fill+ (type none)+ )+ )+ (rectangle+ (start -2.667 -1.905)+ (end -3.937 0)+ (stroke+ (width 0.254)+ (type default)+ )+ (fill+ (type outline)+ )+ )+ )+ (symbol "DS18B20_1_1"+ (pin power_in line+ (at 0 -7.62 90)+ (length 2.54)+ (name "GND"+ (effects+ (font+ (size 1.27 1.27)+ )+ )+ )+ (number "1"+ (effects+ (font+ (size 1.27 1.27)+ )+ )+ )+ )+ (pin bidirectional line+ (at 7.62 0 180)+ (length 2.54)+ (name "DQ"+ (effects+ (font+ (size 1.27 1.27)+ )+ )+ )+ (number "2"+ (effects+ (font+ (size 1.27 1.27)+ )+ )+ )+ )+ (pin power_in line+ (at 0 7.62 270)+ (length 2.54)+ (name "V_{DD}"+ (effects+ (font+ (size 1.27 1.27)+ )+ )+ )+ (number "3"+ (effects+ (font+ (size 1.27 1.27)+ )+ )+ )+ )+ )+ (embedded_fonts no)+ )+)
package.jsonadded+31@@ -0,0 +1,31 @@+{+ "slug": "ds18b20",+ "version": "0.1.0",+ "type": "component",+ "description": "Analog Devices 1-Wire digital thermometer, TO-92. -55 to +125 C, 9-12 bit, unique 64-bit ID, parasite power. Datasheet-verified.",+ "tags": [+ "component",+ "sensor",+ "temperature",+ "1-wire",+ "thermometer",+ "to-92",+ "analog-devices"+ ],+ "dependencies": {},+ "hero": {+ "type": "image",+ "path": "docs/hero.png"+ },+ "files": [+ "page.json",+ "README.md",+ "ds18b20.kicad_sym",+ "ds18b20.kicad_mod",+ "ds18b20.glb",+ "docs/hero.png",+ "docs/ds18b20-datasheet.pdf",+ "viewers/symbol.html",+ "viewers/footprint.html"+ ]+}
page.json+28−7@@ -4,8 +4,16 @@ "slug": "ds18b20", "title": "DS18B20", "brief": "1-Wire digital temperature sensor, ±0.5°C, TO-92",- "version": "1.0.0",- "tags": [],+ "version": "0.1.0",+ "tags": [+ "component",+ "sensor",+ "temperature",+ "1-wire",+ "thermometer",+ "to-92",+ "analog-devices"+ ], "license": "MIT", "component": { "mpn": "DS18B20",@@ -20,18 +28,31 @@ }, "readme": "# DS18B20\n\n1-Wire digital temperature sensor, ±0.5°C, TO-92\n\nThe DS18B20 is a digital temperature sensor from Maxim with 1-Wire interface. Measures -55C to +125C with ±0.5C accuracy. Multiple sensors can share a single data line, each with a unique 64-bit address.", "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:33:27.119Z",- "updated_at": "2026-05-28T05:33:27.120Z"+ "updated_at": "2026-05-28T05:33:27.120Z",+ "description": "Analog Devices 1-Wire digital thermometer, TO-92. -55 to +125 C, 9-12 bit, unique 64-bit ID, parasite power. Datasheet-verified.",+ "dependencies": {},+ "files": [+ "page.json",+ "README.md",+ "ds18b20.kicad_sym",+ "ds18b20.kicad_mod",+ "ds18b20.glb",+ "docs/hero.png",+ "docs/ds18b20-datasheet.pdf",+ "viewers/symbol.html",+ "viewers/footprint.html"+ ] }