← Commit history
README.md+48−50
@@ -8,26 +8,26 @@ AT89C4051-12SU from Microchip Tech, in a SOIC-20-300mil. Pinout and pin descript  | Pin | Name | Type | Function | |---|---|---|---|-| 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 12V (VPP) to enable Flash programming. |-| 2 | P3.0 (RXD) | bidirectional | Port 3 bidirectional I/O pin with internal pullup, whose alternate function is serial port input RXD; Port 3 output buffers can sink 20 mA. |-| 3 | P3.1 (TXD) | bidirectional | Port 3 bidirectional I/O pin with internal pullup, whose alternate function is serial port output TXD; during programming it is pulled low while busy (RDY/BSY). |-| 4 | XTAL2 | output | Output from the inverting oscillator amplifier, which is left unconnected when the device is driven from an external clock source. |-| 5 | XTAL1 | input | Input to the inverting oscillator amplifier and to the internal clock operating circuit; it is the drive pin when an external clock is used. |-| 6 | P3.2 (INT0) | bidirectional | Port 3 bidirectional I/O pin with internal pullup, whose alternate function is external interrupt 0 (INT0); it is also pulsed to program a byte during Flash programming. |-| 7 | P3.3 (INT1) | bidirectional | Port 3 bidirectional I/O pin with internal pullup, whose alternate function is external interrupt 1 (INT1); it is also a mode-select control during Flash programming. |-| 8 | P3.4 (T0) | bidirectional | Port 3 bidirectional I/O pin with internal pullup, whose alternate function is timer 0 external input (T0); it is also a mode-select control during Flash programming. |-| 9 | P3.5 (T1) | bidirectional | Port 3 bidirectional I/O pin with internal pullup, whose alternate function is timer 1 external input (T1); it must be pulled low to read the signature bytes. |+| 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 Flash programming. |+| 2 | P3.0 | bidirectional | Bi-directional I/O pin with internal pullup; alternate function is RXD, the serial input port. |+| 3 | P3.1 | bidirectional | Bi-directional I/O pin with internal pullup; alternate function is TXD, the serial output port, and it serves as RDY/BSY output during programming. |+| 4 | XTAL2 | output | Output from the inverting oscillator amplifier; left unconnected when the device is driven from an external clock. |+| 5 | XTAL1 | input | Input to the inverting oscillator amplifier and to the internal clock operating circuit. |+| 6 | P3.2 | bidirectional | Bi-directional I/O pin with internal pullup; alternate function is INT0, external interrupt 0. |+| 7 | P3.3 | bidirectional | Bi-directional I/O pin with internal pullup; alternate function is INT1, external interrupt 1. |+| 8 | P3.4 | bidirectional | Bi-directional I/O pin with internal pullup; alternate function is T0, the timer 0 external input. |+| 9 | P3.5 | bidirectional | Bi-directional I/O pin with internal pullup; alternate function is T1, the timer 1 external input. | | 10 | GND | power_in | Ground reference for the device. |-| 11 | P3.7 | bidirectional | Port 3 bidirectional I/O pin with internal pullup; it also receives a control signal during Flash programming and verification. |-| 12 | P1.0 (AIN0) | bidirectional | Port 1 bidirectional I/O pin that requires an external pullup and doubles 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 bidirectional I/O pin that requires an external pullup and doubles as the negative input (AIN1) of the on-chip analog comparator; its output buffer can sink 20 mA. |-| 14 | P1.2 | bidirectional | Port 1 bidirectional I/O pin with internal pullup; its output buffer can sink 20 mA and drive LED displays directly. |-| 15 | P1.3 | bidirectional | Port 1 bidirectional I/O pin with internal pullup; its output buffer can sink 20 mA and drive LED displays directly. |-| 16 | P1.4 | bidirectional | Port 1 bidirectional I/O pin with internal pullup; its output buffer can sink 20 mA and drive LED displays directly. |-| 17 | P1.5 | bidirectional | Port 1 bidirectional I/O pin with internal pullup; its output buffer can sink 20 mA and drive LED displays directly. |-| 18 | P1.6 | bidirectional | Port 1 bidirectional I/O pin with internal pullup; its output buffer can sink 20 mA and drive LED displays directly. |-| 19 | P1.7 | bidirectional | Port 1 bidirectional I/O pin with internal pullup; its output buffer can sink 20 mA and drive LED displays directly. |-| 20 | VCC | power_in | Supply voltage; the device operates from 2.7V to 6.0V. |+| 11 | P3.7 | bidirectional | Bi-directional I/O pin with internal pullup; it also receives control signals for Flash programming and verification. |+| 12 | P1.0 (AIN0) | bidirectional | Port 1 bi-directional I/O pin without internal pullup, requiring an external pullup; it is the positive input (AIN0) of the on-chip analog comparator. |+| 13 | P1.1 (AIN1) | bidirectional | Port 1 bi-directional I/O pin without internal pullup, requiring an external pullup; it is the negative input (AIN1) of the on-chip analog comparator. |+| 14 | P1.2 | bidirectional | Port 1 bi-directional I/O pin with internal pullup; Port 1 output buffers can sink 20 mA and drive LED displays directly. |+| 15 | P1.3 | bidirectional | Port 1 bi-directional I/O pin with internal pullup; Port 1 output buffers can sink 20 mA and drive LED displays directly. |+| 16 | P1.4 | bidirectional | Port 1 bi-directional I/O pin with internal pullup; Port 1 output buffers can sink 20 mA and drive LED displays directly. |+| 17 | P1.5 | bidirectional | Port 1 bi-directional I/O pin with internal pullup; Port 1 output buffers can sink 20 mA and drive LED displays directly. |+| 18 | P1.6 | bidirectional | Port 1 bi-directional I/O pin with internal pullup; Port 1 output buffers can sink 20 mA and drive LED displays directly. |+| 19 | P1.7 | bidirectional | Port 1 bi-directional I/O pin with internal pullup; Port 1 output buffers can sink 20 mA and drive LED displays directly. |+| 20 | VCC | power_in | Supply voltage, specified from 2.7V to 6.0V for operation. |  ## Key specifications @@ -44,14 +44,19 @@ Limits as printed in the datasheet (page.json `metadata.characteristics` carries  | Parameter | Symbol | Min | Typ | Max | Unit | Conditions | Page | |---|---|---|---|---|---|---|---|-| Supply voltage VCC (-12 speed grade, Industrial) | VCC | 2.7 |  | 6 | V |  | 12 |-| Operating temperature (industrial) | TA | -40 |  | 85 | °C |  | 12 |-| Minimum VCC for Power-down | VCC | 2 |  |  | V | Power-down mode (footnote 2) | 12 | | 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 |+| 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 |+| Power Supply Voltage | VCC | 2.7 |  | 6 | V | 12 MHz speed grade (AT89C4051-12SU) | 16 |+| Operating Temperature (Industrial) | TA | -40 |  | 85 | °C | Industrial range | 16 |+| 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 | | Input Low-voltage | VIL | -0.5 |  |  | V |  | 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 |@@ -68,32 +73,25 @@ Limits as printed in the datasheet (page.json `metadata.characteristics` carries | 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 |  |  | 20 | µA | VCC = 6V, P1.0 & P1.1 = 0V or VCC | 12 | | Power Supply Current, Power-down Mode | ICC |  |  | 5 | µ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 (12 MHz osc) | tXLXL | 1 |  |  | µs | VCC = 5.0V ± 20%; Load Capacitance = 80 pF | 14 |-| Output Data Setup to Clock Rising Edge (12 MHz osc) | tQVXH | 700 |  |  | ns | VCC = 5.0V ± 20%; Load Capacitance = 80 pF | 14 |-| Output Data Hold after Clock Rising Edge (12 MHz osc) | tXHQX | 50 |  |  | ns | VCC = 5.0V ± 20%; Load Capacitance = 80 pF | 14 |-| Input Data Hold after Clock Rising Edge (12 MHz osc) | tXHDX | 0 |  |  | ns | VCC = 5.0V ± 20%; Load Capacitance = 80 pF | 14 |-| Clock Rising Edge to Input Data Valid (12 MHz osc) | tXHDV | 700 |  |  | ns | VCC = 5.0V ± 20%; Load Capacitance = 80 pF | 14 |-| Programming Enable Voltage | VPP | 11.5 |  | 12.5 | V |  | 11 |-| Programming Enable Current | IPP |  |  | 250 | µA |  | 11 |-| Data Setup to PROG Low | tDVGL | 1 |  |  | µs |  | 11 |-| Data Hold after PROG | tGHDX | 1 |  |  | µs |  | 11 |-| P3.4 (ENABLE) High to VPP | tEHSH | 1 |  |  | µs |  | 11 |-| VPP Setup to PROG Low | tSHGL | 10 |  |  | µs |  | 11 |-| VPP Hold after PROG | tGHSL | 10 |  |  | µs |  | 11 |-| PROG Width | tGLGH | 1 |  | 110 | µs |  | 11 |-| ENABLE Low to Data Valid | tELQV |  |  | 1 | µs |  | 11 |-| Data Float after ENABLE | tEHQZ | 0 |  | 1 | µs |  | 11 |-| PROG High to BUSY Low | tGHBL |  |  | 50 | ns |  | 11 |-| Byte Write Cycle Time | tWC |  |  | 2 | ms |  | 11 |-| RDY/BSY to Increment Clock Delay | tBHIH | 1 |  |  | µs |  | 11 |-| Increment Clock High | tIHIL | 200 |  |  | ns |  | 11 |-| Brown-out detection threshold tolerance (nominal 2.1V) |  | -10 |  | 10 | % | Nominal brown-out detection threshold 2.1V ± 10% | 7 |+| Serial Port Clock Cycle Time | tXLXL | 1 |  |  | µs | VCC = 5.0V ± 20%; Load Capacitance = 80 pF; 12 MHz Osc | 14 |+| Output Data Setup to Clock Rising Edge | tQVXH | 700 |  |  | ns | VCC = 5.0V ± 20%; Load Capacitance = 80 pF; 12 MHz Osc | 14 |+| Output Data Hold after Clock Rising Edge | tXHQX | 50 |  |  | ns | VCC = 5.0V ± 20%; Load Capacitance = 80 pF; 12 MHz Osc | 14 |+| Input Data Hold after Clock Rising Edge | tXHDX | 0 |  |  | ns | VCC = 5.0V ± 20%; Load Capacitance = 80 pF; 12 MHz Osc | 14 |+| Clock Rising Edge to Input Data Valid | tXHDV |  |  | 700 | ns | VCC = 5.0V ± 20%; Load Capacitance = 80 pF; 12 MHz Osc | 14 |+| Programming Enable Voltage | VPP | 11.5 |  | 12.5 | V | TA = 20°C to 30°C, VCC = 5.0 ± 10% | 11 |+| Programming Enable Current | IPP |  |  | 250 | µA | TA = 20°C to 30°C, VCC = 5.0 ± 10% | 11 |+| Data Setup to PROG Low | tDVGL | 1 |  |  | µs | TA = 20°C to 30°C, VCC = 5.0 ± 10% | 11 |+| Data Hold after PROG | tGHDX | 1 |  |  | µs | TA = 20°C to 30°C, VCC = 5.0 ± 10% | 11 |+| P3.4 (ENABLE) High to VPP | tEHSH | 1 |  |  | µs | TA = 20°C to 30°C, VCC = 5.0 ± 10% | 11 |+| VPP Setup to PROG Low | tSHGL | 10 |  |  | µs | TA = 20°C to 30°C, VCC = 5.0 ± 10% | 11 |+| VPP Hold after PROG | tGHSL | 10 |  |  | µs | TA = 20°C to 30°C, VCC = 5.0 ± 10% | 11 |+| PROG Width | tGLGH | 1 |  | 110 | µs | TA = 20°C to 30°C, VCC = 5.0 ± 10% | 11 |+| ENABLE Low to Data Valid | tELQV |  |  | 1 | µs | TA = 20°C to 30°C, VCC = 5.0 ± 10% | 11 |+| Data Float after ENABLE | tEHQZ | 0 |  | 1 | µs | TA = 20°C to 30°C, VCC = 5.0 ± 10% | 11 |+| PROG High to BUSY Low | tGHBL |  |  | 50 | ns | TA = 20°C to 30°C, VCC = 5.0 ± 10% | 11 |+| Byte Write Cycle Time | tWC |  |  | 2 | ms | TA = 20°C to 30°C, VCC = 5.0 ± 10% | 11 |+| RDY/BSY to Increment Clock Delay | tBHIH | 1 |  |  | µs | TA = 20°C to 30°C, VCC = 5.0 ± 10% | 11 |+| Increment Clock High | tIHIL | 200 |  |  | ns | TA = 20°C to 30°C, VCC = 5.0 ± 10% | 11 |  ## CAD (KiCad official) @@ -106,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/at89c4051-12su-datasheet.pdf) (19 pp, sha256 `7dd0a76556785ab0`, retrieved 2026-11-10, tier: manufacturer)+- **Datasheet:** [Microchip Tech datasheet](docs/at89c4051-12su-datasheet.pdf) (19 pp, sha256 `7dd0a76556785ab0`, 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). 
at89c4051-12su-hero.glb
⋯ 1 unchanged line ⋯
at89c4051-12su-hero.overlay.json+8−8
@@ -74,9 +74,9 @@     "footprint": "at89c4051-12su.kicad_mod",     "footprint_sha256": "9783bc19f518a72442ddbfe6289e767a42c3d23358b65c3447b6a36bdd0e7dcf",     "pins": "page.json component.pins",-    "pins_sha256": "4270cdcb02f19a761491eaf25c5bf85e586746adb474d77f76ff1fbf0deb82a3"+    "pins_sha256": "e50c9230608573df59348ed417c4f6a7555032cc69052ba29fc185df9a98fa75"   },-  "generator": "adom-wiki 1.8.15 (component_hero)",+  "generator": "adom-wiki 1.8.18 (component_hero)",   "labels": [     {       "pad": "1",@@ -89,7 +89,7 @@     },     {       "pad": "2",-      "text": "P3.0 (RXD)",+      "text": "P3.0",       "x": -5.825,       "y": -4.445,       "align": "right",@@ -98,7 +98,7 @@     },     {       "pad": "3",-      "text": "P3.1 (TXD)",+      "text": "P3.1",       "x": -5.825,       "y": -3.175,       "align": "right",@@ -125,7 +125,7 @@     },     {       "pad": "6",-      "text": "P3.2 (INT0)",+      "text": "P3.2",       "x": -5.825,       "y": 0.635,       "align": "right",@@ -134,7 +134,7 @@     },     {       "pad": "7",-      "text": "P3.3 (INT1)",+      "text": "P3.3",       "x": -5.825,       "y": 1.905,       "align": "right",@@ -143,7 +143,7 @@     },     {       "pad": "8",-      "text": "P3.4 (T0)",+      "text": "P3.4",       "x": -5.825,       "y": 3.175,       "align": "right",@@ -152,7 +152,7 @@     },     {       "pad": "9",-      "text": "P3.5 (T1)",+      "text": "P3.5",       "x": -5.825,       "y": 4.445,       "align": "right",
at89c4051-12su.kicad_sym+6−6
@@ -13,11 +13,11 @@       (number "1" (effects (font (size 1.27 1.27))))     )     (pin bidirectional line (at -17.78 7.62 0) (length 5.08)-      (name "P3.0 (RXD)" (effects (font (size 1.27 1.27))))+      (name "P3.0" (effects (font (size 1.27 1.27))))       (number "2" (effects (font (size 1.27 1.27))))     )     (pin bidirectional line (at -17.78 5.08 0) (length 5.08)-      (name "P3.1 (TXD)" (effects (font (size 1.27 1.27))))+      (name "P3.1" (effects (font (size 1.27 1.27))))       (number "3" (effects (font (size 1.27 1.27))))     )     (pin output line (at -17.78 2.54 0) (length 5.08)@@ -29,19 +29,19 @@       (number "5" (effects (font (size 1.27 1.27))))     )     (pin bidirectional line (at -17.78 -2.54 0) (length 5.08)-      (name "P3.2 (INT0)" (effects (font (size 1.27 1.27))))+      (name "P3.2" (effects (font (size 1.27 1.27))))       (number "6" (effects (font (size 1.27 1.27))))     )     (pin bidirectional line (at -17.78 -5.08 0) (length 5.08)-      (name "P3.3 (INT1)" (effects (font (size 1.27 1.27))))+      (name "P3.3" (effects (font (size 1.27 1.27))))       (number "7" (effects (font (size 1.27 1.27))))     )     (pin bidirectional line (at -17.78 -7.62 0) (length 5.08)-      (name "P3.4 (T0)" (effects (font (size 1.27 1.27))))+      (name "P3.4" (effects (font (size 1.27 1.27))))       (number "8" (effects (font (size 1.27 1.27))))     )     (pin bidirectional line (at -17.78 -10.16 0) (length 5.08)-      (name "P3.5 (T1)" (effects (font (size 1.27 1.27))))+      (name "P3.5" (effects (font (size 1.27 1.27))))       (number "9" (effects (font (size 1.27 1.27))))     )     (pin power_in line (at -17.78 -12.70 0) (length 5.08)
at89c4051-12su.lbr+26−15
@@ -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="AT89C4051-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"/>@@ -105,14 +106,14 @@   <text x="0.0000" y="15.2400" size="1.27" layer="95" align="center">&gt;NAME</text>   <text x="0.0000" y="-17.7800" size="1.27" layer="96" align="center">&gt;VALUE</text>   <pin name="RST/VPP" x="-17.78" y="10.16" length="middle" direction="in"/>-  <pin name="P3.0_RXD" x="-17.78" y="7.62" length="middle" direction="io"/>-  <pin name="P3.1_TXD" x="-17.78" y="5.08" length="middle" direction="io"/>+  <pin name="P3.0" x="-17.78" y="7.62" length="middle" direction="io"/>+  <pin name="P3.1" x="-17.78" y="5.08" length="middle" direction="io"/>   <pin name="XTAL2" x="-17.78" y="2.54" length="middle" direction="out"/>   <pin name="XTAL1" x="-17.78" y="0" length="middle" direction="in"/>-  <pin name="P3.2_INT0" x="-17.78" y="-2.54" length="middle" direction="io"/>-  <pin name="P3.3_INT1" x="-17.78" y="-5.08" length="middle" direction="io"/>-  <pin name="P3.4_T0" x="-17.78" y="-7.62" length="middle" direction="io"/>-  <pin name="P3.5_T1" x="-17.78" y="-10.16" length="middle" direction="io"/>+  <pin name="P3.2" x="-17.78" y="-2.54" length="middle" direction="io"/>+  <pin name="P3.3" x="-17.78" y="-5.08" length="middle" direction="io"/>+  <pin name="P3.4" x="-17.78" y="-7.62" length="middle" direction="io"/>+  <pin name="P3.5" x="-17.78" y="-10.16" length="middle" direction="io"/>   <pin name="GND" x="-17.78" y="-12.7" length="middle" direction="pwr"/>   <pin name="VCC" x="17.78" y="10.16" length="middle" direction="pwr" rot="R180"/>   <pin name="P1.7" x="17.78" y="7.62" length="middle" direction="io" rot="R180"/>@@ -128,7 +129,7 @@ </symbols> <devicesets> <deviceset name="AT89C4051-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="AT89C4051-12SU" x="0" y="0"/>   </gates>@@ -136,14 +137,14 @@     <device name="" package="SOIC-20W_7.5x12.8mm_P1.27mm">       <connects>         <connect gate="G$1" pin="RST/VPP" pad="1"/>-        <connect gate="G$1" pin="P3.0_RXD" pad="2"/>-        <connect gate="G$1" pin="P3.1_TXD" pad="3"/>+        <connect gate="G$1" pin="P3.0" pad="2"/>+        <connect gate="G$1" pin="P3.1" pad="3"/>         <connect gate="G$1" pin="XTAL2" pad="4"/>         <connect gate="G$1" pin="XTAL1" pad="5"/>-        <connect gate="G$1" pin="P3.2_INT0" pad="6"/>-        <connect gate="G$1" pin="P3.3_INT1" pad="7"/>-        <connect gate="G$1" pin="P3.4_T0" pad="8"/>-        <connect gate="G$1" pin="P3.5_T1" pad="9"/>+        <connect gate="G$1" pin="P3.2" pad="6"/>+        <connect gate="G$1" pin="P3.3" pad="7"/>+        <connect gate="G$1" pin="P3.4" pad="8"/>+        <connect gate="G$1" pin="P3.5" pad="9"/>         <connect gate="G$1" pin="GND" pad="10"/>         <connect gate="G$1" pin="VCC" pad="20"/>         <connect gate="G$1" pin="P1.7" pad="19"/>@@ -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="AT89C4051-12SU" constant="no"/>+          <attribute name="MANUFACTURER" value="Microchip Tech" constant="no"/>+          <attribute name="DATASHEET" value="https://datasheet.lcsc.com/datasheet/pdf/32518bbd29f048caa64e52b063a36c82.pdf" constant="no"/>+          <attribute name="ADOM_WIKI" value="https://wiki.adom.inc/adom/at89c4051-12su" constant="no"/>+          <attribute name="MOUSER_PN" value="556-A89C405112SU" constant="no"/>+          <attribute name="DIGIKEY_PN" value="AT89C4051-12SU-ND" constant="no"/>+          <attribute name="LCSC_PN" value="C1340460" constant="no"/>+        </technology>+      </technologies>     </device>   </devices> </deviceset>
package.json+34−35
@@ -1,6 +1,6 @@ {   "slug": "at89c4051-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-A89C405112SU"     },     "distributor_check": {-      "checked_at": "2026-11-10T07:03:00Z",+      "checked_at": "2026-11-11T02:20:05Z",       "source": "Component Ocean /api/assign-pns",       "digikey": {         "pn": "AT89C4051-12SU-ND",-        "status": "found",-        "lifecycle": "Active"+        "status": "found"       },       "mouser": {         "pn": "556-A89C405112SU",@@ -71,55 +70,55 @@         "number": "1",         "name": "RST/VPP",         "type": "input",-        "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 12V (VPP) to enable Flash programming."+        "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 Flash programming."       },       {         "number": "2",-        "name": "P3.0 (RXD)",+        "name": "P3.0",         "type": "bidirectional",-        "description": "Port 3 bidirectional I/O pin with internal pullup, whose alternate function is serial port input RXD; Port 3 output buffers can sink 20 mA."+        "description": "Bi-directional I/O pin with internal pullup; alternate function is RXD, the serial input port."       },       {         "number": "3",-        "name": "P3.1 (TXD)",+        "name": "P3.1",         "type": "bidirectional",-        "description": "Port 3 bidirectional I/O pin with internal pullup, whose alternate function is serial port output TXD; during programming it is pulled low while busy (RDY/BSY)."+        "description": "Bi-directional I/O pin with internal pullup; alternate function is TXD, the serial output port, and it serves as RDY/BSY output during programming."       },       {         "number": "4",         "name": "XTAL2",         "type": "output",-        "description": "Output from the inverting oscillator amplifier, which is left unconnected when the device is driven from an external clock source."+        "description": "Output from the inverting oscillator amplifier; left unconnected when the device is driven from an external clock."       },       {         "number": "5",         "name": "XTAL1",         "type": "input",-        "description": "Input to the inverting oscillator amplifier and to the internal clock operating circuit; it is the drive pin when an external clock is used."+        "description": "Input to the inverting oscillator amplifier and to the internal clock operating circuit."       },       {         "number": "6",-        "name": "P3.2 (INT0)",+        "name": "P3.2",         "type": "bidirectional",-        "description": "Port 3 bidirectional I/O pin with internal pullup, whose alternate function is external interrupt 0 (INT0); it is also pulsed to program a byte during Flash programming."+        "description": "Bi-directional I/O pin with internal pullup; alternate function is INT0, external interrupt 0."       },       {         "number": "7",-        "name": "P3.3 (INT1)",+        "name": "P3.3",         "type": "bidirectional",-        "description": "Port 3 bidirectional I/O pin with internal pullup, whose alternate function is external interrupt 1 (INT1); it is also a mode-select control during Flash programming."+        "description": "Bi-directional I/O pin with internal pullup; alternate function is INT1, external interrupt 1."       },       {         "number": "8",-        "name": "P3.4 (T0)",+        "name": "P3.4",         "type": "bidirectional",-        "description": "Port 3 bidirectional I/O pin with internal pullup, whose alternate function is timer 0 external input (T0); it is also a mode-select control during Flash programming."+        "description": "Bi-directional I/O pin with internal pullup; alternate function is T0, the timer 0 external input."       },       {         "number": "9",-        "name": "P3.5 (T1)",+        "name": "P3.5",         "type": "bidirectional",-        "description": "Port 3 bidirectional I/O pin with internal pullup, whose alternate function is timer 1 external input (T1); it must be pulled low to read the signature bytes."+        "description": "Bi-directional I/O pin with internal pullup; alternate function is T1, the timer 1 external input."       },       {         "number": "10",@@ -131,61 +130,61 @@         "number": "11",         "name": "P3.7",         "type": "bidirectional",-        "description": "Port 3 bidirectional I/O pin with internal pullup; it also receives a control signal during Flash programming and verification."+        "description": "Bi-directional I/O pin with internal pullup; it also receives control signals for Flash programming and verification."       },       {         "number": "12",         "name": "P1.0 (AIN0)",         "type": "bidirectional",-        "description": "Port 1 bidirectional I/O pin that requires an external pullup and doubles as the positive input (AIN0) of the on-chip analog comparator; its output buffer can sink 20 mA."+        "description": "Port 1 bi-directional I/O pin without internal pullup, requiring an external pullup; it is the positive input (AIN0) of the on-chip analog comparator."       },       {         "number": "13",         "name": "P1.1 (AIN1)",         "type": "bidirectional",-        "description": "Port 1 bidirectional I/O pin that requires an external pullup and doubles as the negative input (AIN1) of the on-chip analog comparator; its output buffer can sink 20 mA."+        "description": "Port 1 bi-directional I/O pin without internal pullup, requiring an external pullup; it is the negative input (AIN1) of the on-chip analog comparator."       },       {         "number": "14",         "name": "P1.2",         "type": "bidirectional",-        "description": "Port 1 bidirectional I/O pin with internal pullup; its output buffer can sink 20 mA and drive LED displays directly."+        "description": "Port 1 bi-directional I/O pin with internal pullup; Port 1 output buffers can sink 20 mA and drive LED displays directly."       },       {         "number": "15",         "name": "P1.3",         "type": "bidirectional",-        "description": "Port 1 bidirectional I/O pin with internal pullup; its output buffer can sink 20 mA and drive LED displays directly."+        "description": "Port 1 bi-directional I/O pin with internal pullup; Port 1 output buffers can sink 20 mA and drive LED displays directly."       },       {         "number": "16",         "name": "P1.4",         "type": "bidirectional",-        "description": "Port 1 bidirectional I/O pin with internal pullup; its output buffer can sink 20 mA and drive LED displays directly."+        "description": "Port 1 bi-directional I/O pin with internal pullup; Port 1 output buffers can sink 20 mA and drive LED displays directly."       },       {         "number": "17",         "name": "P1.5",         "type": "bidirectional",-        "description": "Port 1 bidirectional I/O pin with internal pullup; its output buffer can sink 20 mA and drive LED displays directly."+        "description": "Port 1 bi-directional I/O pin with internal pullup; Port 1 output buffers can sink 20 mA and drive LED displays directly."       },       {         "number": "18",         "name": "P1.6",         "type": "bidirectional",-        "description": "Port 1 bidirectional I/O pin with internal pullup; its output buffer can sink 20 mA and drive LED displays directly."+        "description": "Port 1 bi-directional I/O pin with internal pullup; Port 1 output buffers can sink 20 mA and drive LED displays directly."       },       {         "number": "19",         "name": "P1.7",         "type": "bidirectional",-        "description": "Port 1 bidirectional I/O pin with internal pullup; its output buffer can sink 20 mA and drive LED displays directly."+        "description": "Port 1 bi-directional I/O pin with internal pullup; Port 1 output buffers can sink 20 mA and drive LED displays directly."       },       {         "number": "20",         "name": "VCC",         "type": "power_in",-        "description": "Supply voltage; the device operates from 2.7V to 6.0V."+        "description": "Supply voltage, specified from 2.7V to 6.0V for operation."       }     ],     "provenance": {@@ -199,11 +198,11 @@         "consensus": "agreed",         "guards": "pin_guards 0.1: passed",         "guard_notes": [-          "extractor flagged: Pin numbers were assigned from the page 2 pin-configuration text, where the diagram labels were extr; Programming-mode and signature-byte control roles for P3.5 and P3.7 come from the programming sectio; P3.6 is not a pin on the package. The datasheet states it is hard-wired to the comparator output and"+          "extractor flagged: Pin numbers were assigned from the PDIP/SOIC pin-configuration figure on page 2, whose text extracti; P3.6 is not a pin on this package. The datasheet states it is internally wired to the comparator out; Port 1 pins P1.0 and P1.1 need external pullups when used as outputs. The datasheet's idle and power"         ],         "pages_sent": 19,-        "cost_usd": 0.0793,-        "at": "2026-11-10T07:02:48"+        "cost_usd": 0.0808,+        "at": "2026-11-11T02:19:45"       },       "datasheet": {         "url": "https://datasheet.lcsc.com/datasheet/pdf/32518bbd29f048caa64e52b063a36c82.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": "3a856a62e6627c3908c40a4529e0e1307a615704504b0828e864b4da88e4ac8d",-        "checked": "2026-11-10",+        "sha256": "0f0d93ff53151324e4d9728bb2dbd187fa813aab9a5d903a7ab59ce7dc6ef5a0",+        "checked": "2026-11-11",         "checked_by": "factory/step_pose.py (Z-up, origin, seat, binding)"       }     ]
page.json+37−36
@@ -4,7 +4,7 @@   "slug": "at89c4051-12su",   "title": "AT89C4051-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-A89C405112SU"     },     "distributor_check": {-      "checked_at": "2026-11-10T07:03:00Z",+      "checked_at": "2026-11-11T02:20:05Z",       "source": "Component Ocean /api/assign-pns",       "digikey": {         "pn": "AT89C4051-12SU-ND",-        "status": "found",-        "lifecycle": "Active"+        "status": "found"       },       "mouser": {         "pn": "556-A89C405112SU",@@ -53,55 +52,55 @@         "number": "1",         "name": "RST/VPP",         "type": "input",-        "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 12V (VPP) to enable Flash programming."+        "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 Flash programming."       },       {         "number": "2",-        "name": "P3.0 (RXD)",+        "name": "P3.0",         "type": "bidirectional",-        "description": "Port 3 bidirectional I/O pin with internal pullup, whose alternate function is serial port input RXD; Port 3 output buffers can sink 20 mA."+        "description": "Bi-directional I/O pin with internal pullup; alternate function is RXD, the serial input port."       },       {         "number": "3",-        "name": "P3.1 (TXD)",+        "name": "P3.1",         "type": "bidirectional",-        "description": "Port 3 bidirectional I/O pin with internal pullup, whose alternate function is serial port output TXD; during programming it is pulled low while busy (RDY/BSY)."+        "description": "Bi-directional I/O pin with internal pullup; alternate function is TXD, the serial output port, and it serves as RDY/BSY output during programming."       },       {         "number": "4",         "name": "XTAL2",         "type": "output",-        "description": "Output from the inverting oscillator amplifier, which is left unconnected when the device is driven from an external clock source."+        "description": "Output from the inverting oscillator amplifier; left unconnected when the device is driven from an external clock."       },       {         "number": "5",         "name": "XTAL1",         "type": "input",-        "description": "Input to the inverting oscillator amplifier and to the internal clock operating circuit; it is the drive pin when an external clock is used."+        "description": "Input to the inverting oscillator amplifier and to the internal clock operating circuit."       },       {         "number": "6",-        "name": "P3.2 (INT0)",+        "name": "P3.2",         "type": "bidirectional",-        "description": "Port 3 bidirectional I/O pin with internal pullup, whose alternate function is external interrupt 0 (INT0); it is also pulsed to program a byte during Flash programming."+        "description": "Bi-directional I/O pin with internal pullup; alternate function is INT0, external interrupt 0."       },       {         "number": "7",-        "name": "P3.3 (INT1)",+        "name": "P3.3",         "type": "bidirectional",-        "description": "Port 3 bidirectional I/O pin with internal pullup, whose alternate function is external interrupt 1 (INT1); it is also a mode-select control during Flash programming."+        "description": "Bi-directional I/O pin with internal pullup; alternate function is INT1, external interrupt 1."       },       {         "number": "8",-        "name": "P3.4 (T0)",+        "name": "P3.4",         "type": "bidirectional",-        "description": "Port 3 bidirectional I/O pin with internal pullup, whose alternate function is timer 0 external input (T0); it is also a mode-select control during Flash programming."+        "description": "Bi-directional I/O pin with internal pullup; alternate function is T0, the timer 0 external input."       },       {         "number": "9",-        "name": "P3.5 (T1)",+        "name": "P3.5",         "type": "bidirectional",-        "description": "Port 3 bidirectional I/O pin with internal pullup, whose alternate function is timer 1 external input (T1); it must be pulled low to read the signature bytes."+        "description": "Bi-directional I/O pin with internal pullup; alternate function is T1, the timer 1 external input."       },       {         "number": "10",@@ -113,61 +112,61 @@         "number": "11",         "name": "P3.7",         "type": "bidirectional",-        "description": "Port 3 bidirectional I/O pin with internal pullup; it also receives a control signal during Flash programming and verification."+        "description": "Bi-directional I/O pin with internal pullup; it also receives control signals for Flash programming and verification."       },       {         "number": "12",         "name": "P1.0 (AIN0)",         "type": "bidirectional",-        "description": "Port 1 bidirectional I/O pin that requires an external pullup and doubles as the positive input (AIN0) of the on-chip analog comparator; its output buffer can sink 20 mA."+        "description": "Port 1 bi-directional I/O pin without internal pullup, requiring an external pullup; it is the positive input (AIN0) of the on-chip analog comparator."       },       {         "number": "13",         "name": "P1.1 (AIN1)",         "type": "bidirectional",-        "description": "Port 1 bidirectional I/O pin that requires an external pullup and doubles as the negative input (AIN1) of the on-chip analog comparator; its output buffer can sink 20 mA."+        "description": "Port 1 bi-directional I/O pin without internal pullup, requiring an external pullup; it is the negative input (AIN1) of the on-chip analog comparator."       },       {         "number": "14",         "name": "P1.2",         "type": "bidirectional",-        "description": "Port 1 bidirectional I/O pin with internal pullup; its output buffer can sink 20 mA and drive LED displays directly."+        "description": "Port 1 bi-directional I/O pin with internal pullup; Port 1 output buffers can sink 20 mA and drive LED displays directly."       },       {         "number": "15",         "name": "P1.3",         "type": "bidirectional",-        "description": "Port 1 bidirectional I/O pin with internal pullup; its output buffer can sink 20 mA and drive LED displays directly."+        "description": "Port 1 bi-directional I/O pin with internal pullup; Port 1 output buffers can sink 20 mA and drive LED displays directly."       },       {         "number": "16",         "name": "P1.4",         "type": "bidirectional",-        "description": "Port 1 bidirectional I/O pin with internal pullup; its output buffer can sink 20 mA and drive LED displays directly."+        "description": "Port 1 bi-directional I/O pin with internal pullup; Port 1 output buffers can sink 20 mA and drive LED displays directly."       },       {         "number": "17",         "name": "P1.5",         "type": "bidirectional",-        "description": "Port 1 bidirectional I/O pin with internal pullup; its output buffer can sink 20 mA and drive LED displays directly."+        "description": "Port 1 bi-directional I/O pin with internal pullup; Port 1 output buffers can sink 20 mA and drive LED displays directly."       },       {         "number": "18",         "name": "P1.6",         "type": "bidirectional",-        "description": "Port 1 bidirectional I/O pin with internal pullup; its output buffer can sink 20 mA and drive LED displays directly."+        "description": "Port 1 bi-directional I/O pin with internal pullup; Port 1 output buffers can sink 20 mA and drive LED displays directly."       },       {         "number": "19",         "name": "P1.7",         "type": "bidirectional",-        "description": "Port 1 bidirectional I/O pin with internal pullup; its output buffer can sink 20 mA and drive LED displays directly."+        "description": "Port 1 bi-directional I/O pin with internal pullup; Port 1 output buffers can sink 20 mA and drive LED displays directly."       },       {         "number": "20",         "name": "VCC",         "type": "power_in",-        "description": "Supply voltage; the device operates from 2.7V to 6.0V."+        "description": "Supply voltage, specified from 2.7V to 6.0V for operation."       }     ],     "provenance": {@@ -181,11 +180,11 @@         "consensus": "agreed",         "guards": "pin_guards 0.1: passed",         "guard_notes": [-          "extractor flagged: Pin numbers were assigned from the page 2 pin-configuration text, where the diagram labels were extr; Programming-mode and signature-byte control roles for P3.5 and P3.7 come from the programming sectio; P3.6 is not a pin on the package. The datasheet states it is hard-wired to the comparator output and"+          "extractor flagged: Pin numbers were assigned from the PDIP/SOIC pin-configuration figure on page 2, whose text extracti; P3.6 is not a pin on this package. The datasheet states it is internally wired to the comparator out; Port 1 pins P1.0 and P1.1 need external pullups when used as outputs. The datasheet's idle and power"         ],         "pages_sent": 19,-        "cost_usd": 0.0793,-        "at": "2026-11-10T07:02:48"+        "cost_usd": 0.0808,+        "at": "2026-11-11T02:19:45"       },       "datasheet": {         "url": "https://datasheet.lcsc.com/datasheet/pdf/32518bbd29f048caa64e52b063a36c82.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": "3a856a62e6627c3908c40a4529e0e1307a615704504b0828e864b4da88e4ac8d",-        "checked": "2026-11-10",+        "sha256": "0f0d93ff53151324e4d9728bb2dbd187fa813aab9a5d903a7ab59ce7dc6ef5a0",+        "checked": "2026-11-11",         "checked_by": "factory/step_pose.py (Z-up, origin, seat, binding)"       }     ]@@ -900,5 +899,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