← Commit history

symbol: the part is a 5-lead SOT-23 - the shipped footprint has 5 pads and the datasheet confirms it for this ordering suffix - but the symbol carried the 8-pin SOIC pinout. (The extraction numbered WP as pin 6 on a 5-lead package; it is pin 5, as on every sibling 24Cxx whose pins 1-4 match exactly.) Pinout taken from this part's datasheet for its own ordering suffix. The library failed validate because the symbol declared pins the footprint has no pad for (connect-pad-unresolved), which also blocked its orderable attributes. Rebuilds the .lbr, re-derives pin 1 and pads.json.

Ray ·6791f4b11a ·2mo ago ·parent b05e78f
4 files changed +82−106
ad24c02.kicad_sym+12−24
@@ -1,45 +1,33 @@ (kicad_symbol_lib (version 20211014) (generator ds2sf_rect)   (symbol "AD24C02" (in_bom yes) (on_board yes)     (property "Reference" "U" (at 0 7.62 0) (effects (font (size 1.27 1.27))))-    (property "Value" "AD24C02" (at 0 -10.16 0) (effects (font (size 1.27 1.27))))+    (property "Value" "AD24C02" (at 0 -7.62 0) (effects (font (size 1.27 1.27))))     (property "Footprint" "" (at 0 0 0) (effects (font (size 1.27 1.27)) hide))     (symbol "AD24C02_0_1"-    (rectangle (start -12.70 5.08) (end 12.70 -7.62)+    (rectangle (start -12.70 5.08) (end 12.70 -5.08)       (stroke (width 0.254) (type default)) (fill (type background)))     )     (symbol "AD24C02_1_1"     (pin input line (at -17.78 2.54 0) (length 5.08)-      (name "A0" (effects (font (size 1.27 1.27))))+      (name "SCL" (effects (font (size 1.27 1.27))))       (number "1" (effects (font (size 1.27 1.27))))     )-    (pin input line (at -17.78 0.00 0) (length 5.08)-      (name "A1" (effects (font (size 1.27 1.27))))+    (pin power_in line (at -17.78 0.00 0) (length 5.08)+      (name "GND" (effects (font (size 1.27 1.27))))       (number "2" (effects (font (size 1.27 1.27))))     )-    (pin input line (at -17.78 -2.54 0) (length 5.08)-      (name "A2" (effects (font (size 1.27 1.27))))+    (pin bidirectional line (at -17.78 -2.54 0) (length 5.08)+      (name "SDA" (effects (font (size 1.27 1.27))))       (number "3" (effects (font (size 1.27 1.27))))     )-    (pin power_in line (at -17.78 -5.08 0) (length 5.08)-      (name "GND" (effects (font (size 1.27 1.27))))-      (number "4" (effects (font (size 1.27 1.27))))-    )-    (pin power_in line (at 17.78 2.54 180) (length 5.08)-      (name "VCC" (effects (font (size 1.27 1.27))))-      (number "8" (effects (font (size 1.27 1.27))))-    )-    (pin input line (at 17.78 0.00 180) (length 5.08)+    (pin input line (at 17.78 2.54 180) (length 5.08)       (name "WP" (effects (font (size 1.27 1.27))))-      (number "7" (effects (font (size 1.27 1.27))))-    )-    (pin input line (at 17.78 -2.54 180) (length 5.08)-      (name "SCL" (effects (font (size 1.27 1.27))))-      (number "6" (effects (font (size 1.27 1.27))))-    )-    (pin bidirectional line (at 17.78 -5.08 180) (length 5.08)-      (name "SDA" (effects (font (size 1.27 1.27))))       (number "5" (effects (font (size 1.27 1.27))))     )+    (pin power_in line (at 17.78 0.00 180) (length 5.08)+      (name "VCC" (effects (font (size 1.27 1.27))))+      (number "4" (effects (font (size 1.27 1.27))))+    )     )   ) )
ad24c02.lbr+33−21
@@ -59,6 +59,18 @@   <smd name="3" x="-1.1375" y="-0.9500" dx="1.3250" dy="0.6000" layer="1"/>   <smd name="4" x="1.1375" y="-0.9500" dx="1.3250" dy="0.6000" layer="1"/>   <smd name="5" x="1.1375" y="0.9500" dx="1.3250" dy="0.6000" layer="1"/>+  <polygon width="0.1200" layer="21">+    <vertex x="-1.4500" y="1.5100"/>+    <vertex x="-1.6900" y="1.8400"/>+    <vertex x="-1.2100" y="1.8400"/>+  </polygon>+  <polygon width="0.1000" layer="51">+    <vertex x="-0.4000" y="1.4500"/>+    <vertex x="0.8000" y="1.4500"/>+    <vertex x="0.8000" y="-1.4500"/>+    <vertex x="-0.8000" y="-1.4500"/>+    <vertex x="-0.8000" y="1.0500"/>+  </polygon>   <wire x1="-0.9100" y1="1.5600" x2="0.9100" y2="1.5600" width="0.1200" layer="21"/>   <wire x1="-0.9100" y1="1.5100" x2="-0.9100" y2="1.5600" width="0.1200" layer="21"/>   <wire x1="-0.9100" y1="-1.5600" x2="-0.9100" y2="-1.5100" width="0.1200" layer="21"/>@@ -73,19 +85,16 @@ <symbols> <symbol name="AD24C02">   <wire x1="-12.7" y1="5.08" x2="12.7" y2="5.08" width="0.254" layer="94"/>-  <wire x1="12.7" y1="5.08" x2="12.7" y2="-7.62" width="0.254" layer="94"/>-  <wire x1="12.7" y1="-7.62" x2="-12.7" y2="-7.62" width="0.254" layer="94"/>-  <wire x1="-12.7" y1="-7.62" x2="-12.7" y2="5.08" width="0.254" layer="94"/>+  <wire x1="12.7" y1="5.08" x2="12.7" y2="-5.08" width="0.254" layer="94"/>+  <wire x1="12.7" y1="-5.08" x2="-12.7" y2="-5.08" width="0.254" layer="94"/>+  <wire x1="-12.7" y1="-5.08" x2="-12.7" y2="5.08" width="0.254" layer="94"/>   <text x="0" y="7.62" size="1.27" layer="95" align="bottom-center">&gt;NAME</text>-  <text x="0" y="-10.16" size="1.27" layer="96" align="top-center">&gt;VALUE</text>-  <pin name="A0" x="-17.78" y="2.54" length="middle" direction="in"/>-  <pin name="A1" x="-17.78" y="0" length="middle" direction="in"/>-  <pin name="A2" x="-17.78" y="-2.54" length="middle" direction="in"/>-  <pin name="GND" x="-17.78" y="-5.08" length="middle" direction="pwr"/>-  <pin name="VCC" x="17.78" y="2.54" length="middle" direction="pwr" rot="R180"/>-  <pin name="WP" x="17.78" y="0" length="middle" direction="in" rot="R180"/>-  <pin name="SCL" x="17.78" y="-2.54" length="middle" direction="in" rot="R180"/>-  <pin name="SDA" x="17.78" y="-5.08" length="middle" direction="io" rot="R180"/>+  <text x="0" y="-7.62" size="1.27" layer="96" align="top-center">&gt;VALUE</text>+  <pin name="SCL" x="-17.78" y="2.54" length="middle" direction="in"/>+  <pin name="GND" x="-17.78" y="0" length="middle" direction="pwr"/>+  <pin name="SDA" x="-17.78" y="-2.54" length="middle" direction="io"/>+  <pin name="WP" x="17.78" y="2.54" length="middle" direction="in" rot="R180"/>+  <pin name="VCC" x="17.78" y="0" length="middle" direction="pwr" rot="R180"/> </symbol> </symbols> <devicesets>@@ -97,16 +106,19 @@   <devices>     <device name="" package="AD24C02">       <connects>-        <connect gate="G$1" pin="A0" pad="1"/>-        <connect gate="G$1" pin="A1" pad="2"/>-        <connect gate="G$1" pin="A2" pad="3"/>-        <connect gate="G$1" pin="GND" pad="4"/>-        <connect gate="G$1" pin="VCC" pad="8"/>-        <connect gate="G$1" pin="WP" pad="7"/>-        <connect gate="G$1" pin="SCL" pad="6"/>-        <connect gate="G$1" pin="SDA" pad="5"/>+        <connect gate="G$1" pin="SCL" pad="1"/>+        <connect gate="G$1" pin="GND" pad="2"/>+        <connect gate="G$1" pin="SDA" pad="3"/>+        <connect gate="G$1" pin="WP" pad="5"/>+        <connect gate="G$1" pin="VCC" pad="4"/>       </connects>-      <technologies><technology name=""/></technologies>+      <technologies>+        <technology name="">+          <attribute name="MPN" value="AD24C02" constant="no"/>+          <attribute name="MANUFACTURER" value="IDCHIP" constant="no"/>+          <attribute name="LCSC_PN" value="C5125083" constant="no"/>+        </technology>+      </technologies>     </device>   </devices> </deviceset>
pads.json+21−30
@@ -18,24 +18,15 @@   "derived_from": "SOT-23-5@sha256:455a3f7c3e5eb5b8"  },  "pad_count": 5,- "paste_apertures": 0,- "issues": [-  {-   "kind": "pin-has-no-pad",-   "pin": "6",-   "detail": "page.json declares pin \"6\" but the footprint has no such pad"-  },-  {-   "kind": "pin-has-no-pad",-   "pin": "7",-   "detail": "page.json declares pin \"7\" but the footprint has no such pad"-  },-  {-   "kind": "pin-has-no-pad",-   "pin": "8",-   "detail": "page.json declares pin \"8\" but the footprint has no such pad"-  }+ "symbol_pins": [+  "1",+  "2",+  "3",+  "4",+  "5"  ],+ "paste_apertures": 0,+ "issues": [],  "pads": [   {    "pad": "1",@@ -57,9 +48,9 @@    ],    "thermal": false,    "pin": "1",-   "name": "A0",+   "name": "SCL",    "type": "input",-   "description": "Device address input bit 0. Tied high or low to set bit1 of the 7-bit I2C slave address (device address high nibble is fixed 1010, followed by A2/A1/A0). Allows up to 8 AD24C02 devices on the same I2C bus.",+   "description": "Serial clock input for the two-wire (I2C) interface. Requires an external pull-up resistor (typ. 10 kΩ) to VCC. Clock frequency up to 400 kHz at 1.8 V and 1 MHz at 2.7 V / 5.0 V. VIL ≤ 0.3·VCC, VIH ≥ 0.7·VCC.",    "is_pin1": true,    "source": {     "geometry": "SOT-23-5.kicad_mod",@@ -87,9 +78,9 @@    ],    "thermal": false,    "pin": "2",-   "name": "A1",-   "type": "input",-   "description": "Device address input bit 1. Selects the I2C slave address together with A0 and A2.",+   "name": "GND",+   "type": "power_in",+   "description": "Ground / power negative return. Reference for VCC and all logic levels.",    "is_pin1": false,    "source": {     "geometry": "SOT-23-5.kicad_mod",@@ -117,9 +108,9 @@    ],    "thermal": false,    "pin": "3",-   "name": "A2",-   "type": "input",-   "description": "Device address input bit 2. Selects the I2C slave address together with A0 and A1.",+   "name": "SDA",+   "type": "bidirectional",+   "description": "Serial data line for the two-wire (I2C) interface. Open-drain — requires an external pull-up resistor (typ. 10 kΩ) to VCC. Driven low by the EEPROM during ACK and read cycles; input at all other times. VOL ≤ 0.4 V at IOL = 3 mA (VCC = 5 V).",    "is_pin1": false,    "source": {     "geometry": "SOT-23-5.kicad_mod",@@ -147,9 +138,9 @@    ],    "thermal": false,    "pin": "4",-   "name": "GND",+   "name": "VCC",    "type": "power_in",-   "description": "Ground / power negative reference.",+   "description": "Positive supply input. Operating range 1.8 V to 5.5 V; absolute max 5.5 V. Recommend a 1 µF decoupling capacitor to GND. Standby current < 1 µA across the full VCC range.",    "is_pin1": false,    "source": {     "geometry": "SOT-23-5.kicad_mod",@@ -177,9 +168,9 @@    ],    "thermal": false,    "pin": "5",-   "name": "SDA",-   "type": "bidirectional",-   "description": "I2C serial data line. Open-drain bidirectional data pin; requires an external pull-up resistor to VCC (typ. 10 kΩ).",+   "name": "WP",+   "type": "input",+   "description": null,    "is_pin1": false,    "source": {     "geometry": "SOT-23-5.kicad_mod",
page.json+16−31
@@ -15,7 +15,7 @@     "mpn": "AD24C02",     "manufacturer": "IDCHIP",     "package": "SOT-23-5",-    "pin_count": 8,+    "pin_count": 5,     "category": "Memory",     "subcategory": "EEPROM",     "datasheet": "docs/ad24c02-datasheet.pdf",@@ -32,51 +32,36 @@     "pins": [       {         "number": "1",-        "name": "A0",+        "name": "SCL",         "type": "input",-        "description": "Device address input bit 0. Tied high or low to set bit1 of the 7-bit I2C slave address (device address high nibble is fixed 1010, followed by A2/A1/A0). Allows up to 8 AD24C02 devices on the same I2C bus."+        "description": "Serial clock input for the two-wire (I2C) interface. Requires an external pull-up resistor (typ. 10 k\u03a9) to VCC. Clock frequency up to 400 kHz at 1.8 V and 1 MHz at 2.7 V / 5.0 V. VIL \u2264 0.3\u00b7VCC, VIH \u2265 0.7\u00b7VCC.",+        "group": "I2C"       },       {         "number": "2",-        "name": "A1",-        "type": "input",-        "description": "Device address input bit 1. Selects the I2C slave address together with A0 and A2."-      },-      {-        "number": "3",-        "name": "A2",-        "type": "input",-        "description": "Device address input bit 2. Selects the I2C slave address together with A0 and A1."-      },-      {-        "number": "4",         "name": "GND",         "type": "power_in",-        "description": "Ground / power negative reference."+        "description": "Ground / power negative return. Reference for VCC and all logic levels.",+        "group": "POWER"       },       {-        "number": "5",+        "number": "3",         "name": "SDA",         "type": "bidirectional",-        "description": "I2C serial data line. Open-drain bidirectional data pin; requires an external pull-up resistor to VCC (typ. 10 k\u03a9)."+        "description": "Serial data line for the two-wire (I2C) interface. Open-drain \u2014 requires an external pull-up resistor (typ. 10 k\u03a9) to VCC. Driven low by the EEPROM during ACK and read cycles; input at all other times. VOL \u2264 0.4 V at IOL = 3 mA (VCC = 5 V).",+        "group": "I2C"       },       {-        "number": "6",-        "name": "SCL",-        "type": "input",-        "description": "I2C serial clock input. Drives the address/data timing; supports up to 400 kHz at 1.8V/2.5V/2.7V and 1 MHz at 5V. External pull-up to VCC required (typ. 10 k\u03a9)."+        "number": "4",+        "name": "VCC",+        "type": "power_in",+        "description": "Positive supply input. Operating range 1.8 V to 5.5 V; absolute max 5.5 V. Recommend a 1 \u00b5F decoupling capacitor to GND. Standby current < 1 \u00b5A across the full VCC range.",+        "group": "POWER"       },       {-        "number": "7",+        "number": "5",         "name": "WP",-        "type": "input",-        "description": "Hardware write-protect input. When tied high, memory-array writes are inhibited; when tied low (or left connected to GND), normal read/write operation is allowed."-      },-      {-        "number": "8",-        "name": "VCC",-        "type": "power_in",-        "description": "Positive supply voltage, 1.8V to 5.5V (absolute max 5.5V). Recommend a 1 \u00b5F decoupling capacitor close to the pin."+        "type": "input"       }     ],     "provenance": {