main
Ray Publish 0.1.0 4d59874 8d ago
{
  "slug": "stc12c5204ad-35i-sop20",
  "version": "0.1.0",
  "type": "component",
  "description": "STC Micro Microcontrollers (MCU/MPU/SOC), SOIC-20-300mil. Pinout cross-checked by two models against the datasheet, KiCad symbol/footprint/3D.",
  "tags": [
    "component",
    "embedded processors & controllers",
    "stc12c5204ad-35i-sop20",
    "factory-2.0.0",
    "extractor-text"
  ],
  "dependencies": {},
  "hero": {
    "type": "image",
    "path": "docs/hero.png"
  },
  "files": [
    "page.json",
    "README.md",
    "stc12c5204ad-35i-sop20.kicad_sym",
    "stc12c5204ad-35i-sop20.kicad_mod",
    "stc12c5204ad-35i-sop20.glb",
    "stc12c5204ad-35i-sop20.step",
    "stc12c5204ad-35i-sop20.lbr",
    "docs/hero.png",
    "docs/stc12c5204ad-35i-sop20-datasheet.pdf",
    "viewers/symbol.html",
    "viewers/footprint.html",
    "stc12c5204ad-35i-sop20-hero.glb",
    "stc12c5204ad-35i-sop20-hero.overlay.json",
    "stc12c5204ad-35i-sop20-etched.glb"
  ],
  "component": {
    "mpn": "STC12C5204AD-35I-SOP20",
    "manufacturer": "STC Micro",
    "package": "SOIC-20-300mil",
    "pin_count": 20,
    "category": "Embedded Processors & Controllers",
    "subcategory": "Microcontrollers (MCU/MPU/SOC)",
    "datasheet": "https://jlcpcb.com/api/file/downloadByFileSystemAccessId/8588882119276048384",
    "parts": {
      "symbol": "stc12c5204ad-35i-sop20.kicad_sym",
      "footprint": "stc12c5204ad-35i-sop20.kicad_mod",
      "model_3d": "stc12c5204ad-35i-sop20-hero.glb",
      "model_3d_plain": "stc12c5204ad-35i-sop20-etched.glb",
      "model_3d_step": "stc12c5204ad-35i-sop20-etched.step",
      "model_3d_step_plain": "stc12c5204ad-35i-sop20.step",
      "lbr": "stc12c5204ad-35i-sop20.lbr"
    },
    "distributor_links": {
      "lcsc": "C8703"
    },
    "distributor_check": {
      "checked_at": "2026-10-19T08:23:28Z",
      "source": "Component Ocean /api/assign-pns",
      "digikey": {
        "pn": null,
        "status": "error"
      },
      "mouser": {
        "pn": null,
        "status": "no match"
      }
    },
    "pins": [
      {
        "number": "1",
        "name": "RST",
        "type": "input",
        "description": "Reset pin; holding it high for at least 24 clock cycles plus 10 us puts the MCU into reset, and pulling it back low ends the reset so execution starts at 0000H."
      },
      {
        "number": "2",
        "name": "P3.0/RxD",
        "type": "bidirectional",
        "description": "Standard quasi-bidirectional I/O port PORT3[0] that also serves as the UART serial data receive input RxD."
      },
      {
        "number": "3",
        "name": "P3.1/TxD",
        "type": "bidirectional",
        "description": "Standard quasi-bidirectional I/O port PORT3[1] that also serves as the UART serial data transmit output TxD."
      },
      {
        "number": "4",
        "name": "XTAL2",
        "type": "output",
        "description": "Output of the internal clock inverting amplifier that connects to the other crystal terminal; it may be left floating when an external clock is applied to XTAL1."
      },
      {
        "number": "5",
        "name": "XTAL1",
        "type": "input",
        "description": "Input of the internal clock inverting amplifier that connects to one crystal terminal, and the external clock source input when an external clock is used."
      },
      {
        "number": "6",
        "name": "P3.2/INT0",
        "type": "bidirectional",
        "description": "Standard I/O port PORT3[2] that also serves as external interrupt 0, triggered on a falling edge or low level."
      },
      {
        "number": "7",
        "name": "P3.3/INT1",
        "type": "bidirectional",
        "description": "Standard I/O port PORT3[3] that also serves as external interrupt 1, triggered on a falling edge or low level."
      },
      {
        "number": "8",
        "name": "P3.4/T0/ECI/CLKOUT0",
        "type": "bidirectional",
        "description": "Standard I/O port PORT3[4] that also serves as external input of Timer/Counter 0 (T0), PCA counter external pulse input (ECI), and Timer 0 clock output CLKOUT0."
      },
      {
        "number": "9",
        "name": "P3.5/T1/CCP1/CLKOUT1",
        "type": "bidirectional",
        "description": "Standard I/O port PORT3[5] that also serves as external input of Timer/Counter 1 (T1), PCA capture/high-speed output/PWM output CCP1, and Timer 1 clock output CLKOUT1."
      },
      {
        "number": "10",
        "name": "GND",
        "type": "power_in",
        "description": "Power supply negative terminal (ground)."
      },
      {
        "number": "11",
        "name": "P3.7/CCP0",
        "type": "bidirectional",
        "description": "Standard I/O port PORT3[7] that also serves as PCA module 0 capture, high-speed pulse output and PWM output CCP0."
      },
      {
        "number": "12",
        "name": "P1.0/ADC0",
        "type": "bidirectional",
        "description": "Standard I/O port PORT1[0] that also serves as ADC input channel 0; when used as an ADC input it must first be set to open-drain or high-impedance input mode."
      },
      {
        "number": "13",
        "name": "P1.1/ADC1",
        "type": "bidirectional",
        "description": "Standard I/O port PORT1[1] that also serves as ADC input channel 1; when used as an ADC input it must first be set to open-drain or high-impedance input mode."
      },
      {
        "number": "14",
        "name": "P1.2/ADC2/EX_LVD/RST2",
        "type": "bidirectional",
        "description": "Standard I/O port PORT1[2] that also serves as ADC input channel 2, external low-voltage detect interrupt/comparator input EX_LVD, and second reset function pin RST2 (about 1.33 V threshold)."
      },
      {
        "number": "15",
        "name": "P1.3/ADC3",
        "type": "bidirectional",
        "description": "Standard I/O port PORT1[3] that also serves as ADC input channel 3; when used as an ADC input it must first be set to open-drain or high-impedance input mode."
      },
      {
        "number": "16",
        "name": "P1.4/ADC4",
        "type": "bidirectional",
        "description": "Standard I/O port PORT1[4] that also serves as ADC input channel 4; when used as an ADC input it must first be set to open-drain or high-impedance input mode."
      },
      {
        "number": "17",
        "name": "P1.5/ADC5",
        "type": "bidirectional",
        "description": "Standard I/O port PORT1[5] that also serves as ADC input channel 5; when used as an ADC input it must first be set to open-drain or high-impedance input mode."
      },
      {
        "number": "18",
        "name": "P1.6/ADC6",
        "type": "bidirectional",
        "description": "Standard I/O port PORT1[6] that also serves as ADC input channel 6; when used as an ADC input it must first be set to open-drain or high-impedance input mode."
      },
      {
        "number": "19",
        "name": "P1.7/ADC7",
        "type": "bidirectional",
        "description": "Standard I/O port PORT1[7] that also serves as ADC input channel 7; when used as an ADC input it must first be set to open-drain or high-impedance input mode."
      },
      {
        "number": "20",
        "name": "VCC",
        "type": "power_in",
        "description": "Positive power supply pin; the device operates from 5.5 V to 3.5 V per the selection table."
      }
    ],
    "provenance": {
      "extractor": "extract_pins 0.3",
      "factory_chain": {
        "factory": "2.0.0",
        "extractor": "extract_pins 0.3",
        "primary_model": "claude-haiku-5-5",
        "primary_mode": "text",
        "consensus_model": "claude-sonnet-5-5",
        "consensus": "agreed",
        "guards": "pin_guards 0.1: passed",
        "guard_notes": [
          "extractor flagged: Pin-to-package mapping was read from the multi-column pin table on page 21 (SOP-20/DIP-20 column) an; The datasheet covers the STC12C5201AD family and lists the 20-pin SOP/DIP variant for the AD parts; ; Pin 18 is labelled 'ADC5' in the page 21 description text, which is a typo; it is listed as P1.6/ADC",
          "1/20 pins cited to the wrong page (name found elsewhere): ['5:XTAL1@p21']"
        ],
        "pages_sent": 87,
        "cost_usd": 0.3703,
        "at": "2026-10-19T08:20:51"
      },
      "datasheet": {
        "url": "https://jlcpcb.com/api/file/downloadByFileSystemAccessId/8588882119276048384",
        "pages": 412,
        "sha256": "766016da5f13196c",
        "source_tier": "lcsc"
      },
      "cad": "KiCad official (CC-BY-SA 4.0)",
      "pins": {
        "total": 20,
        "described": 20,
        "cites_pages": true,
        "refuses_to_fabricate": true
      }
    },
    "viewers": {
      "symbol": "viewers/symbol.html",
      "footprint": "viewers/footprint.html"
    },
    "models_3d": [
      {
        "file": "stc12c5204ad-35i-sop20.step",
        "role": "plain",
        "up": "Z",
        "units": "mm",
        "origin": "footprint origin = pad-pattern centre",
        "seat": "z = 0",
        "extents_mm": [
          10.3,
          12.8,
          2.75
        ],
        "zmin_mm": -0.0,
        "centre_offset_mm": 0.0,
        "footprint_binding": "identity",
        "sha256": "59a10b341e6972b31d81802a048060326da627d8b92dcf4263064f4f62ec808e",
        "checked": "2026-10-19",
        "checked_by": "factory/step_pose.py (Z-up, origin, seat, binding)"
      },
      {
        "file": "stc12c5204ad-35i-sop20-etched.step",
        "role": "eda",
        "up": "Z",
        "units": "mm",
        "origin": "footprint origin = pad-pattern centre",
        "seat": "z = 0",
        "extents_mm": [
          10.3,
          12.8,
          2.75
        ],
        "zmin_mm": -0.0,
        "centre_offset_mm": 0.0,
        "footprint_binding": "identity",
        "sha256": "ade29648e2a0fcf9fe1356de3d38545dfeda9c11658dd7eae4a36862e91e6162",
        "checked": "2026-10-19",
        "checked_by": "factory/step_pose.py (Z-up, origin, seat, binding)"
      }
    ]
  }
}