← Commit history
README.md+39−40
@@ -8,26 +8,26 @@ AT89C2051-12SU from Microchip Tech, in a SOIC-20-300mil. Pinout and pin descript  | Pin | Name | Type | Function | |---|---|---|---|-| 1 | RST/VPP | input | Reset input; holding RST high for two machine cycles while the oscillator is running resets the device, and RST is raised to 12V to enable programming. |-| 2 | P3.0 (RXD) | bidirectional | Port 3 bi-directional I/O pin with internal pull-up, alternate function RXD (serial input port); its output buffer can sink 20 mA. |-| 3 | P3.1 (TXD) | bidirectional | Port 3 bi-directional I/O pin with internal pull-up, alternate function TXD (serial output port); its output buffer can sink 20 mA. |-| 4 | XTAL2 | output | Output from the inverting oscillator amplifier. |-| 5 | XTAL1 | input | Input to the inverting oscillator amplifier and input to the internal clock operating circuit. |-| 6 | P3.2 (INT0) | bidirectional | Port 3 bi-directional I/O pin with internal pull-up, alternate function INT0 (external interrupt 0); its output buffer can sink 20 mA. |-| 7 | P3.3 (INT1) | bidirectional | Port 3 bi-directional I/O pin with internal pull-up, alternate function INT1 (external interrupt 1); its output buffer can sink 20 mA. |-| 8 | P3.4 (T0) | bidirectional | Port 3 bi-directional I/O pin with internal pull-up, alternate function T0 (timer 0 external input); its output buffer can sink 20 mA. |-| 9 | P3.5 (T1) | bidirectional | Port 3 bi-directional I/O pin with internal pull-up, alternate function T1 (timer 1 external input); its output buffer can sink 20 mA. |+| 1 | RST/VPP | input | Reset input: all I/O pins go to 1s as soon as RST goes high, and holding it high for two machine cycles while the oscillator runs resets the device; it is raised to 12 V to enable Flash programming. |+| 2 | P3.0 (RXD) | bidirectional | Port 3 bidirectional I/O with internal pull-up, alternate function RXD serial input port; output buffers can sink 20 mA. |+| 3 | P3.1 (TXD) | bidirectional | Port 3 bidirectional I/O with internal pull-up, alternate function TXD serial output port; during programming it is pulled low while busy (RDY/BSY). |+| 4 | XTAL2 | output | Output from the inverting oscillator amplifier; left unconnected when XTAL1 is driven by an external clock. |+| 5 | XTAL1 | input | Input to the inverting oscillator amplifier and to the internal clock operating circuit. |+| 6 | P3.2 (INT0) | bidirectional | Port 3 bidirectional I/O with internal pull-up, alternate function external interrupt 0; pulsed to program a byte during Flash programming. |+| 7 | P3.3 (INT1) | bidirectional | Port 3 bidirectional I/O with internal pull-up, alternate function external interrupt 1. |+| 8 | P3.4 (T0) | bidirectional | Port 3 bidirectional I/O with internal pull-up, alternate function timer 0 external input. |+| 9 | P3.5 (T1) | bidirectional | Port 3 bidirectional I/O with internal pull-up, alternate function timer 1 external input; pulled low for signature byte reads. | | 10 | GND | power_in | Ground. |-| 11 | P3.7 | bidirectional | Port 3 bi-directional I/O pin with internal pull-up; its output buffer can sink 20 mA. |-| 12 | P1.0 (AIN0) | bidirectional | Port 1 bi-directional I/O pin that requires an external pull-up and serves as the positive input AIN0 of the on-chip analog comparator; its output buffer can sink 20 mA. |-| 13 | P1.1 (AIN1) | bidirectional | Port 1 bi-directional I/O pin that requires an external pull-up and serves as the negative input AIN1 of the on-chip analog comparator; its output buffer can sink 20 mA. |-| 14 | P1.2 | bidirectional | Port 1 bi-directional I/O pin with internal pull-up that can drive LED displays directly; its output buffer can sink 20 mA. |-| 15 | P1.3 | bidirectional | Port 1 bi-directional I/O pin with internal pull-up that can drive LED displays directly; its output buffer can sink 20 mA. |-| 16 | P1.4 | bidirectional | Port 1 bi-directional I/O pin with internal pull-up that can drive LED displays directly; its output buffer can sink 20 mA. |-| 17 | P1.5 | bidirectional | Port 1 bi-directional I/O pin with internal pull-up that can drive LED displays directly; its output buffer can sink 20 mA. |-| 18 | P1.6 | bidirectional | Port 1 bi-directional I/O pin with internal pull-up that can drive LED displays directly; its output buffer can sink 20 mA. |-| 19 | P1.7 | bidirectional | Port 1 bi-directional I/O pin with internal pull-up that can drive LED displays directly; its output buffer can sink 20 mA. |-| 20 | VCC | power_in | Supply voltage. |+| 11 | P3.7 | bidirectional | Port 3 bidirectional I/O with internal pull-up; output buffers can sink 20 mA. |+| 12 | P1.0 (AIN0) | bidirectional | Port 1 bidirectional I/O that requires an external pull-up; also the positive input (AIN0) of the on-chip analog comparator; output buffers can sink 20 mA and drive LEDs directly. |+| 13 | P1.1 (AIN1) | bidirectional | Port 1 bidirectional I/O that requires an external pull-up; also the negative input (AIN1) of the on-chip analog comparator; output buffers can sink 20 mA. |+| 14 | P1.2 | bidirectional | Port 1 bidirectional I/O with internal pull-up; output buffers can sink 20 mA and drive LEDs directly. |+| 15 | P1.3 | bidirectional | Port 1 bidirectional I/O with internal pull-up; output buffers can sink 20 mA and drive LEDs directly. |+| 16 | P1.4 | bidirectional | Port 1 bidirectional I/O with internal pull-up; output buffers can sink 20 mA and drive LEDs directly. |+| 17 | P1.5 | bidirectional | Port 1 bidirectional I/O with internal pull-up; output buffers can sink 20 mA and drive LEDs directly. |+| 18 | P1.6 | bidirectional | Port 1 bidirectional I/O with internal pull-up; output buffers can sink 20 mA and drive LEDs directly. |+| 19 | P1.7 | bidirectional | Port 1 bidirectional I/O with internal pull-up; output buffers can sink 20 mA and drive LEDs directly. |+| 20 | VCC | power_in | Supply voltage, operating range 2.7 V to 6.0 V. |  ## Key specifications @@ -44,8 +44,15 @@ Limits as printed in the datasheet (page.json `metadata.characteristics` carries  | Parameter | Symbol | Min | Typ | Max | Unit | Conditions | Page | |---|---|---|---|---|---|---|---|+| Operating Temperature |  | -55 |  | 125 | °C |  | 12 |+| Storage Temperature |  | -65 |  | 150 | °C |  | 12 |+| Voltage on Any Pin with Respect to Ground |  | -1 |  | 7 | V | with respect to ground | 12 |+| Maximum Operating Voltage |  |  |  | 6.6 | V |  | 12 |+| DC Output Current |  |  |  | 25 | mA |  | 12 |+| Supply Voltage | VCC | 2.7 |  | 6 | V | AT89C2051-12SU, 12 MHz speed grade | 16 |+| Ambient Temperature (Industrial) | TA | -40 |  | 85 | °C | Industrial operating range | 16 | | Input Low-voltage | VIL | -0.5 |  |  | V |  | 12 |-| Output Low-voltage (Ports 1, 3) | VOL |  |  | 0.5 | V | IOL = 20 mA, VCC = 5V; IOL = 10 mA, VCC = 2.7V | 12 |+| Output Low-voltage (Ports 1, 3) | VOL |  |  | 0.5 | V | IOL = 10 mA, VCC = 2.7V | 12 | | Output High-voltage (Ports 1, 3) | VOH | 2.4 |  |  | V | IOH = -80 μA, VCC = 5V ± 10% | 12 | | Logical 0 Input Current (Ports 1, 3) | IIL |  |  | -50 | µA | VIN = 0.45V | 12 | | Logical 1 to 0 Transition Current (Ports 1, 3) | ITL |  |  | -750 | µA | VIN = 2V, VCC = 5V ± 10% | 12 |@@ -54,23 +61,23 @@ Limits as printed in the datasheet (page.json `metadata.characteristics` carries | Comparator Input Common Mode Voltage | VCM | 0 |  |  | V |  | 12 | | Reset Pull-down Resistor | RRST | 50 |  | 300 | kΩ |  | 12 | | Pin Capacitance | CIO |  |  | 10 | pF | Test Freq. = 1 MHz, TA = 25°C | 12 |-| Power Supply Current Active Mode | ICC |  |  | 15 | mA | Active Mode, 12 MHz, VCC = 6V | 12 |-| Power Supply Current Active Mode | ICC |  |  | 5.5 | mA | Active Mode, 12 MHz, VCC = 3V | 12 |-| Power Supply Current Idle Mode | ICC |  |  | 5 | mA | Idle Mode, 12 MHz, VCC = 6V; P1.0 & P1.1 = 0V or VCC | 12 |-| Power Supply Current Idle Mode | ICC |  |  | 1 | mA | Idle Mode, 12 MHz, VCC = 3V; P1.0 & P1.1 = 0V or VCC | 12 |-| Power Supply Current Power-down Mode | ICC |  |  | 100 | µA | VCC = 6V, P1.0 & P1.1 = 0V or VCC | 12 |-| Power Supply Current Power-down Mode | ICC |  |  | 20 | µA | VCC = 3V, P1.0 & P1.1 = 0V or VCC | 12 |+| Power Supply Current, Active Mode | ICC |  |  | 15 | mA | Active Mode, 12 MHz, VCC = 6V | 12 |+| Power Supply Current, Active Mode | ICC |  |  | 5.5 | mA | Active Mode, 12 MHz, VCC = 3V | 12 |+| Power Supply Current, Idle Mode | ICC |  |  | 5 | mA | Idle Mode, 12 MHz, VCC = 6V, P1.0 & P1.1 = 0V or VCC | 12 |+| Power Supply Current, Idle Mode | ICC |  |  | 1 | mA | Idle Mode, 12 MHz, VCC = 3V, P1.0 & P1.1 = 0V or VCC | 12 |+| Power Supply Current, Power-down Mode | ICC |  |  | 100 | µA | VCC = 6V, P1.0 & P1.1 = 0V or VCC | 12 |+| Power Supply Current, Power-down Mode | ICC |  |  | 20 | µA | VCC = 3V, P1.0 & P1.1 = 0V or VCC | 12 | | Oscillator Frequency | 1/tCLCL | 0 |  | 12 | MHz | VCC = 2.7V to 6.0V | 13 | | Clock Period | tCLCL | 83.3 |  |  | ns | VCC = 2.7V to 6.0V | 13 | | High Time | tCHCX | 30 |  |  | ns | VCC = 2.7V to 6.0V | 13 | | Low Time | tCLCX | 30 |  |  | ns | VCC = 2.7V to 6.0V | 13 | | Rise Time | tCLCH |  |  | 20 | ns | VCC = 2.7V to 6.0V | 13 | | Fall Time | tCHCL |  |  | 20 | ns | VCC = 2.7V to 6.0V | 13 |-| Serial Port Clock Cycle Time | tXLXL | 1 |  |  | µs | VCC = 5.0V ± 20%; Load Capacitance = 80 pF; 12 MHz Osc | 13 |-| Output Data Setup to Clock Rising Edge | tQVXH | 700 |  |  | ns | VCC = 5.0V ± 20%; Load Capacitance = 80 pF; 12 MHz Osc | 13 |-| Output Data Hold after Clock Rising Edge | tXHQX | 50 |  |  | ns | VCC = 5.0V ± 20%; Load Capacitance = 80 pF; 12 MHz Osc | 13 |-| Input Data Hold after Clock Rising Edge | tXHDX | 0 |  |  | ns | VCC = 5.0V ± 20%; Load Capacitance = 80 pF; 12 MHz Osc | 13 |-| Clock Rising Edge to Input Data Valid | tXHDV |  |  | 700 | ns | VCC = 5.0V ± 20%; Load Capacitance = 80 pF; 12 MHz Osc | 13 |+| Serial Port Clock Cycle Time | tXLXL | 1 |  |  | µs | 12 MHz Osc; VCC = 5.0V ± 20%; Load Capacitance = 80 pF | 13 |+| Output Data Setup to Clock Rising Edge | tQVXH | 700 |  |  | ns | 12 MHz Osc; VCC = 5.0V ± 20%; Load Capacitance = 80 pF | 13 |+| Output Data Hold after Clock Rising Edge | tXHQX | 50 |  |  | ns | 12 MHz Osc; VCC = 5.0V ± 20%; Load Capacitance = 80 pF | 13 |+| Input Data Hold after Clock Rising Edge | tXHDX | 0 |  |  | ns | 12 MHz Osc; VCC = 5.0V ± 20%; Load Capacitance = 80 pF | 13 |+| Clock Rising Edge to Input Data Valid | tXHDV |  |  | 700 | ns | 12 MHz Osc; VCC = 5.0V ± 20%; Load Capacitance = 80 pF | 13 | | Programming Enable Voltage | VPP | 11.5 |  | 12.5 | V | TA = 0°C to 70°C, VCC = 5.0 ± 10% | 11 | | Programming Enable Current | IPP |  |  | 250 | µA | TA = 0°C to 70°C, VCC = 5.0 ± 10% | 11 | | Data Setup to PROG Low | tDVGL | 1 |  |  | µs | TA = 0°C to 70°C, VCC = 5.0 ± 10% | 11 |@@ -85,14 +92,6 @@ Limits as printed in the datasheet (page.json `metadata.characteristics` carries | Byte Write Cycle Time | tWC |  |  | 2 | ms | TA = 0°C to 70°C, VCC = 5.0 ± 10% | 11 | | RDY/BSY to Increment Clock Delay | tBHIH | 1 |  |  | µs | TA = 0°C to 70°C, VCC = 5.0 ± 10% | 11 | | Increment Clock High | tIHIL | 200 |  |  | ns | TA = 0°C to 70°C, VCC = 5.0 ± 10% | 11 |-| Operating Temperature |  | -55 |  | 125 | °C |  | 12 |-| Storage Temperature |  | -65 |  | 150 | °C |  | 12 |-| Voltage on Any Pin with Respect to Ground |  | -1 |  | 7 | V |  | 12 |-| Maximum Operating Voltage |  |  |  | 6.6 | V |  | 12 |-| DC Output Current |  |  |  | 25 | mA |  | 12 |-| Supply Voltage | VCC | 2.7 |  | 6 | V | 12 MHz grade (AT89C2051-12SU), industrial range | 12 |-| Operating Temperature (Industrial) | TA | -40 |  | 85 | °C | Industrial (-40°C to 85°C) | 12 |-| Minimum VCC for Power-down |  | 2 |  |  | V | Note 2 of DC characteristics table | 12 |  ## CAD (KiCad official) @@ -105,7 +104,7 @@ Limits as printed in the datasheet (page.json `metadata.characteristics` carries  Data extracted from the manufacturer datasheet, not a distributor listing: -- **Datasheet:** [Microchip Tech datasheet](docs/at89c2051-12su-datasheet.pdf) (19 pp, sha256 `2ef3a172c794a432`, retrieved 2026-11-10, tier: manufacturer)+- **Datasheet:** [Microchip Tech datasheet](docs/at89c2051-12su-datasheet.pdf) (19 pp, sha256 `2ef3a172c794a432`, retrieved 2026-11-11, tier: manufacturer) - **Extractor:** parts-factory `2.0.0` / `extract_pins 0.3`, primary `claude-haiku-5-5` (text), consensus `claude-sonnet-5-5` (agreed), guards: pin_guards 0.1: passed. Pins are checked against the footprint pad set and their cited datasheet pages before publish. - **CAD:** KiCad official libraries (CC-BY-SA 4.0). 
at89c2051-12su-hero.overlay.json+524−522
@@ -1,524 +1,526 @@ {-  "spec": "adom-hero 1.4",-  "mpn": "AT89C2051-12SU",-  "kind": "component + footprint reference art",-  "board_use": false,-  "plane_z_mm": -0.02,-  "units": "metre",-  "upAxis": "Z",-  "layers": {-    "pad_outlines": {-      "material": "Footprint pads - teal dashed outlines - 50 percent opacity",-      "rgba": [-        0.0,-        0.902,-        0.863,-        0.5-      ],-      "pads": 20,-      "span_mm": 12.03,-      "dash_mm": 0.3008,-      "gap_mm": 0.1804,-      "pad_stroke_mm": 0.0722-    },-    "silkscreen": {-      "material": "Silkscreen reference lines - 30 percent opacity",-      "rgba": [-        0.92,-        0.96,-        1.0,-        0.3-      ],-      "footprint_items": 7,-      "pin1": {-        "source": "footprint silkscreen",-        "pad": "1"-      }-    },-    "signal_names": {-      "material": "Signal names - 50 percent opacity",-      "rgba": [-        0.92,-        0.96,-        1.0,-        0.5-      ],-      "font": "DejaVu Sans Mono",-      "labels": 20,-      "sides": "top + mirrored underside (single-sided)",-      "fallback_to_pad_number": 0-    }-  },-  "align": {-    "ok": true,-    "centre_offset_mm": 0.0,-    "tolerance_mm": 0.962,-    "orientation_flipped": false,-    "contacts_bbox_mm": [-      -5.15,-      5.15,-      -5.92,-      5.92-    ],-    "pads_bbox_mm": [-      -5.675,-      5.675,-      -6.015,-      6.015-    ],-    "seating_z_mm": -0.0-  },-  "sources": {-    "glb": "at89c2051-12su-etched.glb",-    "glb_sha256": "a175d205562010598cadaf8b79c6c2c4d6665e73464dcdb83bd5f422c22d1e5c",-    "footprint": "at89c2051-12su.kicad_mod",-    "footprint_sha256": "9783bc19f518a72442ddbfe6289e767a42c3d23358b65c3447b6a36bdd0e7dcf",-    "pins": "page.json component.pins",-    "pins_sha256": "4270cdcb02f19a761491eaf25c5bf85e586746adb474d77f76ff1fbf0deb82a3"-  },-  "generator": "adom-wiki 1.8.15 (component_hero)",-  "labels": [-    {-      "pad": "1",-      "text": "RST/VPP",-      "x": -5.825,-      "y": -5.715,-      "align": "right",-      "vertical": false,-      "h": 0.6-    },-    {-      "pad": "2",-      "text": "P3.0 (RXD)",-      "x": -5.825,-      "y": -4.445,-      "align": "right",-      "vertical": false,-      "h": 0.6-    },-    {-      "pad": "3",-      "text": "P3.1 (TXD)",-      "x": -5.825,-      "y": -3.175,-      "align": "right",-      "vertical": false,-      "h": 0.6-    },-    {-      "pad": "4",-      "text": "XTAL2",-      "x": -5.825,-      "y": -1.905,-      "align": "right",-      "vertical": false,-      "h": 0.6-    },-    {-      "pad": "5",-      "text": "XTAL1",-      "x": -5.825,-      "y": -0.635,-      "align": "right",-      "vertical": false,-      "h": 0.6-    },-    {-      "pad": "6",-      "text": "P3.2 (INT0)",-      "x": -5.825,-      "y": 0.635,-      "align": "right",-      "vertical": false,-      "h": 0.6-    },-    {-      "pad": "7",-      "text": "P3.3 (INT1)",-      "x": -5.825,-      "y": 1.905,-      "align": "right",-      "vertical": false,-      "h": 0.6-    },-    {-      "pad": "8",-      "text": "P3.4 (T0)",-      "x": -5.825,-      "y": 3.175,-      "align": "right",-      "vertical": false,-      "h": 0.6-    },-    {-      "pad": "9",-      "text": "P3.5 (T1)",-      "x": -5.825,-      "y": 4.445,-      "align": "right",-      "vertical": false,-      "h": 0.6-    },-    {-      "pad": "10",-      "text": "GND",-      "x": -5.825,-      "y": 5.715,-      "align": "right",-      "vertical": false,-      "h": 0.6-    },-    {-      "pad": "11",-      "text": "P3.7",-      "x": 5.825,-      "y": 5.715,-      "align": "left",-      "vertical": false,-      "h": 0.6-    },-    {-      "pad": "12",-      "text": "P1.0 (AIN0)",-      "x": 5.825,-      "y": 4.445,-      "align": "left",-      "vertical": false,-      "h": 0.6-    },-    {-      "pad": "13",-      "text": "P1.1 (AIN1)",-      "x": 5.825,-      "y": 3.175,-      "align": "left",-      "vertical": false,-      "h": 0.6-    },-    {-      "pad": "14",-      "text": "P1.2",-      "x": 5.825,-      "y": 1.905,-      "align": "left",-      "vertical": false,-      "h": 0.6-    },-    {-      "pad": "15",-      "text": "P1.3",-      "x": 5.825,-      "y": 0.635,-      "align": "left",-      "vertical": false,-      "h": 0.6-    },-    {-      "pad": "16",-      "text": "P1.4",-      "x": 5.825,-      "y": -0.635,-      "align": "left",-      "vertical": false,-      "h": 0.6-    },-    {-      "pad": "17",-      "text": "P1.5",-      "x": 5.825,-      "y": -1.905,-      "align": "left",-      "vertical": false,-      "h": 0.6-    },-    {-      "pad": "18",-      "text": "P1.6",-      "x": 5.825,-      "y": -3.175,-      "align": "left",-      "vertical": false,-      "h": 0.6-    },-    {-      "pad": "19",-      "text": "P1.7",-      "x": 5.825,-      "y": -4.445,-      "align": "left",-      "vertical": false,-      "h": 0.6-    },-    {-      "pad": "20",-      "text": "VCC",-      "x": 5.825,-      "y": -5.715,-      "align": "left",-      "vertical": false,-      "h": 0.6-    }+ "spec": "adom-hero 1.4",+ "mpn": "AT89C2051-12SU",+ "kind": "component + footprint reference art",+ "board_use": false,+ "plane_z_mm": -0.02,+ "units": "metre",+ "upAxis": "Z",+ "layers": {+  "pad_outlines": {+   "material": "Footprint pads - teal dashed outlines - 50 percent opacity",+   "rgba": [+    0.0,+    0.902,+    0.863,+    0.5+   ],+   "pads": 20,+   "span_mm": 12.03,+   "dash_mm": 0.3008,+   "gap_mm": 0.1804,+   "pad_stroke_mm": 0.0722+  },+  "silkscreen": {+   "material": "Silkscreen reference lines - 30 percent opacity",+   "rgba": [+    0.92,+    0.96,+    1.0,+    0.3+   ],+   "footprint_items": 7,+   "pin1": {+    "source": "footprint silkscreen",+    "pad": "1"+   }+  },+  "signal_names": {+   "material": "Signal names - 50 percent opacity",+   "rgba": [+    0.92,+    0.96,+    1.0,+    0.5+   ],+   "font": "DejaVu Sans Mono",+   "labels": 20,+   "sides": "top + mirrored underside (single-sided)",+   "omitted": null,+   "fallback_to_pad_number": 0+  }+ },+ "align": {+  "ok": true,+  "centre_offset_mm": 0.0,+  "over_pads": true,+  "tolerance_mm": 0.962,+  "orientation_flipped": false,+  "contacts_bbox_mm": [+   -5.15,+   5.15,+   -5.92,+   5.92+  ],+  "pads_bbox_mm": [+   -5.675,+   5.675,+   -6.015,+   6.015   ],-  "pads": [-    {-      "number": "1",-      "shape": "roundrect",-      "center_mm": [-        -4.65,-        -5.715-      ],-      "size_mm": [-        2.05,-        0.6-      ],-      "rot": 0.0-    },-    {-      "number": "2",-      "shape": "roundrect",-      "center_mm": [-        -4.65,-        -4.445-      ],-      "size_mm": [-        2.05,-        0.6-      ],-      "rot": 0.0-    },-    {-      "number": "3",-      "shape": "roundrect",-      "center_mm": [-        -4.65,-        -3.175-      ],-      "size_mm": [-        2.05,-        0.6-      ],-      "rot": 0.0-    },-    {-      "number": "4",-      "shape": "roundrect",-      "center_mm": [-        -4.65,-        -1.905-      ],-      "size_mm": [-        2.05,-        0.6-      ],-      "rot": 0.0-    },-    {-      "number": "5",-      "shape": "roundrect",-      "center_mm": [-        -4.65,-        -0.635-      ],-      "size_mm": [-        2.05,-        0.6-      ],-      "rot": 0.0-    },-    {-      "number": "6",-      "shape": "roundrect",-      "center_mm": [-        -4.65,-        0.635-      ],-      "size_mm": [-        2.05,-        0.6-      ],-      "rot": 0.0-    },-    {-      "number": "7",-      "shape": "roundrect",-      "center_mm": [-        -4.65,-        1.905-      ],-      "size_mm": [-        2.05,-        0.6-      ],-      "rot": 0.0-    },-    {-      "number": "8",-      "shape": "roundrect",-      "center_mm": [-        -4.65,-        3.175-      ],-      "size_mm": [-        2.05,-        0.6-      ],-      "rot": 0.0-    },-    {-      "number": "9",-      "shape": "roundrect",-      "center_mm": [-        -4.65,-        4.445-      ],-      "size_mm": [-        2.05,-        0.6-      ],-      "rot": 0.0-    },-    {-      "number": "10",-      "shape": "roundrect",-      "center_mm": [-        -4.65,-        5.715-      ],-      "size_mm": [-        2.05,-        0.6-      ],-      "rot": 0.0-    },-    {-      "number": "11",-      "shape": "roundrect",-      "center_mm": [-        4.65,-        5.715-      ],-      "size_mm": [-        2.05,-        0.6-      ],-      "rot": 0.0-    },-    {-      "number": "12",-      "shape": "roundrect",-      "center_mm": [-        4.65,-        4.445-      ],-      "size_mm": [-        2.05,-        0.6-      ],-      "rot": 0.0-    },-    {-      "number": "13",-      "shape": "roundrect",-      "center_mm": [-        4.65,-        3.175-      ],-      "size_mm": [-        2.05,-        0.6-      ],-      "rot": 0.0-    },-    {-      "number": "14",-      "shape": "roundrect",-      "center_mm": [-        4.65,-        1.905-      ],-      "size_mm": [-        2.05,-        0.6-      ],-      "rot": 0.0-    },-    {-      "number": "15",-      "shape": "roundrect",-      "center_mm": [-        4.65,-        0.635-      ],-      "size_mm": [-        2.05,-        0.6-      ],-      "rot": 0.0-    },-    {-      "number": "16",-      "shape": "roundrect",-      "center_mm": [-        4.65,-        -0.635-      ],-      "size_mm": [-        2.05,-        0.6-      ],-      "rot": 0.0-    },-    {-      "number": "17",-      "shape": "roundrect",-      "center_mm": [-        4.65,-        -1.905-      ],-      "size_mm": [-        2.05,-        0.6-      ],-      "rot": 0.0-    },-    {-      "number": "18",-      "shape": "roundrect",-      "center_mm": [-        4.65,-        -3.175-      ],-      "size_mm": [-        2.05,-        0.6-      ],-      "rot": 0.0-    },-    {-      "number": "19",-      "shape": "roundrect",-      "center_mm": [-        4.65,-        -4.445-      ],-      "size_mm": [-        2.05,-        0.6-      ],-      "rot": 0.0-    },-    {-      "number": "20",-      "shape": "roundrect",-      "center_mm": [-        4.65,-        -5.715-      ],-      "size_mm": [-        2.05,-        0.6-      ],-      "rot": 0.0-    }-  ]-}+  "seating_z_mm": -0.0+ },+ "sources": {+  "glb": "at89c2051-12su-etched.glb",+  "glb_sha256": "a175d205562010598cadaf8b79c6c2c4d6665e73464dcdb83bd5f422c22d1e5c",+  "footprint": "at89c2051-12su.kicad_mod",+  "footprint_sha256": "9783bc19f518a72442ddbfe6289e767a42c3d23358b65c3447b6a36bdd0e7dcf",+  "pins": "page.json component.pins",+  "pins_sha256": "4270cdcb02f19a761491eaf25c5bf85e586746adb474d77f76ff1fbf0deb82a3"+ },+ "generator": "factory/hero_glb.py",+ "labels": [+  {+   "pad": "1",+   "text": "RST/VPP",+   "x": -5.825,+   "y": -5.715,+   "align": "right",+   "vertical": false,+   "h": 0.6+  },+  {+   "pad": "2",+   "text": "P3.0 (RXD)",+   "x": -5.825,+   "y": -4.445,+   "align": "right",+   "vertical": false,+   "h": 0.6+  },+  {+   "pad": "3",+   "text": "P3.1 (TXD)",+   "x": -5.825,+   "y": -3.175,+   "align": "right",+   "vertical": false,+   "h": 0.6+  },+  {+   "pad": "4",+   "text": "XTAL2",+   "x": -5.825,+   "y": -1.905,+   "align": "right",+   "vertical": false,+   "h": 0.6+  },+  {+   "pad": "5",+   "text": "XTAL1",+   "x": -5.825,+   "y": -0.635,+   "align": "right",+   "vertical": false,+   "h": 0.6+  },+  {+   "pad": "6",+   "text": "P3.2 (INT0)",+   "x": -5.825,+   "y": 0.635,+   "align": "right",+   "vertical": false,+   "h": 0.6+  },+  {+   "pad": "7",+   "text": "P3.3 (INT1)",+   "x": -5.825,+   "y": 1.905,+   "align": "right",+   "vertical": false,+   "h": 0.6+  },+  {+   "pad": "8",+   "text": "P3.4 (T0)",+   "x": -5.825,+   "y": 3.175,+   "align": "right",+   "vertical": false,+   "h": 0.6+  },+  {+   "pad": "9",+   "text": "P3.5 (T1)",+   "x": -5.825,+   "y": 4.445,+   "align": "right",+   "vertical": false,+   "h": 0.6+  },+  {+   "pad": "10",+   "text": "GND",+   "x": -5.825,+   "y": 5.715,+   "align": "right",+   "vertical": false,+   "h": 0.6+  },+  {+   "pad": "11",+   "text": "P3.7",+   "x": 5.825,+   "y": 5.715,+   "align": "left",+   "vertical": false,+   "h": 0.6+  },+  {+   "pad": "12",+   "text": "P1.0 (AIN0)",+   "x": 5.825,+   "y": 4.445,+   "align": "left",+   "vertical": false,+   "h": 0.6+  },+  {+   "pad": "13",+   "text": "P1.1 (AIN1)",+   "x": 5.825,+   "y": 3.175,+   "align": "left",+   "vertical": false,+   "h": 0.6+  },+  {+   "pad": "14",+   "text": "P1.2",+   "x": 5.825,+   "y": 1.905,+   "align": "left",+   "vertical": false,+   "h": 0.6+  },+  {+   "pad": "15",+   "text": "P1.3",+   "x": 5.825,+   "y": 0.635,+   "align": "left",+   "vertical": false,+   "h": 0.6+  },+  {+   "pad": "16",+   "text": "P1.4",+   "x": 5.825,+   "y": -0.635,+   "align": "left",+   "vertical": false,+   "h": 0.6+  },+  {+   "pad": "17",+   "text": "P1.5",+   "x": 5.825,+   "y": -1.905,+   "align": "left",+   "vertical": false,+   "h": 0.6+  },+  {+   "pad": "18",+   "text": "P1.6",+   "x": 5.825,+   "y": -3.175,+   "align": "left",+   "vertical": false,+   "h": 0.6+  },+  {+   "pad": "19",+   "text": "P1.7",+   "x": 5.825,+   "y": -4.445,+   "align": "left",+   "vertical": false,+   "h": 0.6+  },+  {+   "pad": "20",+   "text": "VCC",+   "x": 5.825,+   "y": -5.715,+   "align": "left",+   "vertical": false,+   "h": 0.6+  }+ ],+ "pads": [+  {+   "number": "1",+   "shape": "roundrect",+   "center_mm": [+    -4.65,+    -5.715+   ],+   "size_mm": [+    2.05,+    0.6+   ],+   "rot": 0.0+  },+  {+   "number": "2",+   "shape": "roundrect",+   "center_mm": [+    -4.65,+    -4.445+   ],+   "size_mm": [+    2.05,+    0.6+   ],+   "rot": 0.0+  },+  {+   "number": "3",+   "shape": "roundrect",+   "center_mm": [+    -4.65,+    -3.175+   ],+   "size_mm": [+    2.05,+    0.6+   ],+   "rot": 0.0+  },+  {+   "number": "4",+   "shape": "roundrect",+   "center_mm": [+    -4.65,+    -1.905+   ],+   "size_mm": [+    2.05,+    0.6+   ],+   "rot": 0.0+  },+  {+   "number": "5",+   "shape": "roundrect",+   "center_mm": [+    -4.65,+    -0.635+   ],+   "size_mm": [+    2.05,+    0.6+   ],+   "rot": 0.0+  },+  {+   "number": "6",+   "shape": "roundrect",+   "center_mm": [+    -4.65,+    0.635+   ],+   "size_mm": [+    2.05,+    0.6+   ],+   "rot": 0.0+  },+  {+   "number": "7",+   "shape": "roundrect",+   "center_mm": [+    -4.65,+    1.905+   ],+   "size_mm": [+    2.05,+    0.6+   ],+   "rot": 0.0+  },+  {+   "number": "8",+   "shape": "roundrect",+   "center_mm": [+    -4.65,+    3.175+   ],+   "size_mm": [+    2.05,+    0.6+   ],+   "rot": 0.0+  },+  {+   "number": "9",+   "shape": "roundrect",+   "center_mm": [+    -4.65,+    4.445+   ],+   "size_mm": [+    2.05,+    0.6+   ],+   "rot": 0.0+  },+  {+   "number": "10",+   "shape": "roundrect",+   "center_mm": [+    -4.65,+    5.715+   ],+   "size_mm": [+    2.05,+    0.6+   ],+   "rot": 0.0+  },+  {+   "number": "11",+   "shape": "roundrect",+   "center_mm": [+    4.65,+    5.715+   ],+   "size_mm": [+    2.05,+    0.6+   ],+   "rot": 0.0+  },+  {+   "number": "12",+   "shape": "roundrect",+   "center_mm": [+    4.65,+    4.445+   ],+   "size_mm": [+    2.05,+    0.6+   ],+   "rot": 0.0+  },+  {+   "number": "13",+   "shape": "roundrect",+   "center_mm": [+    4.65,+    3.175+   ],+   "size_mm": [+    2.05,+    0.6+   ],+   "rot": 0.0+  },+  {+   "number": "14",+   "shape": "roundrect",+   "center_mm": [+    4.65,+    1.905+   ],+   "size_mm": [+    2.05,+    0.6+   ],+   "rot": 0.0+  },+  {+   "number": "15",+   "shape": "roundrect",+   "center_mm": [+    4.65,+    0.635+   ],+   "size_mm": [+    2.05,+    0.6+   ],+   "rot": 0.0+  },+  {+   "number": "16",+   "shape": "roundrect",+   "center_mm": [+    4.65,+    -0.635+   ],+   "size_mm": [+    2.05,+    0.6+   ],+   "rot": 0.0+  },+  {+   "number": "17",+   "shape": "roundrect",+   "center_mm": [+    4.65,+    -1.905+   ],+   "size_mm": [+    2.05,+    0.6+   ],+   "rot": 0.0+  },+  {+   "number": "18",+   "shape": "roundrect",+   "center_mm": [+    4.65,+    -3.175+   ],+   "size_mm": [+    2.05,+    0.6+   ],+   "rot": 0.0+  },+  {+   "number": "19",+   "shape": "roundrect",+   "center_mm": [+    4.65,+    -4.445+   ],+   "size_mm": [+    2.05,+    0.6+   ],+   "rot": 0.0+  },+  {+   "number": "20",+   "shape": "roundrect",+   "center_mm": [+    4.65,+    -5.715+   ],+   "size_mm": [+    2.05,+    0.6+   ],+   "rot": 0.0+  }+ ]+}\ No newline at end of file
at89c2051-12su.lbr+14−3
@@ -50,7 +50,7 @@ <layer number="98" name="Guide" color="6" fill="1" visible="yes" active="yes"/> </layers> <library>-<description></description>+<description>Microchip Tech Pre-ordered MCUs, SOIC-20-300mil. Pinout cross-checked by two models against the datasheet</description> <packages> <package name="SOIC-20W_7.5x12.8mm_P1.27mm">   <description>SOIC-20W, 7.5 x 12.8 mm, 1.27 mm pitch. SOIC, 20 Pin</description>@@ -98,6 +98,7 @@ </packages> <symbols> <symbol name="AT89C2051-12SU">+  <description>Microchip Tech Pre-ordered MCUs, SOIC-20-300mil. Pinout cross-checked by two models against the datasheet</description>   <wire x1="-12.7" y1="12.7" x2="12.7" y2="12.7" width="0.254" layer="94"/>   <wire x1="12.7" y1="12.7" x2="12.7" y2="-15.24" width="0.254" layer="94"/>   <wire x1="12.7" y1="-15.24" x2="-12.7" y2="-15.24" width="0.254" layer="94"/>@@ -128,7 +129,7 @@ </symbols> <devicesets> <deviceset name="AT89C2051-12SU" prefix="U">-  <description></description>+  <description>Microchip Tech Pre-ordered MCUs, SOIC-20-300mil. Pinout cross-checked by two models against the datasheet</description>   <gates>     <gate name="G$1" symbol="AT89C2051-12SU" x="0" y="0"/>   </gates>@@ -156,7 +157,17 @@         <connect gate="G$1" pin="P1.0_AIN0" pad="12"/>         <connect gate="G$1" pin="P3.7" pad="11"/>       </connects>-      <technologies><technology name=""/></technologies>+      <technologies>+        <technology name="">+          <attribute name="MPN" value="AT89C2051-12SU" constant="no"/>+          <attribute name="MANUFACTURER" value="Microchip Tech" constant="no"/>+          <attribute name="DATASHEET" value="https://datasheet.lcsc.com/datasheet/pdf/50457c73a99b43f9b2ed97c385bfb4d3.pdf" constant="no"/>+          <attribute name="ADOM_WIKI" value="https://wiki.adom.inc/adom/at89c2051-12su" constant="no"/>+          <attribute name="MOUSER_PN" value="556-A89C205112SU" constant="no"/>+          <attribute name="DIGIKEY_PN" value="AT89C2051-12SU-ND" constant="no"/>+          <attribute name="LCSC_PN" value="C614903" constant="no"/>+        </technology>+      </technologies>     </device>   </devices> </deviceset>
package.json+28−29
@@ -1,6 +1,6 @@ {   "slug": "at89c2051-12su",-  "version": "0.1.0",+  "version": "0.1.1",   "type": "component",   "description": "Microchip Tech Pre-ordered MCUs, SOIC-20-300mil. Pinout cross-checked by two models against the datasheet, KiCad symbol/footprint/3D.",   "tags": [@@ -54,12 +54,11 @@       "mouser": "556-A89C205112SU"     },     "distributor_check": {-      "checked_at": "2026-11-10T06:57:01Z",+      "checked_at": "2026-11-11T00:42:50Z",       "source": "Component Ocean /api/assign-pns",       "digikey": {         "pn": "AT89C2051-12SU-ND",-        "status": "found",-        "lifecycle": "Active"+        "status": "found"       },       "mouser": {         "pn": "556-A89C205112SU",@@ -71,55 +70,55 @@         "number": "1",         "name": "RST/VPP",         "type": "input",-        "description": "Reset input; holding RST high for two machine cycles while the oscillator is running resets the device, and RST is raised to 12V to enable programming."+        "description": "Reset input: all I/O pins go to 1s as soon as RST goes high, and holding it high for two machine cycles while the oscillator runs resets the device; it is raised to 12 V to enable Flash programming."       },       {         "number": "2",         "name": "P3.0 (RXD)",         "type": "bidirectional",-        "description": "Port 3 bi-directional I/O pin with internal pull-up, alternate function RXD (serial input port); its output buffer can sink 20 mA."+        "description": "Port 3 bidirectional I/O with internal pull-up, alternate function RXD serial input port; output buffers can sink 20 mA."       },       {         "number": "3",         "name": "P3.1 (TXD)",         "type": "bidirectional",-        "description": "Port 3 bi-directional I/O pin with internal pull-up, alternate function TXD (serial output port); its output buffer can sink 20 mA."+        "description": "Port 3 bidirectional I/O with internal pull-up, alternate function TXD serial output port; during programming it is pulled low while busy (RDY/BSY)."       },       {         "number": "4",         "name": "XTAL2",         "type": "output",-        "description": "Output from the inverting oscillator amplifier."+        "description": "Output from the inverting oscillator amplifier; left unconnected when XTAL1 is driven by an external clock."       },       {         "number": "5",         "name": "XTAL1",         "type": "input",-        "description": "Input to the inverting oscillator amplifier and input to the internal clock operating circuit."+        "description": "Input to the inverting oscillator amplifier and to the internal clock operating circuit."       },       {         "number": "6",         "name": "P3.2 (INT0)",         "type": "bidirectional",-        "description": "Port 3 bi-directional I/O pin with internal pull-up, alternate function INT0 (external interrupt 0); its output buffer can sink 20 mA."+        "description": "Port 3 bidirectional I/O with internal pull-up, alternate function external interrupt 0; pulsed to program a byte during Flash programming."       },       {         "number": "7",         "name": "P3.3 (INT1)",         "type": "bidirectional",-        "description": "Port 3 bi-directional I/O pin with internal pull-up, alternate function INT1 (external interrupt 1); its output buffer can sink 20 mA."+        "description": "Port 3 bidirectional I/O with internal pull-up, alternate function external interrupt 1."       },       {         "number": "8",         "name": "P3.4 (T0)",         "type": "bidirectional",-        "description": "Port 3 bi-directional I/O pin with internal pull-up, alternate function T0 (timer 0 external input); its output buffer can sink 20 mA."+        "description": "Port 3 bidirectional I/O with internal pull-up, alternate function timer 0 external input."       },       {         "number": "9",         "name": "P3.5 (T1)",         "type": "bidirectional",-        "description": "Port 3 bi-directional I/O pin with internal pull-up, alternate function T1 (timer 1 external input); its output buffer can sink 20 mA."+        "description": "Port 3 bidirectional I/O with internal pull-up, alternate function timer 1 external input; pulled low for signature byte reads."       },       {         "number": "10",@@ -131,61 +130,61 @@         "number": "11",         "name": "P3.7",         "type": "bidirectional",-        "description": "Port 3 bi-directional I/O pin with internal pull-up; its output buffer can sink 20 mA."+        "description": "Port 3 bidirectional I/O with internal pull-up; output buffers can sink 20 mA."       },       {         "number": "12",         "name": "P1.0 (AIN0)",         "type": "bidirectional",-        "description": "Port 1 bi-directional I/O pin that requires an external pull-up and serves as the positive input AIN0 of the on-chip analog comparator; its output buffer can sink 20 mA."+        "description": "Port 1 bidirectional I/O that requires an external pull-up; also the positive input (AIN0) of the on-chip analog comparator; output buffers can sink 20 mA and drive LEDs directly."       },       {         "number": "13",         "name": "P1.1 (AIN1)",         "type": "bidirectional",-        "description": "Port 1 bi-directional I/O pin that requires an external pull-up and serves as the negative input AIN1 of the on-chip analog comparator; its output buffer can sink 20 mA."+        "description": "Port 1 bidirectional I/O that requires an external pull-up; also the negative input (AIN1) of the on-chip analog comparator; output buffers can sink 20 mA."       },       {         "number": "14",         "name": "P1.2",         "type": "bidirectional",-        "description": "Port 1 bi-directional I/O pin with internal pull-up that can drive LED displays directly; its output buffer can sink 20 mA."+        "description": "Port 1 bidirectional I/O with internal pull-up; output buffers can sink 20 mA and drive LEDs directly."       },       {         "number": "15",         "name": "P1.3",         "type": "bidirectional",-        "description": "Port 1 bi-directional I/O pin with internal pull-up that can drive LED displays directly; its output buffer can sink 20 mA."+        "description": "Port 1 bidirectional I/O with internal pull-up; output buffers can sink 20 mA and drive LEDs directly."       },       {         "number": "16",         "name": "P1.4",         "type": "bidirectional",-        "description": "Port 1 bi-directional I/O pin with internal pull-up that can drive LED displays directly; its output buffer can sink 20 mA."+        "description": "Port 1 bidirectional I/O with internal pull-up; output buffers can sink 20 mA and drive LEDs directly."       },       {         "number": "17",         "name": "P1.5",         "type": "bidirectional",-        "description": "Port 1 bi-directional I/O pin with internal pull-up that can drive LED displays directly; its output buffer can sink 20 mA."+        "description": "Port 1 bidirectional I/O with internal pull-up; output buffers can sink 20 mA and drive LEDs directly."       },       {         "number": "18",         "name": "P1.6",         "type": "bidirectional",-        "description": "Port 1 bi-directional I/O pin with internal pull-up that can drive LED displays directly; its output buffer can sink 20 mA."+        "description": "Port 1 bidirectional I/O with internal pull-up; output buffers can sink 20 mA and drive LEDs directly."       },       {         "number": "19",         "name": "P1.7",         "type": "bidirectional",-        "description": "Port 1 bi-directional I/O pin with internal pull-up that can drive LED displays directly; its output buffer can sink 20 mA."+        "description": "Port 1 bidirectional I/O with internal pull-up; output buffers can sink 20 mA and drive LEDs directly."       },       {         "number": "20",         "name": "VCC",         "type": "power_in",-        "description": "Supply voltage."+        "description": "Supply voltage, operating range 2.7 V to 6.0 V."       }     ],     "provenance": {@@ -199,11 +198,11 @@         "consensus": "agreed",         "guards": "pin_guards 0.1: passed",         "guard_notes": [-          "extractor flagged: The 20S SOIC drawing on page 18 has no text, so the pin-number-to-name mapping was taken from the pa"+          "extractor flagged: The datasheet gives one pin figure for 20-lead PDIP/SOIC (section 2.1) with no per-package drawing. ; Pin 9 and pin 8 alternate-function labels are printed as '(TO)' in the pin figure; the pin descripti; Port 3 pin P3.6 is not bonded out (internal comparator output) and is not listed in the pin figure, "         ],         "pages_sent": 19,-        "cost_usd": 0.0742,-        "at": "2026-11-10T06:56:49"+        "cost_usd": 0.0794,+        "at": "2026-11-11T00:42:38"       },       "datasheet": {         "url": "https://datasheet.lcsc.com/datasheet/pdf/50457c73a99b43f9b2ed97c385bfb4d3.pdf",@@ -240,7 +239,7 @@         "centre_offset_mm": 0.0,         "footprint_binding": "identity",         "sha256": "59a10b341e6972b31d81802a048060326da627d8b92dcf4263064f4f62ec808e",-        "checked": "2026-11-10",+        "checked": "2026-11-11",         "checked_by": "factory/step_pose.py (Z-up, origin, seat, binding)"       },       {@@ -258,8 +257,8 @@         "zmin_mm": -0.0,         "centre_offset_mm": 0.0,         "footprint_binding": "identity",-        "sha256": "0735dfabaac3a6f3215dd66141388abecd73570166958ae9c7ce91eba44d135a",-        "checked": "2026-11-10",+        "sha256": "a4faba116928292826578c68a7a3ca72e2fa4a99a9fa0ed7a70dbc97475b8e91",+        "checked": "2026-11-11",         "checked_by": "factory/step_pose.py (Z-up, origin, seat, binding)"       }     ]
page.json+31−30
@@ -4,7 +4,7 @@   "slug": "at89c2051-12su",   "title": "AT89C2051-12SU",   "brief": "Microchip Tech Pre-ordered MCUs, SOIC-20-300mil. Pinout cross-checked by two models against the datasheet, KiCad symbol/footprint/3D.",-  "version": "0.1.0",+  "version": "0.1.1",   "license": "CC-BY-SA-4.0",   "tags": [     "component",@@ -36,12 +36,11 @@       "mouser": "556-A89C205112SU"     },     "distributor_check": {-      "checked_at": "2026-11-10T06:57:01Z",+      "checked_at": "2026-11-11T00:42:50Z",       "source": "Component Ocean /api/assign-pns",       "digikey": {         "pn": "AT89C2051-12SU-ND",-        "status": "found",-        "lifecycle": "Active"+        "status": "found"       },       "mouser": {         "pn": "556-A89C205112SU",@@ -53,55 +52,55 @@         "number": "1",         "name": "RST/VPP",         "type": "input",-        "description": "Reset input; holding RST high for two machine cycles while the oscillator is running resets the device, and RST is raised to 12V to enable programming."+        "description": "Reset input: all I/O pins go to 1s as soon as RST goes high, and holding it high for two machine cycles while the oscillator runs resets the device; it is raised to 12 V to enable Flash programming."       },       {         "number": "2",         "name": "P3.0 (RXD)",         "type": "bidirectional",-        "description": "Port 3 bi-directional I/O pin with internal pull-up, alternate function RXD (serial input port); its output buffer can sink 20 mA."+        "description": "Port 3 bidirectional I/O with internal pull-up, alternate function RXD serial input port; output buffers can sink 20 mA."       },       {         "number": "3",         "name": "P3.1 (TXD)",         "type": "bidirectional",-        "description": "Port 3 bi-directional I/O pin with internal pull-up, alternate function TXD (serial output port); its output buffer can sink 20 mA."+        "description": "Port 3 bidirectional I/O with internal pull-up, alternate function TXD serial output port; during programming it is pulled low while busy (RDY/BSY)."       },       {         "number": "4",         "name": "XTAL2",         "type": "output",-        "description": "Output from the inverting oscillator amplifier."+        "description": "Output from the inverting oscillator amplifier; left unconnected when XTAL1 is driven by an external clock."       },       {         "number": "5",         "name": "XTAL1",         "type": "input",-        "description": "Input to the inverting oscillator amplifier and input to the internal clock operating circuit."+        "description": "Input to the inverting oscillator amplifier and to the internal clock operating circuit."       },       {         "number": "6",         "name": "P3.2 (INT0)",         "type": "bidirectional",-        "description": "Port 3 bi-directional I/O pin with internal pull-up, alternate function INT0 (external interrupt 0); its output buffer can sink 20 mA."+        "description": "Port 3 bidirectional I/O with internal pull-up, alternate function external interrupt 0; pulsed to program a byte during Flash programming."       },       {         "number": "7",         "name": "P3.3 (INT1)",         "type": "bidirectional",-        "description": "Port 3 bi-directional I/O pin with internal pull-up, alternate function INT1 (external interrupt 1); its output buffer can sink 20 mA."+        "description": "Port 3 bidirectional I/O with internal pull-up, alternate function external interrupt 1."       },       {         "number": "8",         "name": "P3.4 (T0)",         "type": "bidirectional",-        "description": "Port 3 bi-directional I/O pin with internal pull-up, alternate function T0 (timer 0 external input); its output buffer can sink 20 mA."+        "description": "Port 3 bidirectional I/O with internal pull-up, alternate function timer 0 external input."       },       {         "number": "9",         "name": "P3.5 (T1)",         "type": "bidirectional",-        "description": "Port 3 bi-directional I/O pin with internal pull-up, alternate function T1 (timer 1 external input); its output buffer can sink 20 mA."+        "description": "Port 3 bidirectional I/O with internal pull-up, alternate function timer 1 external input; pulled low for signature byte reads."       },       {         "number": "10",@@ -113,61 +112,61 @@         "number": "11",         "name": "P3.7",         "type": "bidirectional",-        "description": "Port 3 bi-directional I/O pin with internal pull-up; its output buffer can sink 20 mA."+        "description": "Port 3 bidirectional I/O with internal pull-up; output buffers can sink 20 mA."       },       {         "number": "12",         "name": "P1.0 (AIN0)",         "type": "bidirectional",-        "description": "Port 1 bi-directional I/O pin that requires an external pull-up and serves as the positive input AIN0 of the on-chip analog comparator; its output buffer can sink 20 mA."+        "description": "Port 1 bidirectional I/O that requires an external pull-up; also the positive input (AIN0) of the on-chip analog comparator; output buffers can sink 20 mA and drive LEDs directly."       },       {         "number": "13",         "name": "P1.1 (AIN1)",         "type": "bidirectional",-        "description": "Port 1 bi-directional I/O pin that requires an external pull-up and serves as the negative input AIN1 of the on-chip analog comparator; its output buffer can sink 20 mA."+        "description": "Port 1 bidirectional I/O that requires an external pull-up; also the negative input (AIN1) of the on-chip analog comparator; output buffers can sink 20 mA."       },       {         "number": "14",         "name": "P1.2",         "type": "bidirectional",-        "description": "Port 1 bi-directional I/O pin with internal pull-up that can drive LED displays directly; its output buffer can sink 20 mA."+        "description": "Port 1 bidirectional I/O with internal pull-up; output buffers can sink 20 mA and drive LEDs directly."       },       {         "number": "15",         "name": "P1.3",         "type": "bidirectional",-        "description": "Port 1 bi-directional I/O pin with internal pull-up that can drive LED displays directly; its output buffer can sink 20 mA."+        "description": "Port 1 bidirectional I/O with internal pull-up; output buffers can sink 20 mA and drive LEDs directly."       },       {         "number": "16",         "name": "P1.4",         "type": "bidirectional",-        "description": "Port 1 bi-directional I/O pin with internal pull-up that can drive LED displays directly; its output buffer can sink 20 mA."+        "description": "Port 1 bidirectional I/O with internal pull-up; output buffers can sink 20 mA and drive LEDs directly."       },       {         "number": "17",         "name": "P1.5",         "type": "bidirectional",-        "description": "Port 1 bi-directional I/O pin with internal pull-up that can drive LED displays directly; its output buffer can sink 20 mA."+        "description": "Port 1 bidirectional I/O with internal pull-up; output buffers can sink 20 mA and drive LEDs directly."       },       {         "number": "18",         "name": "P1.6",         "type": "bidirectional",-        "description": "Port 1 bi-directional I/O pin with internal pull-up that can drive LED displays directly; its output buffer can sink 20 mA."+        "description": "Port 1 bidirectional I/O with internal pull-up; output buffers can sink 20 mA and drive LEDs directly."       },       {         "number": "19",         "name": "P1.7",         "type": "bidirectional",-        "description": "Port 1 bi-directional I/O pin with internal pull-up that can drive LED displays directly; its output buffer can sink 20 mA."+        "description": "Port 1 bidirectional I/O with internal pull-up; output buffers can sink 20 mA and drive LEDs directly."       },       {         "number": "20",         "name": "VCC",         "type": "power_in",-        "description": "Supply voltage."+        "description": "Supply voltage, operating range 2.7 V to 6.0 V."       }     ],     "provenance": {@@ -181,11 +180,11 @@         "consensus": "agreed",         "guards": "pin_guards 0.1: passed",         "guard_notes": [-          "extractor flagged: The 20S SOIC drawing on page 18 has no text, so the pin-number-to-name mapping was taken from the pa"+          "extractor flagged: The datasheet gives one pin figure for 20-lead PDIP/SOIC (section 2.1) with no per-package drawing. ; Pin 9 and pin 8 alternate-function labels are printed as '(TO)' in the pin figure; the pin descripti; Port 3 pin P3.6 is not bonded out (internal comparator output) and is not listed in the pin figure, "         ],         "pages_sent": 19,-        "cost_usd": 0.0742,-        "at": "2026-11-10T06:56:49"+        "cost_usd": 0.0794,+        "at": "2026-11-11T00:42:38"       },       "datasheet": {         "url": "https://datasheet.lcsc.com/datasheet/pdf/50457c73a99b43f9b2ed97c385bfb4d3.pdf",@@ -222,7 +221,7 @@         "centre_offset_mm": 0,         "footprint_binding": "identity",         "sha256": "59a10b341e6972b31d81802a048060326da627d8b92dcf4263064f4f62ec808e",-        "checked": "2026-11-10",+        "checked": "2026-11-11",         "checked_by": "factory/step_pose.py (Z-up, origin, seat, binding)"       },       {@@ -240,8 +239,8 @@         "zmin_mm": 0,         "centre_offset_mm": 0,         "footprint_binding": "identity",-        "sha256": "0735dfabaac3a6f3215dd66141388abecd73570166958ae9c7ce91eba44d135a",-        "checked": "2026-11-10",+        "sha256": "a4faba116928292826578c68a7a3ca72e2fa4a99a9fa0ed7a70dbc97475b8e91",+        "checked": "2026-11-11",         "checked_by": "factory/step_pose.py (Z-up, origin, seat, binding)"       }     ]@@ -888,5 +887,7 @@   ],   "visibility": {     "public": true-  }+  },+  "description": "Microchip Tech Pre-ordered MCUs, SOIC-20-300mil. Pinout cross-checked by two models against the datasheet, KiCad symbol/footprint/3D.",+  "org": "adom" }\ No newline at end of file