← Commit history
README.md+57−2
@@ -1,5 +1,60 @@ # PCF8574 -8-bit I2C I/O expander, DIP-16+**Texas Instruments** · I2C 8-bit I/O expander · SOIC-16 -The PCF8574 is a remote 8-bit I/O expander with I2C interface from NXP. Provides 8 quasi-bidirectional I/O pins. Commonly used for LCD character display backpack boards and button expansion.\ No newline at end of file+Adds eight general-purpose I/O lines to any microcontroller over the two-wire I2C bus, in a SOIC-16. Each of the eight quasi-bidirectional pins (P0-P7) can be written as an output or read as an input with no direction register, and an open-drain INT pin flags an input change so the host need not poll. Three address pins (A0-A2) set the low bits of the I2C address, so up to eight PCF8574s (and eight more PCF8574As) share one bus. It is the chip behind most I2C LCD backpacks and cheap port expanders. Runs 2.5-6 V.++## Pinout++| Pin | Name | Type | Function |+|---|---|---|---|+| 1 | A0 | input | Hardware I2C slave-address input bit 0. Tie directly to VCC or GND; no pullup required. Sets the lower address bits so up to eight PCF8574 devices can share the same bus. |+| 2 | A1 | input | Hardware I2C slave-address input bit 1. Tie directly to VCC or GND; no pullup required. |+| 3 | A2 | input | Hardware I2C slave-address input bit 2. Tie directly to VCC or GND; no pullup required. |+| 4 | P0 | bidirectional | Quasi-bidirectional I/O port bit 0. Push-pull structure with a latched output; can drive LEDs directly (100 mA/pin, JESD 78 Class II latch-up). High at power-up (input mode with weak current source to VCC). |+| 5 | P1 | bidirectional | Quasi-bidirectional I/O port bit 1. See P0 for drive characteristics. |+| 6 | P2 | bidirectional | Quasi-bidirectional I/O port bit 2. See P0 for drive characteristics. |+| 7 | P3 | bidirectional | Quasi-bidirectional I/O port bit 3. See P0 for drive characteristics. |+| 8 | GND | power_in | Ground reference. 0 V return for the supply and I/O. |+| 9 | P4 | bidirectional | Quasi-bidirectional I/O port bit 4. See P0 for drive characteristics. |+| 10 | P5 | bidirectional | Quasi-bidirectional I/O port bit 5. See P0 for drive characteristics. |+| 11 | P6 | bidirectional | Quasi-bidirectional I/O port bit 6. See P0 for drive characteristics. |+| 12 | P7 | bidirectional | Quasi-bidirectional I/O port bit 7. See P0 for drive characteristics. |+| 13 | INT | output | Open-drain interrupt output, active-low. Asserts when a P-port input changes state; requires an external pullup resistor to VCC. Interrupt reset delay (t_ir) is 4 µs max after SCL toggle. |+| 14 | SCL | input | I2C serial clock line. Requires an external pullup resistor to VCC. Supports 100 kHz standard-mode I2C timing. |+| 15 | SDA | bidirectional | I2C serial data line, open-drain. Requires an external pullup resistor to VCC. Carries device address and P-port read/write data. |+| 16 | VCC | power_in | Positive supply voltage, 2.5 V to 6 V (recommended). Standby ICC = 2.5 µA typ; operating ICC = 40 µA typ at 100 kHz SCL. |++## Key specifications++| Parameter | Value |+|---|---|+| Type | I2C 8-bit I/O expander |+| I/O lines | 8 quasi-bidirectional (P0-P7) |+| Bus | I2C (two-wire), up to 100 kHz |+| Address pins | A0-A2 (8 per bus) |+| Interrupt | open-drain INT on change |+| Direction register | none (write-high to read) |+| Supply voltage | 2.5-6 V |+| Package | SOIC-16 |++## Ordering variants++- `PCF8574T (SOIC-16, tube)`+- `PCF8574TR (SOIC-16, tape & reel)`++## CAD (KiCad official)++- Symbol: `Interface_Expansion:PCF8574T`+- Footprint: `Package_SO:SOIC-16_3.9x9.9mm_P1.27mm`+- 3D model: SOIC-16 (KiCad packages3D)++## Provenance++Data extracted from the manufacturer datasheet, not a distributor listing:++- **Datasheet:** [Texas Instruments datasheet](https://www.ti.com/lit/ds/symlink/pcf8574.pdf) (42 pp, sha256 `4e4cb9144f852941`, 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/pcf8574-datasheet.pdf)
docs/hero.pngadded
⋯ 1 unchanged line ⋯
docs/pcf8574-datasheet.pdfadded
⋯ 1 unchanged line ⋯
package.jsonadded+31
@@ -0,0 +1,31 @@+{+  "slug": "pcf8574",+  "version": "0.1.0",+  "type": "component",+  "description": "TI remote 8-bit I2C I/O expander, SOIC-16. Eight quasi-bidirectional lines, 3 address pins, open-drain INT. Datasheet-verified.",+  "tags": [+    "component",+    "interface",+    "io-expander",+    "i2c",+    "gpio",+    "soic-16",+    "texas-instruments"+  ],+  "dependencies": {},+  "hero": {+    "type": "image",+    "path": "docs/hero.png"+  },+  "files": [+    "page.json",+    "README.md",+    "pcf8574.kicad_sym",+    "pcf8574.kicad_mod",+    "pcf8574.glb",+    "docs/hero.png",+    "docs/pcf8574-datasheet.pdf",+    "viewers/symbol.html",+    "viewers/footprint.html"+  ]+}\ No newline at end of file
page.json+28−7
@@ -4,8 +4,16 @@   "slug": "pcf8574",   "title": "PCF8574",   "brief": "8-bit I2C I/O expander, DIP-16",-  "version": "1.0.0",-  "tags": [],+  "version": "0.1.0",+  "tags": [+    "component",+    "interface",+    "io-expander",+    "i2c",+    "gpio",+    "soic-16",+    "texas-instruments"+  ],   "license": "MIT",   "component": {     "mpn": "PCF8574",@@ -20,18 +28,31 @@   },   "readme": "# PCF8574\n\n8-bit I2C I/O expander, DIP-16\n\nThe PCF8574 is a remote 8-bit I/O expander with I2C interface from NXP. Provides 8 quasi-bidirectional I/O pins. Commonly used for LCD character display backpack boards and button expansion.",   "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:05.261Z",-  "updated_at": "2026-05-28T05:34:05.261Z"+  "updated_at": "2026-05-28T05:34:05.261Z",+  "description": "TI remote 8-bit I2C I/O expander, SOIC-16. Eight quasi-bidirectional lines, 3 address pins, open-drain INT. Datasheet-verified.",+  "dependencies": {},+  "files": [+    "page.json",+    "README.md",+    "pcf8574.kicad_sym",+    "pcf8574.kicad_mod",+    "pcf8574.glb",+    "docs/hero.png",+    "docs/pcf8574-datasheet.pdf",+    "viewers/symbol.html",+    "viewers/footprint.html"+  ] }\ No newline at end of file
pcf8574.glbadded
⋯ 1 unchanged line ⋯
pcf8574.kicad_modadded+348
@@ -0,0 +1,348 @@+(footprint "SOIC-16_3.9x9.9mm_P1.27mm"+	(version 20260206)+	(generator "kicad-footprint-generator")+	(layer "F.Cu")+	(descr "SOIC, 16 Pin (JEDEC MS-012, variation AC, https://www.jedec.org/document_search?search_api_views_fulltext=MS-012, https://www.analog.com/media/en/package-pcb-resources/package/pkg_pdf/soic_narrow-r/r_16.pdf)")+	(tags "SOIC SO 16-pin-NSOP R-16 R-16-S D0016A M2B SO16 SOT109-1 751B SOIC_N narrow")+	(property "Reference" "REF**"+		(at 0 -5.9 0)+		(layer "F.SilkS")+		(effects+			(font+				(size 1 1)+				(thickness 0.15)+			)+		)+	)+	(property "Value" "SOIC-16_3.9x9.9mm_P1.27mm"+		(at 0 5.9 0)+		(layer "F.Fab")+		(effects+			(font+				(size 1 1)+				(thickness 0.15)+			)+		)+	)+	(property "KiLib_Generator" "package/gullwing"+		(at 0 0 0)+		(layer "F.SilkS")+		(hide yes)+		(effects+			(font+				(size 1 1)+				(thickness 0.15)+			)+		)+	)+	(attr smd)+	(duplicate_pad_numbers_are_jumpers no)+	(fp_line+		(start -2.06 -5.06)+		(end 2.06 -5.06)+		(stroke+			(width 0.12)+			(type solid)+		)+		(layer "F.SilkS")+	)+	(fp_line+		(start -2.06 -5.005)+		(end -2.06 -5.06)+		(stroke+			(width 0.12)+			(type solid)+		)+		(layer "F.SilkS")+	)+	(fp_line+		(start -2.06 5.06)+		(end -2.06 5.005)+		(stroke+			(width 0.12)+			(type solid)+		)+		(layer "F.SilkS")+	)+	(fp_line+		(start 2.06 -5.06)+		(end 2.06 -5.005)+		(stroke+			(width 0.12)+			(type solid)+		)+		(layer "F.SilkS")+	)+	(fp_line+		(start 2.06 5.005)+		(end 2.06 5.06)+		(stroke+			(width 0.12)+			(type solid)+		)+		(layer "F.SilkS")+	)+	(fp_line+		(start 2.06 5.06)+		(end -2.06 5.06)+		(stroke+			(width 0.12)+			(type solid)+		)+		(layer "F.SilkS")+	)+	(fp_poly+		(pts+			(xy -2.6 -5.01)+			(xy -2.84 -5.34)+			(xy -2.36 -5.34)+		)+		(stroke+			(width 0.12)+			(type solid)+		)+		(fill yes)+		(layer "F.SilkS")+	)+	(fp_line+		(start -3.7 -5)+		(end -2.2 -5)+		(stroke+			(width 0.05)+			(type solid)+		)+		(layer "F.CrtYd")+	)+	(fp_line+		(start -3.7 5)+		(end -3.7 -5)+		(stroke+			(width 0.05)+			(type solid)+		)+		(layer "F.CrtYd")+	)+	(fp_line+		(start -2.2 -5.2)+		(end 2.2 -5.2)+		(stroke+			(width 0.05)+			(type solid)+		)+		(layer "F.CrtYd")+	)+	(fp_line+		(start -2.2 -5)+		(end -2.2 -5.2)+		(stroke+			(width 0.05)+			(type solid)+		)+		(layer "F.CrtYd")+	)+	(fp_line+		(start -2.2 5)+		(end -3.7 5)+		(stroke+			(width 0.05)+			(type solid)+		)+		(layer "F.CrtYd")+	)+	(fp_line+		(start -2.2 5.2)+		(end -2.2 5)+		(stroke+			(width 0.05)+			(type solid)+		)+		(layer "F.CrtYd")+	)+	(fp_line+		(start 2.2 -5.2)+		(end 2.2 -5)+		(stroke+			(width 0.05)+			(type solid)+		)+		(layer "F.CrtYd")+	)+	(fp_line+		(start 2.2 -5)+		(end 3.7 -5)+		(stroke+			(width 0.05)+			(type solid)+		)+		(layer "F.CrtYd")+	)+	(fp_line+		(start 2.2 5)+		(end 2.2 5.2)+		(stroke+			(width 0.05)+			(type solid)+		)+		(layer "F.CrtYd")+	)+	(fp_line+		(start 2.2 5.2)+		(end -2.2 5.2)+		(stroke+			(width 0.05)+			(type solid)+		)+		(layer "F.CrtYd")+	)+	(fp_line+		(start 3.7 -5)+		(end 3.7 5)+		(stroke+			(width 0.05)+			(type solid)+		)+		(layer "F.CrtYd")+	)+	(fp_line+		(start 3.7 5)+		(end 2.2 5)+		(stroke+			(width 0.05)+			(type solid)+		)+		(layer "F.CrtYd")+	)+	(fp_poly+		(pts+			(xy -0.975 -4.95)+			(xy 1.95 -4.95)+			(xy 1.95 4.95)+			(xy -1.95 4.95)+			(xy -1.95 -3.975)+		)+		(stroke+			(width 0.1)+			(type solid)+		)+		(fill no)+		(layer "F.Fab")+	)+	(fp_text user "${REFERENCE}"+		(at 0 0 90)+		(layer "F.Fab")+		(effects+			(font+				(size 1 1)+				(thickness 0.15)+			)+		)+	)+	(pad "1" smd roundrect+		(at -2.475 -4.445)+		(size 1.95 0.6)+		(layers "F.Cu" "F.Mask" "F.Paste")+		(roundrect_rratio 0.25)+	)+	(pad "2" smd roundrect+		(at -2.475 -3.175)+		(size 1.95 0.6)+		(layers "F.Cu" "F.Mask" "F.Paste")+		(roundrect_rratio 0.25)+	)+	(pad "3" smd roundrect+		(at -2.475 -1.905)+		(size 1.95 0.6)+		(layers "F.Cu" "F.Mask" "F.Paste")+		(roundrect_rratio 0.25)+	)+	(pad "4" smd roundrect+		(at -2.475 -0.635)+		(size 1.95 0.6)+		(layers "F.Cu" "F.Mask" "F.Paste")+		(roundrect_rratio 0.25)+	)+	(pad "5" smd roundrect+		(at -2.475 0.635)+		(size 1.95 0.6)+		(layers "F.Cu" "F.Mask" "F.Paste")+		(roundrect_rratio 0.25)+	)+	(pad "6" smd roundrect+		(at -2.475 1.905)+		(size 1.95 0.6)+		(layers "F.Cu" "F.Mask" "F.Paste")+		(roundrect_rratio 0.25)+	)+	(pad "7" smd roundrect+		(at -2.475 3.175)+		(size 1.95 0.6)+		(layers "F.Cu" "F.Mask" "F.Paste")+		(roundrect_rratio 0.25)+	)+	(pad "8" smd roundrect+		(at -2.475 4.445)+		(size 1.95 0.6)+		(layers "F.Cu" "F.Mask" "F.Paste")+		(roundrect_rratio 0.25)+	)+	(pad "9" smd roundrect+		(at 2.475 4.445)+		(size 1.95 0.6)+		(layers "F.Cu" "F.Mask" "F.Paste")+		(roundrect_rratio 0.25)+	)+	(pad "10" smd roundrect+		(at 2.475 3.175)+		(size 1.95 0.6)+		(layers "F.Cu" "F.Mask" "F.Paste")+		(roundrect_rratio 0.25)+	)+	(pad "11" smd roundrect+		(at 2.475 1.905)+		(size 1.95 0.6)+		(layers "F.Cu" "F.Mask" "F.Paste")+		(roundrect_rratio 0.25)+	)+	(pad "12" smd roundrect+		(at 2.475 0.635)+		(size 1.95 0.6)+		(layers "F.Cu" "F.Mask" "F.Paste")+		(roundrect_rratio 0.25)+	)+	(pad "13" smd roundrect+		(at 2.475 -0.635)+		(size 1.95 0.6)+		(layers "F.Cu" "F.Mask" "F.Paste")+		(roundrect_rratio 0.25)+	)+	(pad "14" smd roundrect+		(at 2.475 -1.905)+		(size 1.95 0.6)+		(layers "F.Cu" "F.Mask" "F.Paste")+		(roundrect_rratio 0.25)+	)+	(pad "15" smd roundrect+		(at 2.475 -3.175)+		(size 1.95 0.6)+		(layers "F.Cu" "F.Mask" "F.Paste")+		(roundrect_rratio 0.25)+	)+	(pad "16" smd roundrect+		(at 2.475 -4.445)+		(size 1.95 0.6)+		(layers "F.Cu" "F.Mask" "F.Paste")+		(roundrect_rratio 0.25)+	)+	(embedded_fonts no)+	(model "${KICAD10_3DMODEL_DIR}/Package_SO.3dshapes/SOIC-16_3.9x9.9mm_P1.27mm.step"+		(offset+			(xyz 0 0 0)+		)+		(scale+			(xyz 1 1 1)+		)+		(rotate+			(xyz 0 0 0)+		)+	)+)
pcf8574.kicad_symadded+393
@@ -0,0 +1,393 @@+(kicad_symbol_lib+	(version 20251024)+	(generator "kicad_symbol_editor")+	(generator_version "10.0")+(symbol "PCF8574T"+		(exclude_from_sim no)+		(in_bom yes)+		(on_board yes)+		(in_pos_files yes)+		(duplicate_pin_numbers_are_jumpers no)+		(property "Reference" "U"+			(at -7.112 14.732 0)+			(show_name no)+			(do_not_autoplace no)+			(effects+				(font+					(size 1.27 1.27)+				)+				(justify left)+			)+		)+		(property "Value" "PCF8574T"+			(at 3.302 14.732 0)+			(show_name no)+			(do_not_autoplace no)+			(effects+				(font+					(size 1.27 1.27)+				)+				(justify left)+			)+		)+		(property "Footprint" ""+			(at 0 -16.764 0)+			(show_name no)+			(do_not_autoplace no)+			(hide yes)+			(effects+				(font+					(size 1.27 1.27)+				)+			)+		)+		(property "Datasheet" "http://www.ti.com/lit/ds/symlink/tca9534.pdf"+			(at 0 -12.7 0)+			(show_name no)+			(do_not_autoplace no)+			(hide yes)+			(effects+				(font+					(size 1.27 1.27)+				)+			)+		)+		(property "Description" "8-bit I/O Expander, I2C / SMBus interface, interrupt output, fixed address bits 0b0100xxx, TSSOP-16 / SOIC-16"+			(at 0 -14.732 0)+			(show_name no)+			(do_not_autoplace no)+			(hide yes)+			(effects+				(font+					(size 1.27 1.27)+				)+			)+		)+		(property "ki_keywords" "Texas-Instruments Port-Expander TCA9534DWR TCA9534DWT TCA9534PWR"+			(at 0 0 0)+			(show_name no)+			(do_not_autoplace no)+			(hide yes)+			(effects+				(font+					(size 1.27 1.27)+				)+			)+		)+		(property "ki_fp_filters" "TSSOP*4.4x5mm?P0.65mm* *SOIC*7.5x10.3mm?P1.27mm*"+			(at 0 0 0)+			(show_name no)+			(do_not_autoplace no)+			(hide yes)+			(effects+				(font+					(size 1.27 1.27)+				)+			)+		)+		(symbol "PCF8574T_0_1"+			(rectangle+				(start -7.62 12.7)+				(end 7.62 -10.16)+				(stroke+					(width 0.254)+					(type default)+				)+				(fill+					(type background)+				)+			)+		)+		(symbol "PCF8574T_1_1"+			(pin input line+				(at -10.16 -2.54 0)+				(length 2.54)+				(name "A0"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+				(number "1"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+			)+			(pin input line+				(at -10.16 -5.08 0)+				(length 2.54)+				(name "A1"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+				(number "2"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+			)+			(pin input line+				(at -10.16 -7.62 0)+				(length 2.54)+				(name "A2"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+				(number "3"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+			)+			(pin bidirectional line+				(at 10.16 10.16 180)+				(length 2.54)+				(name "P0"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+				(number "4"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+			)+			(pin bidirectional line+				(at 10.16 7.62 180)+				(length 2.54)+				(name "P1"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+				(number "5"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+			)+			(pin bidirectional line+				(at 10.16 5.08 180)+				(length 2.54)+				(name "P2"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+				(number "6"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+			)+			(pin bidirectional line+				(at 10.16 2.54 180)+				(length 2.54)+				(name "P3"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+				(number "7"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+			)+			(pin power_in line+				(at 0 -12.7 90)+				(length 2.54)+				(name "GND"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+				(number "8"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+			)+			(pin bidirectional line+				(at 10.16 0 180)+				(length 2.54)+				(name "P4"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+				(number "9"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+			)+			(pin bidirectional line+				(at 10.16 -2.54 180)+				(length 2.54)+				(name "P5"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+				(number "10"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+			)+			(pin bidirectional line+				(at 10.16 -5.08 180)+				(length 2.54)+				(name "P6"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+				(number "11"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+			)+			(pin bidirectional line+				(at 10.16 -7.62 180)+				(length 2.54)+				(name "P7"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+				(number "12"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+			)+			(pin open_collector line+				(at -10.16 2.54 0)+				(length 2.54)+				(name "~{INT}"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+				(number "13"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+			)+			(pin input line+				(at -10.16 10.16 0)+				(length 2.54)+				(name "SCL"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+				(number "14"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+			)+			(pin bidirectional line+				(at -10.16 7.62 0)+				(length 2.54)+				(name "SDA"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+				(number "15"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+			)+			(pin power_in line+				(at 0 15.24 270)+				(length 2.54)+				(name "VDD"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+				(number "16"+					(effects+						(font+							(size 1.27 1.27)+						)+					)+				)+			)+		)+		(embedded_fonts no)+	)+)