component
MCP23017
Public Unreviewedby adom
Microchip 16-bit I2C I/O expander, SOIC-28. Two 8-bit ports, interrupts, configurable pull-ups, 3 address pins. Datasheet-verified.
master
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
<?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>