main
Ray Publish 0.1.0 5991799 8d ago
{
  "slug": "at89s52-24pu",
  "version": "0.1.0",
  "type": "component",
  "description": "Microchip Tech Microcontrollers (MCU/MPU/SOC), DIP-40. Pinout cross-checked by two models against the datasheet, KiCad symbol/footprint/3D.",
  "tags": [
    "component",
    "embedded processors & controllers",
    "at89s52-24pu",
    "factory-2.0.0",
    "extractor-text"
  ],
  "dependencies": {},
  "hero": {
    "type": "image",
    "path": "docs/hero.png"
  },
  "files": [
    "page.json",
    "README.md",
    "at89s52-24pu.kicad_sym",
    "at89s52-24pu.kicad_mod",
    "at89s52-24pu.glb",
    "at89s52-24pu.step",
    "at89s52-24pu.lbr",
    "docs/hero.png",
    "docs/at89s52-24pu-datasheet.pdf",
    "viewers/symbol.html",
    "viewers/footprint.html",
    "at89s52-24pu-hero.glb",
    "at89s52-24pu-hero.overlay.json",
    "at89s52-24pu-etched.glb"
  ],
  "component": {
    "mpn": "AT89S52-24PU",
    "manufacturer": "Microchip Tech",
    "package": "DIP-40",
    "pin_count": 40,
    "category": "Embedded Processors & Controllers",
    "subcategory": "Microcontrollers (MCU/MPU/SOC)",
    "datasheet": "https://jlcpcb.com/api/file/downloadByFileSystemAccessId/8588895426954715136",
    "parts": {
      "symbol": "at89s52-24pu.kicad_sym",
      "footprint": "at89s52-24pu.kicad_mod",
      "model_3d": "at89s52-24pu-hero.glb",
      "model_3d_plain": "at89s52-24pu-etched.glb",
      "model_3d_step": "at89s52-24pu-etched.step",
      "model_3d_step_plain": "at89s52-24pu.step",
      "lbr": "at89s52-24pu.lbr"
    },
    "distributor_links": {
      "lcsc": "C9441",
      "digikey": "AT89S52-24PU-ND",
      "mouser": "556-A89S52-24PU"
    },
    "distributor_check": {
      "checked_at": "2026-10-19T04:05:38Z",
      "source": "Component Ocean /api/assign-pns",
      "digikey": {
        "pn": "AT89S52-24PU-ND",
        "status": "found",
        "lifecycle": "Active"
      },
      "mouser": {
        "pn": "556-A89S52-24PU",
        "status": "found"
      }
    },
    "pins": [
      {
        "number": "1",
        "name": "P1.0 (T2)",
        "type": "bidirectional",
        "description": "Port 1 bidirectional I/O with internal pull-ups that sinks/sources four TTL inputs; alternate function is the Timer/Counter 2 external count input (T2) and clock-out."
      },
      {
        "number": "2",
        "name": "P1.1",
        "type": "bidirectional",
        "description": "Port 1 bidirectional I/O with internal pull-ups that sinks/sources four TTL inputs; alternate function is the Timer/Counter 2 capture/reload trigger and direction control (T2EX)."
      },
      {
        "number": "3",
        "name": "P1.2",
        "type": "bidirectional",
        "description": "Port 1 bidirectional I/O with internal pull-ups that sinks/sources four TTL inputs; receives low-order address bytes during Flash programming and verification."
      },
      {
        "number": "4",
        "name": "P1.3",
        "type": "bidirectional",
        "description": "Port 1 bidirectional I/O with internal pull-ups that sinks/sources four TTL inputs; receives low-order address bytes during Flash programming and verification."
      },
      {
        "number": "5",
        "name": "P1.4",
        "type": "bidirectional",
        "description": "Port 1 bidirectional I/O with internal pull-ups that sinks/sources four TTL inputs; receives low-order address bytes during Flash programming and verification."
      },
      {
        "number": "6",
        "name": "P1.5",
        "type": "bidirectional",
        "description": "Port 1 bidirectional I/O with internal pull-ups that sinks/sources four TTL inputs; alternate function MOSI is used for In-System Programming."
      },
      {
        "number": "7",
        "name": "P1.6",
        "type": "bidirectional",
        "description": "Port 1 bidirectional I/O with internal pull-ups that sinks/sources four TTL inputs; alternate function MISO is used for In-System Programming."
      },
      {
        "number": "8",
        "name": "P1.7",
        "type": "bidirectional",
        "description": "Port 1 bidirectional I/O with internal pull-ups that sinks/sources four TTL inputs; alternate function SCK is used for In-System Programming."
      },
      {
        "number": "9",
        "name": "RST",
        "type": "input",
        "description": "Reset input; a high on this pin for two machine cycles while the oscillator is running resets the device."
      },
      {
        "number": "10",
        "name": "P3.0 (RXD)",
        "type": "bidirectional",
        "description": "Port 3 bidirectional I/O with internal pull-ups that sinks/sources four TTL inputs; alternate function RXD is the serial input port."
      },
      {
        "number": "11",
        "name": "P3.1 (TXD)",
        "type": "bidirectional",
        "description": "Port 3 bidirectional I/O with internal pull-ups that sinks/sources four TTL inputs; alternate function TXD is the serial output port."
      },
      {
        "number": "12",
        "name": "P3.2 (INT0)",
        "type": "bidirectional",
        "description": "Port 3 bidirectional I/O with internal pull-ups that sinks/sources four TTL inputs; alternate function INT0 is external interrupt 0."
      },
      {
        "number": "13",
        "name": "P3.3 (INT1)",
        "type": "bidirectional",
        "description": "Port 3 bidirectional I/O with internal pull-ups that sinks/sources four TTL inputs; alternate function INT1 is external interrupt 1."
      },
      {
        "number": "14",
        "name": "P3.4 (T0)",
        "type": "bidirectional",
        "description": "Port 3 bidirectional I/O with internal pull-ups that sinks/sources four TTL inputs; alternate function T0 is the Timer 0 external input."
      },
      {
        "number": "15",
        "name": "P3.5 (T1)",
        "type": "bidirectional",
        "description": "Port 3 bidirectional I/O with internal pull-ups that sinks/sources four TTL inputs; alternate function T1 is the Timer 1 external input."
      },
      {
        "number": "16",
        "name": "P3.6 (WR)",
        "type": "bidirectional",
        "description": "Port 3 bidirectional I/O with internal pull-ups that sinks/sources four TTL inputs; alternate function WR is the external data memory write strobe."
      },
      {
        "number": "17",
        "name": "P3.7 (RD)",
        "type": "bidirectional",
        "description": "Port 3 bidirectional I/O with internal pull-ups that sinks/sources four TTL inputs; alternate function RD is the external data memory read strobe."
      },
      {
        "number": "18",
        "name": "XTAL2",
        "type": "output",
        "description": "Oscillator pin XTAL2; the pages provided name this pin but do not state its electrical limits."
      },
      {
        "number": "19",
        "name": "XTAL1",
        "type": "input",
        "description": "Oscillator pin XTAL1; the pages provided name this pin but do not state its electrical limits."
      },
      {
        "number": "20",
        "name": "GND",
        "type": "power_in",
        "description": "Ground reference for the device."
      },
      {
        "number": "21",
        "name": "P2.0 (A8)",
        "type": "bidirectional",
        "description": "Port 2 bidirectional I/O with internal pull-ups that sinks/sources four TTL inputs; emits the high-order address byte (A8) during external program fetches and 16-bit external data accesses."
      },
      {
        "number": "22",
        "name": "P2.1 (A9)",
        "type": "bidirectional",
        "description": "Port 2 bidirectional I/O with internal pull-ups that sinks/sources four TTL inputs; emits the high-order address byte (A9) during external program fetches and 16-bit external data accesses."
      },
      {
        "number": "23",
        "name": "P2.2 (A10)",
        "type": "bidirectional",
        "description": "Port 2 bidirectional I/O with internal pull-ups that sinks/sources four TTL inputs; emits the high-order address byte (A10) during external program fetches and 16-bit external data accesses."
      },
      {
        "number": "24",
        "name": "P2.3 (A11)",
        "type": "bidirectional",
        "description": "Port 2 bidirectional I/O with internal pull-ups that sinks/sources four TTL inputs; emits the high-order address byte (A11) during external program fetches and 16-bit external data accesses."
      },
      {
        "number": "25",
        "name": "P2.4 (A12)",
        "type": "bidirectional",
        "description": "Port 2 bidirectional I/O with internal pull-ups that sinks/sources four TTL inputs; emits the high-order address byte (A12) during external program fetches and 16-bit external data accesses."
      },
      {
        "number": "26",
        "name": "P2.5 (A13)",
        "type": "bidirectional",
        "description": "Port 2 bidirectional I/O with internal pull-ups that sinks/sources four TTL inputs; emits the high-order address byte (A13) during external program fetches and 16-bit external data accesses."
      },
      {
        "number": "27",
        "name": "P2.6 (A14)",
        "type": "bidirectional",
        "description": "Port 2 bidirectional I/O with internal pull-ups that sinks/sources four TTL inputs; emits the high-order address byte (A14) during external program fetches and 16-bit external data accesses."
      },
      {
        "number": "28",
        "name": "P2.7 (A15)",
        "type": "bidirectional",
        "description": "Port 2 bidirectional I/O with internal pull-ups that sinks/sources four TTL inputs; emits the high-order address byte (A15) during external program fetches and 16-bit external data accesses."
      },
      {
        "number": "29",
        "name": "PSEN",
        "type": "output",
        "description": "Program store enable; the pages provided list this pin in the pinout but do not describe its timing or limits."
      },
      {
        "number": "30",
        "name": "ALE/PROG",
        "type": "bidirectional",
        "description": "Address Latch Enable output pulses at 1/6 the oscillator frequency to latch the low address byte during external memory access, and is the program pulse input (PROG) during Flash programming."
      },
      {
        "number": "31",
        "name": "EA/VPP",
        "type": "input",
        "description": "Shared EA/VPP pin; the pages provided name this pin but do not state its electrical limits or behavior."
      },
      {
        "number": "32",
        "name": "P0.7 (AD7)",
        "type": "bidirectional",
        "description": "Port 0 open-drain bidirectional I/O that sinks eight TTL inputs; multiplexed as the low-order address/data bus (AD7) with internal pull-ups in that mode, and needs external pull-ups during program verification."
      },
      {
        "number": "33",
        "name": "P0.6 (AD6)",
        "type": "bidirectional",
        "description": "Port 0 open-drain bidirectional I/O that sinks eight TTL inputs; multiplexed as the low-order address/data bus (AD6) with internal pull-ups in that mode, and needs external pull-ups during program verification."
      },
      {
        "number": "34",
        "name": "P0.5 (AD5)",
        "type": "bidirectional",
        "description": "Port 0 open-drain bidirectional I/O that sinks eight TTL inputs; multiplexed as the low-order address/data bus (AD5) with internal pull-ups in that mode, and needs external pull-ups during program verification."
      },
      {
        "number": "35",
        "name": "P0.4 (AD4)",
        "type": "bidirectional",
        "description": "Port 0 open-drain bidirectional I/O that sinks eight TTL inputs; multiplexed as the low-order address/data bus (AD4) with internal pull-ups in that mode, and needs external pull-ups during program verification."
      },
      {
        "number": "36",
        "name": "P0.3 (AD3)",
        "type": "bidirectional",
        "description": "Port 0 open-drain bidirectional I/O that sinks eight TTL inputs; multiplexed as the low-order address/data bus (AD3) with internal pull-ups in that mode, and needs external pull-ups during program verification."
      },
      {
        "number": "37",
        "name": "P0.2 (AD2)",
        "type": "bidirectional",
        "description": "Port 0 open-drain bidirectional I/O that sinks eight TTL inputs; multiplexed as the low-order address/data bus (AD2) with internal pull-ups in that mode, and needs external pull-ups during program verification."
      },
      {
        "number": "38",
        "name": "P0.1 (AD1)",
        "type": "bidirectional",
        "description": "Port 0 open-drain bidirectional I/O that sinks eight TTL inputs; multiplexed as the low-order address/data bus (AD1) with internal pull-ups in that mode, and needs external pull-ups during program verification."
      },
      {
        "number": "39",
        "name": "P0.0 (AD0)",
        "type": "bidirectional",
        "description": "Port 0 open-drain bidirectional I/O that sinks eight TTL inputs; multiplexed as the low-order address/data bus (AD0) with internal pull-ups in that mode, and needs external pull-ups during program verification."
      },
      {
        "number": "40",
        "name": "VCC",
        "type": "power_in",
        "description": "Supply voltage; the ordering information specifies 4.0V to 5.5V for the 24 MHz -24PU part."
      }
    ],
    "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: PDIP pin numbers were derived from the page 2 layout: pins 1-20 run down the left column and 40-21 u; The provided pages do not describe the electrical behavior of XTAL1, XTAL2, EA/VPP or PSEN. Their de; The ordering table lists the -24PU part as 4.0V to 5.5V, and the 40P6 package is the 40-pin PDIP. Th",
          "6/40 pins cited to the wrong page (name found elsewhere): ['13:P3.3 (INT1)@p5', '14:P3.4 (T0)@p5', '15:P3.5 (T1)@p5', '17:P3.7 (RD)@p5']",
          "1/40 pin names appear NOWHERE in the datasheet text: ['18:XTAL2@p2']"
        ],
        "pages_sent": 9,
        "cost_usd": 0.0746,
        "at": "2026-10-19T04:05:14"
      },
      "datasheet": {
        "url": "https://jlcpcb.com/api/file/downloadByFileSystemAccessId/8588895426954715136",
        "pages": 38,
        "sha256": "6f1fe5ec41885436",
        "source_tier": "lcsc"
      },
      "cad": "KiCad official (CC-BY-SA 4.0)",
      "pins": {
        "total": 40,
        "described": 40,
        "cites_pages": true,
        "refuses_to_fabricate": true
      }
    },
    "viewers": {
      "symbol": "viewers/symbol.html",
      "footprint": "viewers/footprint.html"
    },
    "models_3d": [
      {
        "file": "at89s52-24pu.step",
        "role": "plain",
        "up": "Z",
        "units": "mm",
        "origin": "footprint origin = pad-pattern centre",
        "seat": "body on z = 0, through-hole leads below",
        "extents_mm": [
          25.4,
          50.8,
          6.98
        ],
        "zmin_mm": -3.3,
        "centre_offset_mm": 0.127,
        "footprint_binding": "identity",
        "sha256": "114010029e96b840de5e76a4e7f09f46a19e6db723f6d096bd70dbeb8ce0aff9",
        "checked": "2026-10-19",
        "checked_by": "factory/step_pose.py (Z-up, origin, seat, binding)"
      },
      {
        "file": "at89s52-24pu-etched.step",
        "role": "eda",
        "up": "Z",
        "units": "mm",
        "origin": "footprint origin = pad-pattern centre",
        "seat": "body on z = 0, through-hole leads below",
        "extents_mm": [
          25.4,
          50.8,
          6.98
        ],
        "zmin_mm": -3.3,
        "centre_offset_mm": 0.127,
        "footprint_binding": "identity",
        "sha256": "307c324c38782ec986564e855c8ee73da8658818868a6db96b693fa1a86ccfc7",
        "checked": "2026-10-19",
        "checked_by": "factory/step_pose.py (Z-up, origin, seat, binding)"
      }
    ]
  }
}