component
MCP23008
Public Made by Adomby adom
Microchip 8-bit I2C I/O expander, SOIC-18W. Eight I/O with interrupt output, three address pins, 1.8-5.5 V. Datasheet-verified.
main
Ray
mcp23008: component.models_3d pose record per STEP (Z-up, seated z=0, pad-centre origin, identity binding)
1dbf01f
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273
{
"schema_version": 1,
"type": "component",
"slug": "mcp23008",
"title": "MCP23008",
"brief": "Microchip 8-bit I2C I/O expander, SOIC-18W. Eight I/O with interrupt output, three address pins, 1.8-5.5 V. Datasheet-verified.",
"version": "0.1.0",
"license": "CC-BY-SA-4.0",
"tags": [
"component",
"interface",
"io-expander",
"gpio-expander",
"i2c",
"soic-18",
"microchip"
],
"component": {
"mpn": "MCP23008",
"manufacturer": "Microchip",
"package": "SOIC-18W",
"pin_count": 18,
"category": "Interface",
"subcategory": "I2C I/O expander",
"datasheet": "https://ww1.microchip.com/downloads/en/DeviceDoc/MCP23008-MCP23S08-Data-Sheet-20001919F.pdf",
"parts": {
"symbol": "mcp23008.kicad_sym",
"footprint": "mcp23008.kicad_mod",
"model_3d": "mcp23008-etched.glb",
"model_3d_plain": "mcp23008.glb",
"model_3d_step": "mcp23008-etched.step",
"model_3d_step_plain": "mcp23008.step",
"lbr": "mcp23008.lbr"
},
"distributor_links": {},
"pins": [
{
"number": "1",
"name": "SCL",
"type": "input",
"description": "I2C serial clock input. Supports Standard-mode (100 kHz), Fast-mode (400 kHz) and High-speed mode (1.7 MHz). Requires an external pull-up resistor to VDD."
},
{
"number": "2",
"name": "SDA",
"type": "bidirectional",
"description": "I2C serial data (open-drain, bidirectional). Requires an external pull-up resistor to VDD."
},
{
"number": "3",
"name": "A2",
"type": "input",
"description": "Hardware address input bit 2. Sets the upper I2C slave-address bit of the MCP23008 (base address 0100 A2 A1 A0). Must be biased externally to VDD or VSS."
},
{
"number": "4",
"name": "A1",
"type": "input",
"description": "Hardware address input bit 1. Must be biased externally to VDD or VSS."
},
{
"number": "5",
"name": "A0",
"type": "input",
"description": "Hardware address input bit 0. Must be biased externally to VDD or VSS."
},
{
"number": "6",
"name": "RESET",
"type": "input",
"description": "External active-low reset input. Drive low to reset the device; hold high (or tie to VDD) for normal operation."
},
{
"number": "7",
"name": "NC",
"type": "unconnected",
"description": "No connect on the MCP23008 (this pin is the SPI chip-select CS on the MCP23S08 variant). Leave floating or tie to VDD/VSS."
},
{
"number": "8",
"name": "INT",
"type": "output",
"description": "Interrupt output. Configurable as active-high, active-low, or open-drain via the IOCON register. Asserted on GPIO input change or mismatch vs DEFVAL."
},
{
"number": "9",
"name": "VSS",
"type": "power_in",
"description": "Ground reference (0 V)."
},
{
"number": "10",
"name": "GP0",
"type": "bidirectional",
"description": "General-purpose bidirectional I/O bit 0. Individually configurable as input or output; supports interrupt-on-change and an internal weak pull-up to VDD."
},
{
"number": "11",
"name": "GP1",
"type": "bidirectional",
"description": "General-purpose bidirectional I/O bit 1. Interrupt-on-change and internal weak pull-up available."
},
{
"number": "12",
"name": "GP2",
"type": "bidirectional",
"description": "General-purpose bidirectional I/O bit 2. Interrupt-on-change and internal weak pull-up available."
},
{
"number": "13",
"name": "GP3",
"type": "bidirectional",
"description": "General-purpose bidirectional I/O bit 3. Interrupt-on-change and internal weak pull-up available."
},
{
"number": "14",
"name": "GP4",
"type": "bidirectional",
"description": "General-purpose bidirectional I/O bit 4. Interrupt-on-change and internal weak pull-up available."
},
{
"number": "15",
"name": "GP5",
"type": "bidirectional",
"description": "General-purpose bidirectional I/O bit 5. Interrupt-on-change and internal weak pull-up available."
},
{
"number": "16",
"name": "GP6",
"type": "bidirectional",
"description": "General-purpose bidirectional I/O bit 6. Interrupt-on-change and internal weak pull-up available."
},
{
"number": "17",
"name": "GP7",
"type": "bidirectional",
"description": "General-purpose bidirectional I/O bit 7. Interrupt-on-change and internal weak pull-up available."
},
{
"number": "18",
"name": "VDD",
"type": "power_in",
"description": "Supply voltage. Operating range 1.8 V to 5.5 V (I2C speed derated at lower voltages: 100 kHz min at 1.8 V, 400 kHz at 2.7 V, 1.7 MHz at 4.5 V). Decouple to VSS with a 0.1 µF ceramic near the pin."
}
],
"provenance": {
"extractor": "ds2sf",
"datasheet": {
"url": "https://ww1.microchip.com/downloads/en/DeviceDoc/MCP23008-MCP23S08-Data-Sheet-20001919F.pdf",
"pages": 43,
"sha256": "3516fba5df6da78c",
"source_tier": "mfr"
},
"cad": "KiCad official (CC-BY-SA 4.0)",
"pins": {
"total": 18,
"described": 18,
"cites_pages": true,
"refuses_to_fabricate": true
}
},
"viewers": {
"symbol": "viewers/symbol.html",
"footprint": "viewers/footprint.html"
},
"models_3d": [
{
"file": "mcp23008.step",
"role": "plain",
"up": "Z",
"units": "mm",
"origin": "footprint origin = pad-pattern centre",
"seat": "z = 0",
"extents_mm": [
10.3,
11.55,
2.75
],
"zmin_mm": 0,
"centre_offset_mm": 0,
"footprint_binding": "identity",
"sha256": "05ad7d4945131c76ec7b9448dd9cbb5376b56adcd564c58d93e50ca7870fab1f",
"checked": "2026-10-07",
"checked_by": "factory/step_pose.py (Z-up, origin, seat, binding)"
},
{
"file": "mcp23008-etched.step",
"role": "eda",
"up": "Z",
"units": "mm",
"origin": "footprint origin = pad-pattern centre",
"seat": "z = 0",
"extents_mm": [
10.3,
11.55,
2.75
],
"zmin_mm": 0,
"centre_offset_mm": 0,
"footprint_binding": "identity",
"sha256": "2786b60a68897eb0cfb87a126fbcf0a58e75e62b310e83d5adb441b0fc197c3a",
"checked": "2026-10-07",
"checked_by": "factory/step_pose.py (Z-up, origin, seat, binding)"
}
]
},
"metadata": {
"specs": {
"Type": "8-bit I2C I/O expander",
"Interface": "I2C (up to 1.7 MHz)",
"I/O": "8 pins (GP0-GP7), input or output",
"Interrupt": "INT output, interrupt-on-change per pin",
"Addresses": "8 (A0-A2)",
"Pull-ups": "Software-enabled per pin (100 kΩ)",
"Supply": "1.8-5.5 V",
"Package": "SOIC-18W (300 mil)"
}
},
"sections": [
"hero",
"viewers",
"readme",
"breadcrumbs",
"info"
],
"discovery_triggers": [
"mcp23008",
"8-bit io expander",
"i2c gpio expander",
"add 8 gpio over i2c"
],
"discovery_pitch": "Microchip MCP23008 8-bit I2C I/O expander (SOIC-18W) with datasheet-verified pinout, KiCad symbol/footprint/3D, and full provenance.",
"author": {
"name": "Ray"
},
"dependencies": {},
"hero": {
"type": "image",
"path": "docs/hero.png"
},
"files": [
"page.json",
"README.md",
"mcp23008.kicad_sym",
"mcp23008.kicad_mod",
"mcp23008.glb",
"mcp23008.step",
"mcp23008.lbr",
"docs/hero.png",
"docs/mcp23008-datasheet.pdf",
"viewers/symbol.html",
"viewers/footprint.html",
"mcp23008-etched.step"
],
"variants": [
{
"mpn": "MCP23008-E/SO (SOIC-18W)",
"kind": "packaging"
},
{
"mpn": "MCP23008-E/P (PDIP-18)",
"kind": "packaging"
},
{
"mpn": "MCP23008-E/SS (SSOP-20)",
"kind": "packaging"
},
{
"mpn": "MCP23008-E/ML (QFN-20)",
"kind": "packaging"
}
]
}