component
MCP23017
Public Made by Adomby adom
Microchip 16-bit I2C I/O expander, SOIC-28. Two 8-bit ports, interrupts, configurable pull-ups, 3 address pins. Datasheet-verified.
← Commit history
MCP23017: validated Fusion/EAGLE library + adom-lbr hub, generated from this page's KiCad sources
2 files changed
+1034
MCP23017.adom-lbr.jsonadded+856@@ -0,0 +1,856 @@+{+ "schema_version": 2,+ "mpn": "MCP23017",+ "manufacturer": "",+ "package": "",+ "value": "",+ "category": "",+ "symbol": {+ "name": "MCP23017x-x-SO",+ "pins": [+ {+ "number": "1",+ "name": "GPB0",+ "x": 500,+ "y": -100,+ "length": 100,+ "rotation": 180+ },+ {+ "number": "2",+ "name": "GPB1",+ "x": 500,+ "y": -200,+ "length": 100,+ "rotation": 180+ },+ {+ "number": "3",+ "name": "GPB2",+ "x": 500,+ "y": -300,+ "length": 100,+ "rotation": 180+ },+ {+ "number": "4",+ "name": "GPB3",+ "x": 500,+ "y": -400,+ "length": 100,+ "rotation": 180+ },+ {+ "number": "5",+ "name": "GPB4",+ "x": 500,+ "y": -500,+ "length": 100,+ "rotation": 180+ },+ {+ "number": "6",+ "name": "GPB5",+ "x": 500,+ "y": -600,+ "length": 100,+ "rotation": 180+ },+ {+ "number": "7",+ "name": "GPB6",+ "x": 500,+ "y": -700,+ "length": 100,+ "rotation": 180+ },+ {+ "number": "8",+ "name": "GPB7",+ "x": 500,+ "y": -800,+ "length": 100,+ "rotation": 180+ },+ {+ "number": "9",+ "name": "V_{DD}",+ "x": 0,+ "y": 1000,+ "length": 100,+ "rotation": 270+ },+ {+ "number": "10",+ "name": "V_{SS}",+ "x": 0,+ "y": -1000,+ "length": 100,+ "rotation": 90+ },+ {+ "number": "11",+ "name": "NC",+ "x": -400,+ "y": 600,+ "length": 100,+ "rotation": 0+ },+ {+ "number": "12",+ "name": "SCK",+ "x": -500,+ "y": 800,+ "length": 100,+ "rotation": 0+ },+ {+ "number": "13",+ "name": "SDA",+ "x": -500,+ "y": 700,+ "length": 100,+ "rotation": 0+ },+ {+ "number": "14",+ "name": "NC",+ "x": -400,+ "y": 500,+ "length": 100,+ "rotation": 0+ },+ {+ "number": "15",+ "name": "A0",+ "x": -500,+ "y": -600,+ "length": 100,+ "rotation": 0+ },+ {+ "number": "16",+ "name": "A1",+ "x": -500,+ "y": -700,+ "length": 100,+ "rotation": 0+ },+ {+ "number": "17",+ "name": "A2",+ "x": -500,+ "y": -800,+ "length": 100,+ "rotation": 0+ },+ {+ "number": "18",+ "name": "~{RESET}",+ "x": -500,+ "y": -100,+ "length": 100,+ "rotation": 0+ },+ {+ "number": "19",+ "name": "INTB",+ "x": -500,+ "y": 100,+ "length": 100,+ "rotation": 0+ },+ {+ "number": "20",+ "name": "INTA",+ "x": -500,+ "y": 200,+ "length": 100,+ "rotation": 0+ },+ {+ "number": "21",+ "name": "GPA0",+ "x": 500,+ "y": 800,+ "length": 100,+ "rotation": 180+ },+ {+ "number": "22",+ "name": "GPA1",+ "x": 500,+ "y": 700,+ "length": 100,+ "rotation": 180+ },+ {+ "number": "23",+ "name": "GPA2",+ "x": 500,+ "y": 600,+ "length": 100,+ "rotation": 180+ },+ {+ "number": "24",+ "name": "GPA3",+ "x": 500,+ "y": 500,+ "length": 100,+ "rotation": 180+ },+ {+ "number": "25",+ "name": "GPA4",+ "x": 500,+ "y": 400,+ "length": 100,+ "rotation": 180+ },+ {+ "number": "26",+ "name": "GPA5",+ "x": 500,+ "y": 300,+ "length": 100,+ "rotation": 180+ },+ {+ "number": "27",+ "name": "GPA6",+ "x": 500,+ "y": 200,+ "length": 100,+ "rotation": 180+ },+ {+ "number": "28",+ "name": "GPA7",+ "x": 500,+ "y": 100,+ "length": 100,+ "rotation": 180+ }+ ],+ "body": null,+ "graphics": [+ {+ "kind": "rect",+ "x1": -400.0,+ "y1": 900.0,+ "x2": 400.0,+ "y2": -900.0,+ "width": 10.0,+ "filled": true+ }+ ],+ "designator_prefix": "U",+ "footprint": "SOIC-28W_7.5x17.9mm_P1.27mm",+ "parameters": [],+ "pin_numbers_hidden": false,+ "pin_names_hidden": false+ },+ "footprint": {+ "name": "SOIC-28W_7.5x17.9mm_P1.27mm",+ "pads": [+ {+ "number": "1",+ "x_mm": -4.65,+ "y_mm": -8.255,+ "w_mm": 2.05,+ "h_mm": 0.6,+ "drill_mm": 0.0,+ "rotation": 0.0,+ "shape": "roundrect"+ },+ {+ "number": "2",+ "x_mm": -4.65,+ "y_mm": -6.985,+ "w_mm": 2.05,+ "h_mm": 0.6,+ "drill_mm": 0.0,+ "rotation": 0.0,+ "shape": "roundrect"+ },+ {+ "number": "3",+ "x_mm": -4.65,+ "y_mm": -5.715,+ "w_mm": 2.05,+ "h_mm": 0.6,+ "drill_mm": 0.0,+ "rotation": 0.0,+ "shape": "roundrect"+ },+ {+ "number": "4",+ "x_mm": -4.65,+ "y_mm": -4.445,+ "w_mm": 2.05,+ "h_mm": 0.6,+ "drill_mm": 0.0,+ "rotation": 0.0,+ "shape": "roundrect"+ },+ {+ "number": "5",+ "x_mm": -4.65,+ "y_mm": -3.175,+ "w_mm": 2.05,+ "h_mm": 0.6,+ "drill_mm": 0.0,+ "rotation": 0.0,+ "shape": "roundrect"+ },+ {+ "number": "6",+ "x_mm": -4.65,+ "y_mm": -1.905,+ "w_mm": 2.05,+ "h_mm": 0.6,+ "drill_mm": 0.0,+ "rotation": 0.0,+ "shape": "roundrect"+ },+ {+ "number": "7",+ "x_mm": -4.65,+ "y_mm": -0.635,+ "w_mm": 2.05,+ "h_mm": 0.6,+ "drill_mm": 0.0,+ "rotation": 0.0,+ "shape": "roundrect"+ },+ {+ "number": "8",+ "x_mm": -4.65,+ "y_mm": 0.635,+ "w_mm": 2.05,+ "h_mm": 0.6,+ "drill_mm": 0.0,+ "rotation": 0.0,+ "shape": "roundrect"+ },+ {+ "number": "9",+ "x_mm": -4.65,+ "y_mm": 1.905,+ "w_mm": 2.05,+ "h_mm": 0.6,+ "drill_mm": 0.0,+ "rotation": 0.0,+ "shape": "roundrect"+ },+ {+ "number": "10",+ "x_mm": -4.65,+ "y_mm": 3.175,+ "w_mm": 2.05,+ "h_mm": 0.6,+ "drill_mm": 0.0,+ "rotation": 0.0,+ "shape": "roundrect"+ },+ {+ "number": "11",+ "x_mm": -4.65,+ "y_mm": 4.445,+ "w_mm": 2.05,+ "h_mm": 0.6,+ "drill_mm": 0.0,+ "rotation": 0.0,+ "shape": "roundrect"+ },+ {+ "number": "12",+ "x_mm": -4.65,+ "y_mm": 5.715,+ "w_mm": 2.05,+ "h_mm": 0.6,+ "drill_mm": 0.0,+ "rotation": 0.0,+ "shape": "roundrect"+ },+ {+ "number": "13",+ "x_mm": -4.65,+ "y_mm": 6.985,+ "w_mm": 2.05,+ "h_mm": 0.6,+ "drill_mm": 0.0,+ "rotation": 0.0,+ "shape": "roundrect"+ },+ {+ "number": "14",+ "x_mm": -4.65,+ "y_mm": 8.255,+ "w_mm": 2.05,+ "h_mm": 0.6,+ "drill_mm": 0.0,+ "rotation": 0.0,+ "shape": "roundrect"+ },+ {+ "number": "15",+ "x_mm": 4.65,+ "y_mm": 8.255,+ "w_mm": 2.05,+ "h_mm": 0.6,+ "drill_mm": 0.0,+ "rotation": 0.0,+ "shape": "roundrect"+ },+ {+ "number": "16",+ "x_mm": 4.65,+ "y_mm": 6.985,+ "w_mm": 2.05,+ "h_mm": 0.6,+ "drill_mm": 0.0,+ "rotation": 0.0,+ "shape": "roundrect"+ },+ {+ "number": "17",+ "x_mm": 4.65,+ "y_mm": 5.715,+ "w_mm": 2.05,+ "h_mm": 0.6,+ "drill_mm": 0.0,+ "rotation": 0.0,+ "shape": "roundrect"+ },+ {+ "number": "18",+ "x_mm": 4.65,+ "y_mm": 4.445,+ "w_mm": 2.05,+ "h_mm": 0.6,+ "drill_mm": 0.0,+ "rotation": 0.0,+ "shape": "roundrect"+ },+ {+ "number": "19",+ "x_mm": 4.65,+ "y_mm": 3.175,+ "w_mm": 2.05,+ "h_mm": 0.6,+ "drill_mm": 0.0,+ "rotation": 0.0,+ "shape": "roundrect"+ },+ {+ "number": "20",+ "x_mm": 4.65,+ "y_mm": 1.905,+ "w_mm": 2.05,+ "h_mm": 0.6,+ "drill_mm": 0.0,+ "rotation": 0.0,+ "shape": "roundrect"+ },+ {+ "number": "21",+ "x_mm": 4.65,+ "y_mm": 0.635,+ "w_mm": 2.05,+ "h_mm": 0.6,+ "drill_mm": 0.0,+ "rotation": 0.0,+ "shape": "roundrect"+ },+ {+ "number": "22",+ "x_mm": 4.65,+ "y_mm": -0.635,+ "w_mm": 2.05,+ "h_mm": 0.6,+ "drill_mm": 0.0,+ "rotation": 0.0,+ "shape": "roundrect"+ },+ {+ "number": "23",+ "x_mm": 4.65,+ "y_mm": -1.905,+ "w_mm": 2.05,+ "h_mm": 0.6,+ "drill_mm": 0.0,+ "rotation": 0.0,+ "shape": "roundrect"+ },+ {+ "number": "24",+ "x_mm": 4.65,+ "y_mm": -3.175,+ "w_mm": 2.05,+ "h_mm": 0.6,+ "drill_mm": 0.0,+ "rotation": 0.0,+ "shape": "roundrect"+ },+ {+ "number": "25",+ "x_mm": 4.65,+ "y_mm": -4.445,+ "w_mm": 2.05,+ "h_mm": 0.6,+ "drill_mm": 0.0,+ "rotation": 0.0,+ "shape": "roundrect"+ },+ {+ "number": "26",+ "x_mm": 4.65,+ "y_mm": -5.715,+ "w_mm": 2.05,+ "h_mm": 0.6,+ "drill_mm": 0.0,+ "rotation": 0.0,+ "shape": "roundrect"+ },+ {+ "number": "27",+ "x_mm": 4.65,+ "y_mm": -6.985,+ "w_mm": 2.05,+ "h_mm": 0.6,+ "drill_mm": 0.0,+ "rotation": 0.0,+ "shape": "roundrect"+ },+ {+ "number": "28",+ "x_mm": 4.65,+ "y_mm": -8.255,+ "w_mm": 2.05,+ "h_mm": 0.6,+ "drill_mm": 0.0,+ "rotation": 0.0,+ "shape": "roundrect"+ }+ ],+ "graphics": [+ {+ "kind": "line",+ "layer": {+ "role": "silk"+ },+ "x1": -3.86,+ "y1": -9.06,+ "x2": 3.86,+ "y2": -9.06,+ "width": 0.12+ },+ {+ "kind": "line",+ "layer": {+ "role": "silk"+ },+ "x1": -3.86,+ "y1": -8.815,+ "x2": -3.86,+ "y2": -9.06,+ "width": 0.12+ },+ {+ "kind": "line",+ "layer": {+ "role": "silk"+ },+ "x1": -3.86,+ "y1": 9.06,+ "x2": -3.86,+ "y2": 8.815,+ "width": 0.12+ },+ {+ "kind": "line",+ "layer": {+ "role": "silk"+ },+ "x1": 3.86,+ "y1": -9.06,+ "x2": 3.86,+ "y2": -8.815,+ "width": 0.12+ },+ {+ "kind": "line",+ "layer": {+ "role": "silk"+ },+ "x1": 3.86,+ "y1": 8.815,+ "x2": 3.86,+ "y2": 9.06,+ "width": 0.12+ },+ {+ "kind": "line",+ "layer": {+ "role": "silk"+ },+ "x1": 3.86,+ "y1": 9.06,+ "x2": -3.86,+ "y2": 9.06,+ "width": 0.12+ },+ {+ "kind": "line",+ "layer": {+ "role": "courtyard"+ },+ "x1": -5.93,+ "y1": -8.81,+ "x2": -4.0,+ "y2": -8.81,+ "width": 0.05+ },+ {+ "kind": "line",+ "layer": {+ "role": "courtyard"+ },+ "x1": -5.93,+ "y1": 8.81,+ "x2": -5.93,+ "y2": -8.81,+ "width": 0.05+ },+ {+ "kind": "line",+ "layer": {+ "role": "courtyard"+ },+ "x1": -4.0,+ "y1": -9.2,+ "x2": 4.0,+ "y2": -9.2,+ "width": 0.05+ },+ {+ "kind": "line",+ "layer": {+ "role": "courtyard"+ },+ "x1": -4.0,+ "y1": -8.81,+ "x2": -4.0,+ "y2": -9.2,+ "width": 0.05+ },+ {+ "kind": "line",+ "layer": {+ "role": "courtyard"+ },+ "x1": -4.0,+ "y1": 8.81,+ "x2": -5.93,+ "y2": 8.81,+ "width": 0.05+ },+ {+ "kind": "line",+ "layer": {+ "role": "courtyard"+ },+ "x1": -4.0,+ "y1": 9.2,+ "x2": -4.0,+ "y2": 8.81,+ "width": 0.05+ },+ {+ "kind": "line",+ "layer": {+ "role": "courtyard"+ },+ "x1": 4.0,+ "y1": -9.2,+ "x2": 4.0,+ "y2": -8.81,+ "width": 0.05+ },+ {+ "kind": "line",+ "layer": {+ "role": "courtyard"+ },+ "x1": 4.0,+ "y1": -8.81,+ "x2": 5.93,+ "y2": -8.81,+ "width": 0.05+ },+ {+ "kind": "line",+ "layer": {+ "role": "courtyard"+ },+ "x1": 4.0,+ "y1": 8.81,+ "x2": 4.0,+ "y2": 9.2,+ "width": 0.05+ },+ {+ "kind": "line",+ "layer": {+ "role": "courtyard"+ },+ "x1": 4.0,+ "y1": 9.2,+ "x2": -4.0,+ "y2": 9.2,+ "width": 0.05+ },+ {+ "kind": "line",+ "layer": {+ "role": "courtyard"+ },+ "x1": 5.93,+ "y1": -8.81,+ "x2": 5.93,+ "y2": 8.81,+ "width": 0.05+ },+ {+ "kind": "line",+ "layer": {+ "role": "courtyard"+ },+ "x1": 5.93,+ "y1": 8.81,+ "x2": 4.0,+ "y2": 8.81,+ "width": 0.05+ }+ ]+ },+ "connect": [+ {+ "pin": "1",+ "pad": "1"+ },+ {+ "pin": "2",+ "pad": "2"+ },+ {+ "pin": "3",+ "pad": "3"+ },+ {+ "pin": "4",+ "pad": "4"+ },+ {+ "pin": "5",+ "pad": "5"+ },+ {+ "pin": "6",+ "pad": "6"+ },+ {+ "pin": "7",+ "pad": "7"+ },+ {+ "pin": "8",+ "pad": "8"+ },+ {+ "pin": "9",+ "pad": "9"+ },+ {+ "pin": "10",+ "pad": "10"+ },+ {+ "pin": "11",+ "pad": "11"+ },+ {+ "pin": "12",+ "pad": "12"+ },+ {+ "pin": "13",+ "pad": "13"+ },+ {+ "pin": "14",+ "pad": "14"+ },+ {+ "pin": "15",+ "pad": "15"+ },+ {+ "pin": "16",+ "pad": "16"+ },+ {+ "pin": "17",+ "pad": "17"+ },+ {+ "pin": "18",+ "pad": "18"+ },+ {+ "pin": "19",+ "pad": "19"+ },+ {+ "pin": "20",+ "pad": "20"+ },+ {+ "pin": "21",+ "pad": "21"+ },+ {+ "pin": "22",+ "pad": "22"+ },+ {+ "pin": "23",+ "pad": "23"+ },+ {+ "pin": "24",+ "pad": "24"+ },+ {+ "pin": "25",+ "pad": "25"+ },+ {+ "pin": "26",+ "pad": "26"+ },+ {+ "pin": "27",+ "pad": "27"+ },+ {+ "pin": "28",+ "pad": "28"+ }+ ],+ "provenance": {+ "source": "kicad_import"+ }+}
MCP23017.lbradded+178@@ -0,0 +1,178 @@+<?xml version="1.0" encoding="utf-8"?>+<!DOCTYPE eagle SYSTEM "eagle.dtd">+<eagle version="9.6.2">+<drawing>+<settings><setting alwaysvectorfont="no"/></settings>+<grid distance="0.1" unitdist="inch" unit="inch" style="lines" multiple="1" display="no" altdistance="0.01" altunitdist="inch" altunit="inch"/>+<layers>+<layer number="1" name="Top" color="4" fill="1" visible="yes" active="yes"/>+<layer number="16" name="Bottom" color="1" fill="1" visible="yes" active="yes"/>+<layer number="17" name="Pads" color="2" fill="1" visible="yes" active="yes"/>+<layer number="18" name="Vias" color="2" fill="1" visible="yes" active="yes"/>+<layer number="19" name="Unrouted" color="6" fill="1" visible="yes" active="yes"/>+<layer number="20" name="Dimension" color="15" fill="1" visible="yes" active="yes"/>+<layer number="21" name="tPlace" color="7" fill="1" visible="yes" active="yes"/>+<layer number="22" name="bPlace" color="7" fill="1" visible="yes" active="yes"/>+<layer number="23" name="tOrigins" color="15" fill="1" visible="yes" active="yes"/>+<layer number="24" name="bOrigins" color="15" fill="1" visible="yes" active="yes"/>+<layer number="25" name="tNames" color="7" fill="1" visible="yes" active="yes"/>+<layer number="26" name="bNames" color="7" fill="1" visible="yes" active="yes"/>+<layer number="27" name="tValues" color="7" fill="1" visible="yes" active="yes"/>+<layer number="28" name="bValues" color="7" fill="1" visible="yes" active="yes"/>+<layer number="29" name="tStop" color="7" fill="3" visible="no" active="yes"/>+<layer number="30" name="bStop" color="7" fill="6" visible="no" active="yes"/>+<layer number="31" name="tCream" color="7" fill="4" visible="no" active="yes"/>+<layer number="32" name="bCream" color="7" fill="5" visible="no" active="yes"/>+<layer number="33" name="tFinish" color="6" fill="3" visible="no" active="yes"/>+<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="yes"/>+<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="yes"/>+<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="yes"/>+<layer number="37" name="tTest" color="7" fill="1" visible="no" active="yes"/>+<layer number="38" name="bTest" color="7" fill="1" visible="no" active="yes"/>+<layer number="39" name="tKeepout" color="4" fill="11" visible="no" active="yes"/>+<layer number="40" name="bKeepout" color="1" fill="11" visible="no" active="yes"/>+<layer number="41" name="tRestrict" color="4" fill="10" visible="no" active="yes"/>+<layer number="42" name="bRestrict" color="1" fill="10" visible="no" active="yes"/>+<layer number="43" name="vRestrict" color="2" fill="10" visible="no" active="yes"/>+<layer number="44" name="Drills" color="7" fill="1" visible="no" active="yes"/>+<layer number="45" name="Holes" color="7" fill="1" visible="no" active="yes"/>+<layer number="46" name="Milling" color="3" fill="1" visible="no" active="yes"/>+<layer number="47" name="Measures" color="7" fill="1" visible="no" active="yes"/>+<layer number="48" name="Document" color="7" fill="1" visible="yes" active="yes"/>+<layer number="49" name="Reference" color="7" fill="1" visible="yes" active="yes"/>+<layer number="91" name="Nets" color="2" fill="1" visible="yes" active="yes"/>+<layer number="92" name="Busses" color="1" fill="1" visible="yes" active="yes"/>+<layer number="93" name="Pins" color="2" fill="1" visible="no" active="yes"/>+<layer number="94" name="Symbols" color="4" fill="1" visible="yes" active="yes"/>+<layer number="95" name="Names" color="7" fill="1" visible="yes" active="yes"/>+<layer number="96" name="Values" color="7" fill="1" visible="yes" active="yes"/>+<layer number="97" name="Info" color="7" fill="1" visible="yes" active="yes"/>+<layer number="98" name="Guide" color="6" fill="1" visible="yes" active="yes"/>+</layers>+<library>+<description>16-bit I/O expander, I2C, interrupts, w pull-ups, GPA7/GPB7 output only (https://microchip.my.site.com/s/article/GPA7---GPB7-Cannot-Be-Used-as-Inputs-In-MCP23017), SOIC-28</description>+<packages>+<package name="MCP23017x-x-SO">+ <description>MCP23017x-x-SO</description>+ <smd name="1" x="-4.6500" y="8.2550" dx="2.0500" dy="0.6000" layer="1"/>+ <smd name="2" x="-4.6500" y="6.9850" dx="2.0500" dy="0.6000" layer="1"/>+ <smd name="3" x="-4.6500" y="5.7150" dx="2.0500" dy="0.6000" layer="1"/>+ <smd name="4" x="-4.6500" y="4.4450" dx="2.0500" dy="0.6000" layer="1"/>+ <smd name="5" x="-4.6500" y="3.1750" dx="2.0500" dy="0.6000" layer="1"/>+ <smd name="6" x="-4.6500" y="1.9050" dx="2.0500" dy="0.6000" layer="1"/>+ <smd name="7" x="-4.6500" y="0.6350" dx="2.0500" dy="0.6000" layer="1"/>+ <smd name="8" x="-4.6500" y="-0.6350" dx="2.0500" dy="0.6000" layer="1"/>+ <smd name="9" x="-4.6500" y="-1.9050" dx="2.0500" dy="0.6000" layer="1"/>+ <smd name="10" x="-4.6500" y="-3.1750" dx="2.0500" dy="0.6000" layer="1"/>+ <smd name="11" x="-4.6500" y="-4.4450" dx="2.0500" dy="0.6000" layer="1"/>+ <smd name="12" x="-4.6500" y="-5.7150" dx="2.0500" dy="0.6000" layer="1"/>+ <smd name="13" x="-4.6500" y="-6.9850" dx="2.0500" dy="0.6000" layer="1"/>+ <smd name="14" x="-4.6500" y="-8.2550" dx="2.0500" dy="0.6000" layer="1"/>+ <smd name="15" x="4.6500" y="-8.2550" dx="2.0500" dy="0.6000" layer="1"/>+ <smd name="16" x="4.6500" y="-6.9850" dx="2.0500" dy="0.6000" layer="1"/>+ <smd name="17" x="4.6500" y="-5.7150" dx="2.0500" dy="0.6000" layer="1"/>+ <smd name="18" x="4.6500" y="-4.4450" dx="2.0500" dy="0.6000" layer="1"/>+ <smd name="19" x="4.6500" y="-3.1750" dx="2.0500" dy="0.6000" layer="1"/>+ <smd name="20" x="4.6500" y="-1.9050" dx="2.0500" dy="0.6000" layer="1"/>+ <smd name="21" x="4.6500" y="-0.6350" dx="2.0500" dy="0.6000" layer="1"/>+ <smd name="22" x="4.6500" y="0.6350" dx="2.0500" dy="0.6000" layer="1"/>+ <smd name="23" x="4.6500" y="1.9050" dx="2.0500" dy="0.6000" layer="1"/>+ <smd name="24" x="4.6500" y="3.1750" dx="2.0500" dy="0.6000" layer="1"/>+ <smd name="25" x="4.6500" y="4.4450" dx="2.0500" dy="0.6000" layer="1"/>+ <smd name="26" x="4.6500" y="5.7150" dx="2.0500" dy="0.6000" layer="1"/>+ <smd name="27" x="4.6500" y="6.9850" dx="2.0500" dy="0.6000" layer="1"/>+ <smd name="28" x="4.6500" y="8.2550" dx="2.0500" dy="0.6000" layer="1"/>+ <wire x1="-3.8600" y1="9.0600" x2="3.8600" y2="9.0600" width="0.1200" layer="21"/>+ <wire x1="-3.8600" y1="8.8150" x2="-3.8600" y2="9.0600" width="0.1200" layer="21"/>+ <wire x1="-3.8600" y1="-9.0600" x2="-3.8600" y2="-8.8150" width="0.1200" layer="21"/>+ <wire x1="3.8600" y1="9.0600" x2="3.8600" y2="8.8150" width="0.1200" layer="21"/>+ <wire x1="3.8600" y1="-8.8150" x2="3.8600" y2="-9.0600" width="0.1200" layer="21"/>+ <wire x1="3.8600" y1="-9.0600" x2="-3.8600" y2="-9.0600" width="0.1200" layer="21"/>+ <text x="0" y="9.880" size="1.27" layer="25" align="bottom-center">>NAME</text>+ <text x="0" y="-9.880" size="1.27" layer="27" align="top-center">>VALUE</text>+</package>+</packages>+<symbols>+<symbol name="MCP23017x-x-SO">+ <wire x1="-10.16" y1="22.86" x2="10.16" y2="22.86" width="0.254" layer="94"/>+ <wire x1="10.16" y1="22.86" x2="10.16" y2="-22.86" width="0.254" layer="94"/>+ <wire x1="10.16" y1="-22.86" x2="-10.16" y2="-22.86" width="0.254" layer="94"/>+ <wire x1="-10.16" y1="-22.86" x2="-10.16" y2="22.86" width="0.254" layer="94"/>+ <text x="0" y="25.4" size="1.27" layer="95" align="bottom-center">>NAME</text>+ <text x="0" y="-25.4" size="1.27" layer="96" align="top-center">>VALUE</text>+ <pin name="GPB0" x="12.7" y="-2.54" length="short" direction="io" rot="R180"/>+ <pin name="GPB1" x="12.7" y="-5.08" length="short" direction="io" rot="R180"/>+ <pin name="GPB2" x="12.7" y="-7.62" length="short" direction="io" rot="R180"/>+ <pin name="GPB3" x="12.7" y="-10.16" length="short" direction="io" rot="R180"/>+ <pin name="GPB4" x="12.7" y="-12.7" length="short" direction="io" rot="R180"/>+ <pin name="GPB5" x="12.7" y="-15.24" length="short" direction="io" rot="R180"/>+ <pin name="GPB6" x="12.7" y="-17.78" length="short" direction="io" rot="R180"/>+ <pin name="GPB7" x="12.7" y="-20.32" length="short" direction="out" rot="R180"/>+ <pin name="V_{DD}" x="0" y="25.4" length="short" direction="pwr" rot="R270"/>+ <pin name="V_{SS}" x="0" y="-25.4" length="short" direction="pwr" rot="R90"/>+ <pin name="NC" x="-10.16" y="15.24" length="short" direction="io"/>+ <pin name="SCK" x="-12.7" y="20.32" length="short" direction="in"/>+ <pin name="SDA" x="-12.7" y="17.78" length="short" direction="io"/>+ <pin name="NC@2" x="-10.16" y="12.7" length="short" direction="io"/>+ <pin name="A0" x="-12.7" y="-15.24" length="short" direction="in"/>+ <pin name="A1" x="-12.7" y="-17.78" length="short" direction="in"/>+ <pin name="A2" x="-12.7" y="-20.32" length="short" direction="in"/>+ <pin name="~{RESET}" x="-12.7" y="-2.54" length="short" direction="in"/>+ <pin name="INTB" x="-12.7" y="2.54" length="short" direction="hiz"/>+ <pin name="INTA" x="-12.7" y="5.08" length="short" direction="hiz"/>+ <pin name="GPA0" x="12.7" y="20.32" length="short" direction="io" rot="R180"/>+ <pin name="GPA1" x="12.7" y="17.78" length="short" direction="io" rot="R180"/>+ <pin name="GPA2" x="12.7" y="15.24" length="short" direction="io" rot="R180"/>+ <pin name="GPA3" x="12.7" y="12.7" length="short" direction="io" rot="R180"/>+ <pin name="GPA4" x="12.7" y="10.16" length="short" direction="io" rot="R180"/>+ <pin name="GPA5" x="12.7" y="7.62" length="short" direction="io" rot="R180"/>+ <pin name="GPA6" x="12.7" y="5.08" length="short" direction="io" rot="R180"/>+ <pin name="GPA7" x="12.7" y="2.54" length="short" direction="out" rot="R180"/>+</symbol>+</symbols>+<devicesets>+<deviceset name="MCP23017x-x-SO" prefix="U">+ <description>16-bit I/O expander, I2C, interrupts, w pull-ups, GPA7/GPB7 output only (https://microchip.my.site.com/s/article/GPA7---GPB7-Cannot-Be-Used-as-Inputs-In-MCP23017), SOIC-28</description>+ <gates>+ <gate name="G$1" symbol="MCP23017x-x-SO" x="0" y="0"/>+ </gates>+ <devices>+ <device name="" package="MCP23017x-x-SO">+ <connects>+ <connect gate="G$1" pin="GPB0" pad="1"/>+ <connect gate="G$1" pin="GPB1" pad="2"/>+ <connect gate="G$1" pin="GPB2" pad="3"/>+ <connect gate="G$1" pin="GPB3" pad="4"/>+ <connect gate="G$1" pin="GPB4" pad="5"/>+ <connect gate="G$1" pin="GPB5" pad="6"/>+ <connect gate="G$1" pin="GPB6" pad="7"/>+ <connect gate="G$1" pin="GPB7" pad="8"/>+ <connect gate="G$1" pin="V_{DD}" pad="9"/>+ <connect gate="G$1" pin="V_{SS}" pad="10"/>+ <connect gate="G$1" pin="NC" pad="11"/>+ <connect gate="G$1" pin="SCK" pad="12"/>+ <connect gate="G$1" pin="SDA" pad="13"/>+ <connect gate="G$1" pin="NC@2" pad="14"/>+ <connect gate="G$1" pin="A0" pad="15"/>+ <connect gate="G$1" pin="A1" pad="16"/>+ <connect gate="G$1" pin="A2" pad="17"/>+ <connect gate="G$1" pin="~{RESET}" pad="18"/>+ <connect gate="G$1" pin="INTB" pad="19"/>+ <connect gate="G$1" pin="INTA" pad="20"/>+ <connect gate="G$1" pin="GPA0" pad="21"/>+ <connect gate="G$1" pin="GPA1" pad="22"/>+ <connect gate="G$1" pin="GPA2" pad="23"/>+ <connect gate="G$1" pin="GPA3" pad="24"/>+ <connect gate="G$1" pin="GPA4" pad="25"/>+ <connect gate="G$1" pin="GPA5" pad="26"/>+ <connect gate="G$1" pin="GPA6" pad="27"/>+ <connect gate="G$1" pin="GPA7" pad="28"/>+ </connects>+ <technologies><technology name=""/></technologies>+ </device>+ </devices>+</deviceset>+</devicesets>+</library>+</drawing>+</eagle>