main
Ray mcp23008: component.models_3d pose record per STEP (Z-up, seated z=0, pad-centre origin, identity binding) 1dbf01f
{
  "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"
    }
  ]
}