component
AT89S52-24PU
Public Made by Adomby adom
Microchip Tech Microcontrollers (MCU/MPU/SOC), DIP-40. Pinout cross-checked by two models against the datasheet, KiCad symbol/footprint/3D.
main
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389
{
"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)"
}
]
}
}