text:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE eagle SYSTEM "eagle.dtd">
<eagle version="9.3.1">
<drawing>
<settings>
<setting alwaysvectorfont="yes"/>
<setting verticaltext="up"/>
</settings>
<grid distance="50" unitdist="mil" unit="mil" style="lines" multiple="1" display="no" altdistance="5" altunitdist="mil" altunit="mil"/>
<layers>
<layer number="1" name="Top" color="4" fill="1" visible="yes" active="yes"/>
<layer number="2" name="Route2" color="16" fill="1" visible="no" active="no"/>
<layer number="3" name="Route3" color="17" fill="1" visible="no" active="no"/>
<layer number="4" name="Route4" color="18" fill="1" visible="no" active="no"/>
<layer number="5" name="Route5" color="19" fill="1" visible="no" active="no"/>
<layer number="6" name="Route6" color="25" fill="1" visible="no" active="no"/>
<layer number="7" name="Route7" color="26" fill="1" visible="no" active="no"/>
<layer number="8" name="Route8" color="27" fill="1" visible="no" active="no"/>
<layer number="9" name="Route9" color="28" fill="1" visible="no" active="no"/>
<layer number="10" name="Route10" color="29" fill="1" visible="no" active="no"/>
<layer number="11" name="Route11" color="30" fill="1" visible="no" active="no"/>
<layer number="12" name="Route12" color="20" fill="1" visible="no" active="no"/>
<layer number="13" name="Route13" color="21" fill="1" visible="no" active="no"/>
<layer number="14" name="Route14" color="22" fill="1" visible="no" active="no"/>
<layer number="15" name="Route15" color="23" fill="1" visible="no" active="no"/>
<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="24" 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="no" active="yes"/>
<layer number="28" name="bValues" color="7" fill="1" visible="no" 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="yes" active="yes"/>
<layer number="40" name="bKeepout" color="1" fill="11" visible="yes" active="yes"/>
<layer number="41" name="tRestrict" color="4" fill="10" visible="yes" active="yes"/>
<layer number="42" name="bRestrict" color="1" fill="10" visible="yes" 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="no" active="yes"/>
<layer number="49" name="Reference" color="7" fill="1" visible="no" active="yes"/>
<layer number="50" name="dxf" color="7" fill="1" visible="no" active="no"/>
<layer number="51" name="tDocu" color="7" fill="1" visible="yes" active="yes"/>
<layer number="52" name="bDocu" color="7" fill="1" visible="yes" active="yes"/>
<layer number="53" name="tGND_GNDA" color="7" fill="9" visible="no" active="no"/>
<layer number="54" name="bGND_GNDA" color="1" fill="9" visible="no" active="no"/>
<layer number="56" name="wert" color="7" fill="1" visible="no" active="no"/>
<layer number="57" name="tCAD" color="7" fill="1" visible="no" active="no"/>
<layer number="59" name="tCarbon" color="7" fill="1" visible="no" active="no"/>
<layer number="60" name="bCarbon" color="7" fill="1" visible="no" active="no"/>
<layer number="88" name="SimResults" color="9" fill="1" visible="no" active="no"/>
<layer number="89" name="SimProbes" color="9" fill="1" visible="no" active="no"/>
<layer number="90" name="Modules" color="5" fill="1" visible="no" active="no"/>
<layer number="91" name="Nets" color="2" fill="1" visible="no" active="no"/>
<layer number="92" name="Busses" color="1" fill="1" visible="no" active="no"/>
<layer number="93" name="Pins" color="2" fill="1" visible="no" active="no"/>
<layer number="94" name="Symbols" color="4" fill="1" visible="no" active="no"/>
<layer number="95" name="Names" color="7" fill="1" visible="no" active="no"/>
<layer number="96" name="Values" color="7" fill="1" visible="no" active="no"/>
<layer number="97" name="Info" color="7" fill="1" visible="no" active="no"/>
<layer number="98" name="Guide" color="6" fill="1" visible="no" active="no"/>
<layer number="99" name="SpiceOrder" color="5" fill="1" visible="no" active="no"/>
<layer number="100" name="Muster" color="7" fill="1" visible="no" active="no"/>
<layer number="101" name="Patch_Top" color="12" fill="4" visible="no" active="yes"/>
<layer number="102" name="Vscore" color="7" fill="1" visible="no" active="yes"/>
<layer number="103" name="tMap" color="7" fill="1" visible="no" active="yes"/>
<layer number="104" name="Name" color="16" fill="1" visible="no" active="yes"/>
<layer number="105" name="tPlate" color="7" fill="1" visible="no" active="yes"/>
<layer number="106" name="bPlate" color="7" fill="1" visible="no" active="yes"/>
<layer number="107" name="Crop" color="7" fill="1" visible="no" active="yes"/>
<layer number="108" name="tplace-old" color="10" fill="1" visible="no" active="yes"/>
<layer number="109" name="ref-old" color="11" fill="1" visible="no" active="yes"/>
<layer number="110" name="fp0" color="7" fill="1" visible="no" active="yes"/>
<layer number="111" name="LPC17xx" color="7" fill="1" visible="no" active="yes"/>
<layer number="112" name="tSilk" color="7" fill="1" visible="no" active="yes"/>
<layer number="113" name="IDFDebug" color="7" fill="1" visible="no" active="yes"/>
<layer number="114" name="Badge_Outline" color="7" fill="1" visible="no" active="yes"/>
<layer number="115" name="ReferenceISLANDS" color="7" fill="1" visible="no" active="yes"/>
<layer number="116" name="Patch_BOT" color="9" fill="4" visible="no" active="yes"/>
<layer number="118" name="Rect_Pads" color="7" fill="1" visible="no" active="yes"/>
<layer number="121" name="_tsilk" color="7" fill="1" visible="no" active="yes"/>
<layer number="122" name="_bsilk" color="7" fill="1" visible="no" active="yes"/>
<layer number="123" name="tTestmark" color="7" fill="1" visible="no" active="yes"/>
<layer number="124" name="bTestmark" color="7" fill="1" visible="no" active="yes"/>
<layer number="125" name="_tNames" color="7" fill="1" visible="no" active="yes"/>
<layer number="126" name="_bNames" color="7" fill="1" visible="no" active="yes"/>
<layer number="127" name="_tValues" color="7" fill="1" visible="no" active="yes"/>
<layer number="128" name="_bValues" color="7" fill="1" visible="no" active="yes"/>
<layer number="129" name="Mask" color="7" fill="1" visible="no" active="yes"/>
<layer number="131" name="tAdjust" color="7" fill="1" visible="no" active="yes"/>
<layer number="132" name="bAdjust" color="7" fill="1" visible="no" active="yes"/>
<layer number="144" name="Drill_legend" color="7" fill="1" visible="no" active="yes"/>
<layer number="150" name="Notes" color="7" fill="1" visible="no" active="yes"/>
<layer number="151" name="HeatSink" color="7" fill="1" visible="no" active="yes"/>
<layer number="152" name="_bDocu" color="7" fill="1" visible="no" active="yes"/>
<layer number="153" name="FabDoc1" color="7" fill="1" visible="no" active="yes"/>
<layer number="154" name="FabDoc2" color="7" fill="1" visible="no" active="yes"/>
<layer number="155" name="FabDoc3" color="7" fill="1" visible="no" active="yes"/>
<layer number="199" name="Contour" color="7" fill="1" visible="no" active="yes"/>
<layer number="200" name="200bmp" color="1" fill="10" visible="no" active="yes"/>
<layer number="201" name="201bmp" color="2" fill="10" visible="no" active="yes"/>
<layer number="202" name="202bmp" color="3" fill="10" visible="no" active="yes"/>
<layer number="203" name="203bmp" color="4" fill="10" visible="no" active="yes"/>
<layer number="204" name="204bmp" color="5" fill="10" visible="no" active="yes"/>
<layer number="205" name="205bmp" color="6" fill="10" visible="no" active="yes"/>
<layer number="206" name="206bmp" color="7" fill="10" visible="no" active="yes"/>
<layer number="207" name="207bmp" color="8" fill="10" visible="no" active="yes"/>
<layer number="208" name="208bmp" color="9" fill="10" visible="no" active="yes"/>
<layer number="209" name="209bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="210" name="210bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="211" name="211bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="212" name="212bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="213" name="213bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="214" name="214bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="215" name="215bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="216" name="216bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="217" name="217bmp" color="18" fill="1" visible="no" active="no"/>
<layer number="218" name="218bmp" color="19" fill="1" visible="no" active="no"/>
<layer number="219" name="219bmp" color="20" fill="1" visible="no" active="no"/>
<layer number="220" name="220bmp" color="21" fill="1" visible="no" active="no"/>
<layer number="221" name="221bmp" color="22" fill="1" visible="no" active="no"/>
<layer number="222" name="222bmp" color="23" fill="1" visible="no" active="no"/>
<layer number="223" name="223bmp" color="24" fill="1" visible="no" active="no"/>
<layer number="224" name="224bmp" color="25" fill="1" visible="no" active="no"/>
<layer number="225" name="225bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="226" name="226bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="227" name="227bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="228" name="228bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="229" name="229bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="230" name="230bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="231" name="231bmp" color="7" fill="1" visible="no" active="yes"/>
<layer number="232" name="Eagle3D_PG2" color="7" fill="1" visible="no" active="yes"/>
<layer number="233" name="Eagle3D_PG3" color="7" fill="1" visible="no" active="yes"/>
<layer number="248" name="Housing" color="7" fill="1" visible="no" active="yes"/>
<layer number="249" name="Edge" color="7" fill="1" visible="no" active="yes"/>
<layer number="250" name="Descript" color="3" fill="1" visible="no" active="no"/>
<layer number="251" name="SMDround" color="12" fill="11" visible="no" active="no"/>
<layer number="254" name="cooling" color="7" fill="1" visible="no" active="yes"/>
<layer number="255" name="routoute" color="7" fill="1" visible="no" active="yes"/>
</layers>
<board>
<fusionsync huburn="a.cGVyc29uYWw6dWUyYjVlYjM4" projecturn="a.cGVyc29uYWw6dWUyYjVlYjM4IzIwMTgwMzE2MTIzMDY2Nzc2" f3durn="urn:adsk.wipprod:dm.lineage:FlkZ9POLT0O4GxRw0QSPzQ" pcbguid="07c534ba-3585-418c-91d1-b198318dc91a" lastpulledtime="" lastsyncedchangeguid="4edd286b-e198-c432-4ee2-00247cb6fac0"/>
<plain>
<text x="7.874" y="13.843" size="1.778" layer="112" rot="R270">USB</text>
<wire x1="0" y1="0" x2="101.6" y2="0" width="0.1524" layer="20"/>
<wire x1="0" y1="0" x2="0" y2="76.2" width="0.1524" layer="20"/>
<wire x1="0" y1="76.2" x2="101.6" y2="76.2" width="0.1524" layer="20"/>
<wire x1="101.6" y1="0" x2="101.6" y2="76.2" width="0.1524" layer="20"/>
<dimension x1="2.54" y1="0" x2="2.54" y2="76.2" x3="-2.54" y3="38.1" textsize="1.778" layer="20" unit="inch"/>
<dimension x1="0" y1="5.08" x2="101.6" y2="5.08" x3="50.8" y3="-3.81" textsize="1.778" layer="20" unit="inch"/>
</plain>
<libraries>
<library name="we-board">
<description>Boards: Arduino/Genuino, Raspberry Pi...</description>
<packages>
<package name="STEPSTICK_TP">
<description>21 tPlace</description>
<wire x1="-7.62" y1="-10.16" x2="-7.62" y2="10.16" width="0.1524" layer="21"/>
<wire x1="-7.62" y1="10.16" x2="7.62" y2="10.16" width="0.1524" layer="21"/>
<wire x1="7.62" y1="10.16" x2="7.62" y2="-10.16" width="0.1524" layer="21"/>
<wire x1="7.62" y1="-10.16" x2="-7.62" y2="-10.16" width="0.1524" layer="21"/>
<pad name="DIR" x="-6.35" y="-8.89" drill="0.9" diameter="1.5" shape="square" rot="R90"/>
<pad name="STEP" x="-6.35" y="-6.35" drill="0.9" diameter="1.5" rot="R90"/>
<pad name="NC" x="-6.35" y="-3.81" drill="0.9" diameter="1.5" rot="R90"/>
<pad name="NC/CFG0" x="-6.35" y="-1.27" drill="0.9" diameter="1.5" rot="R90"/>
<pad name="CFG3" x="-6.35" y="1.27" drill="0.9" diameter="1.5" rot="R90"/>
<pad name="CFG2" x="-6.35" y="3.81" drill="0.9" diameter="1.5" rot="R90"/>
<pad name="CFG1" x="-6.35" y="6.35" drill="0.9" diameter="1.5" rot="R90"/>
<pad name="EN" x="-6.35" y="8.89" drill="0.9" diameter="1.5" rot="R90"/>
<pad name="GND@2" x="6.35" y="-8.89" drill="0.9" diameter="1.5" rot="R90"/>
<pad name="VIO" x="6.35" y="-6.35" drill="0.9" diameter="1.5" rot="R90"/>
<pad name="M1B" x="6.35" y="-3.81" drill="0.9" diameter="1.5" rot="R90"/>
<pad name="M1A" x="6.35" y="-1.27" drill="0.9" diameter="1.5" rot="R90"/>
<pad name="M2A" x="6.35" y="1.27" drill="0.9" diameter="1.5" rot="R90"/>
<pad name="M2B" x="6.35" y="3.81" drill="0.9" diameter="1.5" rot="R90"/>
<pad name="GND@1" x="6.35" y="6.35" drill="0.9" diameter="1.5" rot="R90"/>
<pad name="VM" x="6.35" y="8.89" drill="0.9" diameter="1.5" shape="square" rot="R90"/>
<pad name="VREF" x="-3.81" y="8.89" drill="0.9" diameter="1.5" rot="R90"/>
<pad name="DIAG1" x="-1.27" y="8.89" drill="0.9" diameter="1.5" rot="R90"/>
<pad name="DIAG0" x="-2.54" y="7.239" drill="0.9" diameter="1.5" rot="R90"/>
<text x="0" y="1.27" size="0.8128" layer="25" font="vector" ratio="10" rot="R180" align="center">>NAME</text>
<text x="0" y="-1.27" size="0.8128" layer="27" font="vector" ratio="10" rot="R180" align="center">>VALUE</text>
</package>
</packages>
</library>
<library name="arduinoNano">
<packages>
<package name="ARDUINO_NANO2">
<description>Arduino Nano2

Auto generated by modulcreator.ulp

\;</description>
<wire x1="-8.89" y1="-21.59" x2="8.89" y2="-21.59" width="0" layer="21"/>
<wire x1="8.89" y1="-21.59" x2="8.89" y2="21.59" width="0" layer="21"/>
<wire x1="8.89" y1="21.59" x2="-8.89" y2="21.59" width="0" layer="21"/>
<wire x1="-8.89" y1="21.59" x2="-8.89" y2="-21.59" width="0" layer="21"/>
<pad name="J1.1" x="-7.62" y="17.78" drill="0.9144" diameter="1.778" shape="square" rot="R270"/>
<pad name="J1.2" x="-7.62" y="15.24" drill="0.9144" diameter="1.778" rot="R270"/>
<pad name="J1.3" x="-7.62" y="12.7" drill="0.9144" diameter="1.778" rot="R270"/>
<pad name="J1.4" x="-7.62" y="10.16" drill="0.9144" diameter="1.778" rot="R270"/>
<pad name="J1.5" x="-7.62" y="7.62" drill="0.9144" diameter="1.778" rot="R270"/>
<pad name="J1.6" x="-7.62" y="5.08" drill="0.9144" diameter="1.778" rot="R270"/>
<pad name="J1.7" x="-7.62" y="2.54" drill="0.9144" diameter="1.778" rot="R270"/>
<pad name="J1.8" x="-7.62" y="0" drill="0.9144" diameter="1.778" rot="R270"/>
<pad name="J1.9" x="-7.62" y="-2.54" drill="0.9144" diameter="1.778" rot="R270"/>
<pad name="J1.10" x="-7.62" y="-5.08" drill="0.9144" diameter="1.778" rot="R270"/>
<pad name="J1.11" x="-7.62" y="-7.62" drill="0.9144" diameter="1.778" rot="R270"/>
<pad name="J1.12" x="-7.62" y="-10.16" drill="0.9144" diameter="1.778" rot="R270"/>
<pad name="J1.13" x="-7.62" y="-12.7" drill="0.9144" diameter="1.778" rot="R270"/>
<pad name="J1.14" x="-7.62" y="-15.24" drill="0.9144" diameter="1.778" rot="R270"/>
<pad name="J1.15" x="-7.62" y="-17.78" drill="0.9144" diameter="1.778" rot="R270"/>
<pad name="J2.1" x="7.62" y="17.78" drill="0.9144" diameter="1.778" rot="R270"/>
<pad name="J2.2" x="7.62" y="15.24" drill="0.9144" diameter="1.778" rot="R270"/>
<pad name="J2.3" x="7.62" y="12.7" drill="0.9144" diameter="1.778" rot="R270"/>
<pad name="J2.4" x="7.62" y="10.16" drill="0.9144" diameter="1.778" rot="R270"/>
<pad name="J2.5" x="7.62" y="7.62" drill="0.9144" diameter="1.778" rot="R270"/>
<pad name="J2.6" x="7.62" y="5.08" drill="0.9144" diameter="1.778" rot="R270"/>
<pad name="J2.7" x="7.62" y="2.54" drill="0.9144" diameter="1.778" rot="R270"/>
<pad name="J2.8" x="7.62" y="0" drill="0.9144" diameter="1.778" rot="R270"/>
<pad name="J2.9" x="7.62" y="-2.54" drill="0.9144" diameter="1.778" rot="R270"/>
<pad name="J2.10" x="7.62" y="-5.08" drill="0.9144" diameter="1.778" rot="R270"/>
<pad name="J2.11" x="7.62" y="-7.62" drill="0.9144" diameter="1.778" rot="R270"/>
<pad name="J2.12" x="7.62" y="-10.16" drill="0.9144" diameter="1.778" rot="R270"/>
<pad name="J2.13" x="7.62" y="-12.7" drill="0.9144" diameter="1.778" rot="R270"/>
<pad name="J2.14" x="7.62" y="-15.24" drill="0.9144" diameter="1.778" rot="R270"/>
<pad name="J2.15" x="7.62" y="-17.78" drill="0.9144" diameter="1.778" rot="R270"/>
<text x="0" y="19.6" size="1" layer="25" font="vector">>NAME</text>
<text x="0" y="-19.6" size="1" layer="27" font="vector">>VALUE</text>
<hole x="-7.62" y="-20.32" drill="1.651"/>
<hole x="7.62" y="-20.32" drill="1.651"/>
<hole x="7.62" y="20.32" drill="1.651"/>
<hole x="-7.62" y="20.32" drill="1.651"/>
</package>
</packages>
</library>
<library name="SparkFun-IC-Logic" urn="urn:adsk.eagle:library:523">
<description>
SparkFun Logic ICs

This library contains parts which fit into the standard logic IC families.

This library is special as the devices are most generalized, with manufacturer specific variants stemming from the generalized numbers.  It also uses individual gates for common parts with a power consort.  Place the gates in a schematic such that they are easy to see in the circuit, and apply power to the power symbol for multigate packages.

We've spent an enormous amount of time creating and checking these footprints and parts, but it is  the end user's responsibility to ensure correctness and suitablity for a given componet or application.

If you enjoy using this library, please buy one of our products at SparkFun.com.

Licensing: Creative Commons ShareAlike 4.0 International - https://creativecommons.org/licenses/by-sa/4.0/

You are welcome to use this library for commercial purposes. For attribution, we ask that when you begin to sell your device using our footprint, you email us with a link to the product being sold. We want bragging rights that we helped (in a very small part) to create your 8th world wonder. We would like the opportunity to feature your device on our homepage.</description>
<packages>
<package name="DIP16" urn="urn:adsk.eagle:footprint:38791/1" library_version="1">
<description>Dual In Line Package</description>
<wire x1="10.16" y1="2.54" x2="-10.16" y2="2.54" width="0.2032" layer="21"/>
<wire x1="-10.16" y1="-2.54" x2="10.16" y2="-2.54" width="0.2032" layer="21"/>
<wire x1="10.16" y1="2.54" x2="10.16" y2="-2.54" width="0.2032" layer="21"/>
<wire x1="-10.16" y1="2.54" x2="-10.16" y2="1.016" width="0.2032" layer="21"/>
<wire x1="-10.16" y1="-2.54" x2="-10.16" y2="-1.016" width="0.2032" layer="21"/>
<wire x1="-10.16" y1="-1.016" x2="-10.16" y2="1.016" width="0.2032" layer="21" curve="180"/>
<pad name="1" x="-8.89" y="-3.81" drill="0.8128" diameter="1.6256" rot="R90"/>
<pad name="2" x="-6.35" y="-3.81" drill="0.8128" diameter="1.6256" rot="R90"/>
<pad name="3" x="-3.81" y="-3.81" drill="0.8128" diameter="1.6256" rot="R90"/>
<pad name="4" x="-1.27" y="-3.81" drill="0.8128" diameter="1.6256" rot="R90"/>
<pad name="5" x="1.27" y="-3.81" drill="0.8128" diameter="1.6256" rot="R90"/>
<pad name="6" x="3.81" y="-3.81" drill="0.8128" diameter="1.6256" rot="R90"/>
<pad name="7" x="6.35" y="-3.81" drill="0.8128" diameter="1.6256" rot="R90"/>
<pad name="8" x="8.89" y="-3.81" drill="0.8128" diameter="1.6256" rot="R90"/>
<pad name="9" x="8.89" y="3.81" drill="0.8128" diameter="1.6256" rot="R90"/>
<pad name="10" x="6.35" y="3.81" drill="0.8128" diameter="1.6256" rot="R90"/>
<pad name="11" x="3.81" y="3.81" drill="0.8128" diameter="1.6256" rot="R90"/>
<pad name="12" x="1.27" y="3.81" drill="0.8128" diameter="1.6256" rot="R90"/>
<pad name="13" x="-1.27" y="3.81" drill="0.8128" diameter="1.6256" rot="R90"/>
<pad name="14" x="-3.81" y="3.81" drill="0.8128" diameter="1.6256" rot="R90"/>
<pad name="15" x="-6.35" y="3.81" drill="0.8128" diameter="1.6256" rot="R90"/>
<pad name="16" x="-8.89" y="3.81" drill="0.8128" diameter="1.6256" rot="R90"/>
<text x="-10.795" y="0" size="0.6096" layer="25" font="vector" ratio="20" rot="R90" align="bottom-center">>NAME</text>
<text x="11.43" y="0" size="0.6096" layer="27" font="vector" ratio="20" rot="R90" align="bottom-center">>VALUE</text>
<polygon width="0.127" layer="21">
<vertex x="-11.27125" y="-3.175" curve="-90"/>
<vertex x="-10.795" y="-2.69875" curve="-90"/>
<vertex x="-10.31875" y="-3.175" curve="-90"/>
<vertex x="-10.795" y="-3.65125" curve="-90"/>
</polygon>
</package>
</packages>
<packages3d>
<package3d name="DIP16" urn="urn:adsk.eagle:package:38809/1" type="box" library_version="1">
<description>Dual In Line Package</description>
<packageinstances>
<packageinstance name="DIP16"/>
</packageinstances>
</package3d>
</packages3d>
</library>
<library name="pinhead" urn="urn:adsk.eagle:library:325">
<description>Pin Header Connectors

<author>Created by librarian@cadsoft.de</author></description>
<packages>
<package name="2X03" urn="urn:adsk.eagle:footprint:22348/1" library_version="3">
<description>PIN HEADER</description>
<wire x1="-3.81" y1="-1.905" x2="-3.175" y2="-2.54" width="0.1524" layer="21"/>
<wire x1="-1.905" y1="-2.54" x2="-1.27" y2="-1.905" width="0.1524" layer="21"/>
<wire x1="-1.27" y1="-1.905" x2="-0.635" y2="-2.54" width="0.1524" layer="21"/>
<wire x1="0.635" y1="-2.54" x2="1.27" y2="-1.905" width="0.1524" layer="21"/>
<wire x1="-3.81" y1="-1.905" x2="-3.81" y2="1.905" width="0.1524" layer="21"/>
<wire x1="-3.81" y1="1.905" x2="-3.175" y2="2.54" width="0.1524" layer="21"/>
<wire x1="-3.175" y1="2.54" x2="-1.905" y2="2.54" width="0.1524" layer="21"/>
<wire x1="-1.905" y1="2.54" x2="-1.27" y2="1.905" width="0.1524" layer="21"/>
<wire x1="-1.27" y1="1.905" x2="-0.635" y2="2.54" width="0.1524" layer="21"/>
<wire x1="-0.635" y1="2.54" x2="0.635" y2="2.54" width="0.1524" layer="21"/>
<wire x1="0.635" y1="2.54" x2="1.27" y2="1.905" width="0.1524" layer="21"/>
<wire x1="-1.27" y1="1.905" x2="-1.27" y2="-1.905" width="0.1524" layer="21"/>
<wire x1="1.27" y1="1.905" x2="1.27" y2="-1.905" width="0.1524" layer="21"/>
<wire x1="-0.635" y1="-2.54" x2="0.635" y2="-2.54" width="0.1524" layer="21"/>
<wire x1="-3.175" y1="-2.54" x2="-1.905" y2="-2.54" width="0.1524" layer="21"/>
<wire x1="1.27" y1="-1.905" x2="1.905" y2="-2.54" width="0.1524" layer="21"/>
<wire x1="3.175" y1="-2.54" x2="3.81" y2="-1.905" width="0.1524" layer="21"/>
<wire x1="1.27" y1="1.905" x2="1.905" y2="2.54" width="0.1524" layer="21"/>
<wire x1="1.905" y1="2.54" x2="3.175" y2="2.54" width="0.1524" layer="21"/>
<wire x1="3.175" y1="2.54" x2="3.81" y2="1.905" width="0.1524" layer="21"/>
<wire x1="3.81" y1="1.905" x2="3.81" y2="-1.905" width="0.1524" layer="21"/>
<wire x1="1.905" y1="-2.54" x2="3.175" y2="-2.54" width="0.1524" layer="21"/>
<pad name="1" x="-2.54" y="-1.27" drill="1.016" shape="octagon"/>
<pad name="2" x="-2.54" y="1.27" drill="1.016" shape="octagon"/>
<pad name="3" x="0" y="-1.27" drill="1.016" shape="octagon"/>
<pad name="4" x="0" y="1.27" drill="1.016" shape="octagon"/>
<pad name="5" x="2.54" y="-1.27" drill="1.016" shape="octagon"/>
<pad name="6" x="2.54" y="1.27" drill="1.016" shape="octagon"/>
<text x="-3.81" y="3.175" size="1.27" layer="25" ratio="10">>NAME</text>
<text x="-3.81" y="-4.445" size="1.27" layer="27">>VALUE</text>
<rectangle x1="-2.794" y1="-1.524" x2="-2.286" y2="-1.016" layer="51"/>
<rectangle x1="-2.794" y1="1.016" x2="-2.286" y2="1.524" layer="51"/>
<rectangle x1="-0.254" y1="1.016" x2="0.254" y2="1.524" layer="51"/>
<rectangle x1="-0.254" y1="-1.524" x2="0.254" y2="-1.016" layer="51"/>
<rectangle x1="2.286" y1="1.016" x2="2.794" y2="1.524" layer="51"/>
<rectangle x1="2.286" y1="-1.524" x2="2.794" y2="-1.016" layer="51"/>
</package>
<package name="1X03" urn="urn:adsk.eagle:footprint:22340/1" library_version="3">
<description>PIN HEADER</description>
<wire x1="-3.175" y1="1.27" x2="-1.905" y2="1.27" width="0.1524" layer="21"/>
<wire x1="-1.905" y1="1.27" x2="-1.27" y2="0.635" width="0.1524" layer="21"/>
<wire x1="-1.27" y1="0.635" x2="-1.27" y2="-0.635" width="0.1524" layer="21"/>
<wire x1="-1.27" y1="-0.635" x2="-1.905" y2="-1.27" width="0.1524" layer="21"/>
<wire x1="-1.27" y1="0.635" x2="-0.635" y2="1.27" width="0.1524" layer="21"/>
<wire x1="-0.635" y1="1.27" x2="0.635" y2="1.27" width="0.1524" layer="21"/>
<wire x1="0.635" y1="1.27" x2="1.27" y2="0.635" width="0.1524" layer="21"/>
<wire x1="1.27" y1="0.635" x2="1.27" y2="-0.635" width="0.1524" layer="21"/>
<wire x1="1.27" y1="-0.635" x2="0.635" y2="-1.27" width="0.1524" layer="21"/>
<wire x1="0.635" y1="-1.27" x2="-0.635" y2="-1.27" width="0.1524" layer="21"/>
<wire x1="-0.635" y1="-1.27" x2="-1.27" y2="-0.635" width="0.1524" layer="21"/>
<wire x1="-3.81" y1="0.635" x2="-3.81" y2="-0.635" width="0.1524" layer="21"/>
<wire x1="-3.175" y1="1.27" x2="-3.81" y2="0.635" width="0.1524" layer="21"/>
<wire x1="-3.81" y1="-0.635" x2="-3.175" y2="-1.27" width="0.1524" layer="21"/>
<wire x1="-1.905" y1="-1.27" x2="-3.175" y2="-1.27" width="0.1524" layer="21"/>
<wire x1="1.27" y1="0.635" x2="1.905" y2="1.27" width="0.1524" layer="21"/>
<wire x1="1.905" y1="1.27" x2="3.175" y2="1.27" width="0.1524" layer="21"/>
<wire x1="3.175" y1="1.27" x2="3.81" y2="0.635" width="0.1524" layer="21"/>
<wire x1="3.81" y1="0.635" x2="3.81" y2="-0.635" width="0.1524" layer="21"/>
<wire x1="3.81" y1="-0.635" x2="3.175" y2="-1.27" width="0.1524" layer="21"/>
<wire x1="3.175" y1="-1.27" x2="1.905" y2="-1.27" width="0.1524" layer="21"/>
<wire x1="1.905" y1="-1.27" x2="1.27" y2="-0.635" width="0.1524" layer="21"/>
<pad name="1" x="-2.54" y="0" drill="1.016" shape="long" rot="R90"/>
<pad name="2" x="0" y="0" drill="1.016" shape="long" rot="R90"/>
<pad name="3" x="2.54" y="0" drill="1.016" shape="long" rot="R90"/>
<text x="-3.8862" y="1.8288" size="1.27" layer="25" ratio="10">>NAME</text>
<text x="-3.81" y="-3.175" size="1.27" layer="27">>VALUE</text>
<rectangle x1="-0.254" y1="-0.254" x2="0.254" y2="0.254" layer="51"/>
<rectangle x1="-2.794" y1="-0.254" x2="-2.286" y2="0.254" layer="51"/>
<rectangle x1="2.286" y1="-0.254" x2="2.794" y2="0.254" layer="51"/>
</package>
</packages>
<packages3d>
<package3d name="2X03" urn="urn:adsk.eagle:package:22462/2" type="model" library_version="3">
<description>PIN HEADER</description>
<packageinstances>
<packageinstance name="2X03"/>
</packageinstances>
</package3d>
<package3d name="1X03" urn="urn:adsk.eagle:package:22458/2" type="model" library_version="3">
<description>PIN HEADER</description>
<packageinstances>
<packageinstance name="1X03"/>
</packageinstances>
</package3d>
</packages3d>
</library>
</libraries>
<attributes>
</attributes>
<variantdefs>
</variantdefs>
<classes>
<class number="0" name="default" width="0" drill="0">
</class>
</classes>
<designrules name="default">
<description language="de">EAGLE Design Rules

Die Standard-Design-Rules sind so gewählt, dass sie für
die meisten Anwendungen passen. Sollte ihre Platine
besondere Anforderungen haben, treffen Sie die erforderlichen
Einstellungen hier und speichern die Design Rules unter
einem neuen Namen ab.</description>
<description language="en">EAGLE Design Rules

The default Design Rules have been set to cover
a wide range of applications. Your particular design
may have different requirements, so please make the
necessary adjustments and save your customized
design rules under a new name.</description>
<param name="layerSetup" value="(1*16)"/>
<param name="mtCopper" value="0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm"/>
<param name="mtIsolate" value="1.5mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm"/>
<param name="mdWireWire" value="6mil"/>
<param name="mdWirePad" value="6mil"/>
<param name="mdWireVia" value="6mil"/>
<param name="mdPadPad" value="6mil"/>
<param name="mdPadVia" value="6mil"/>
<param name="mdViaVia" value="6mil"/>
<param name="mdSmdPad" value="6mil"/>
<param name="mdSmdVia" value="6mil"/>
<param name="mdSmdSmd" value="6mil"/>
<param name="mdViaViaSameLayer" value="6mil"/>
<param name="mnLayersViaInSmd" value="2"/>
<param name="mdCopperDimension" value="40mil"/>
<param name="mdDrill" value="6mil"/>
<param name="mdSmdStop" value="0mil"/>
<param name="msWidth" value="6mil"/>
<param name="msDrill" value="0.35mm"/>
<param name="msMicroVia" value="9.99mm"/>
<param name="msBlindViaRatio" value="0.5"/>
<param name="rvPadTop" value="0.25"/>
<param name="rvPadInner" value="0.25"/>
<param name="rvPadBottom" value="0.25"/>
<param name="rvViaOuter" value="0.25"/>
<param name="rvViaInner" value="0.25"/>
<param name="rvMicroViaOuter" value="0.25"/>
<param name="rvMicroViaInner" value="0.25"/>
<param name="rlMinPadTop" value="10mil"/>
<param name="rlMaxPadTop" value="20mil"/>
<param name="rlMinPadInner" value="10mil"/>
<param name="rlMaxPadInner" value="20mil"/>
<param name="rlMinPadBottom" value="10mil"/>
<param name="rlMaxPadBottom" value="20mil"/>
<param name="rlMinViaOuter" value="8mil"/>
<param name="rlMaxViaOuter" value="20mil"/>
<param name="rlMinViaInner" value="8mil"/>
<param name="rlMaxViaInner" value="20mil"/>
<param name="rlMinMicroViaOuter" value="4mil"/>
<param name="rlMaxMicroViaOuter" value="20mil"/>
<param name="rlMinMicroViaInner" value="4mil"/>
<param name="rlMaxMicroViaInner" value="20mil"/>
<param name="psTop" value="-1"/>
<param name="psBottom" value="-1"/>
<param name="psFirst" value="-1"/>
<param name="psElongationLong" value="100"/>
<param name="psElongationOffset" value="100"/>
<param name="mvStopFrame" value="1"/>
<param name="mvCreamFrame" value="0"/>
<param name="mlMinStopFrame" value="4mil"/>
<param name="mlMaxStopFrame" value="4mil"/>
<param name="mlMinCreamFrame" value="0mil"/>
<param name="mlMaxCreamFrame" value="0mil"/>
<param name="mlViaStopLimit" value="0mil"/>
<param name="srRoundness" value="0"/>
<param name="srMinRoundness" value="0mil"/>
<param name="srMaxRoundness" value="0mil"/>
<param name="slThermalIsolate" value="10mil"/>
<param name="slThermalsForVias" value="0"/>
<param name="dpMaxLengthDifference" value="10mm"/>
<param name="dpGapFactor" value="2.5"/>
<param name="checkAngle" value="0"/>
<param name="checkFont" value="1"/>
<param name="checkRestrict" value="1"/>
<param name="checkStop" value="0"/>
<param name="checkValues" value="0"/>
<param name="checkNames" value="1"/>
<param name="checkWireStubs" value="1"/>
<param name="checkPolygonWidth" value="0"/>
<param name="useDiameter" value="13"/>
<param name="maxErrors" value="50"/>
</designrules>
<autorouter>
<pass name="Default">
<param name="RoutingGrid" value="6.25mil"/>
<param name="AutoGrid" value="1"/>
<param name="Efforts" value="2"/>
<param name="TopRouterVariant" value="1"/>
<param name="tpViaShape" value="round"/>
<param name="PrefDir.1" value="*"/>
<param name="PrefDir.2" value="0"/>
<param name="PrefDir.3" value="0"/>
<param name="PrefDir.4" value="0"/>
<param name="PrefDir.5" value="0"/>
<param name="PrefDir.6" value="0"/>
<param name="PrefDir.7" value="0"/>
<param name="PrefDir.8" value="0"/>
<param name="PrefDir.9" value="0"/>
<param name="PrefDir.10" value="0"/>
<param name="PrefDir.11" value="0"/>
<param name="PrefDir.12" value="0"/>
<param name="PrefDir.13" value="0"/>
<param name="PrefDir.14" value="0"/>
<param name="PrefDir.15" value="0"/>
<param name="PrefDir.16" value="*"/>
<param name="cfVia" value="8"/>
<param name="cfNonPref" value="5"/>
<param name="cfChangeDir" value="2"/>
<param name="cfOrthStep" value="2"/>
<param name="cfDiagStep" value="3"/>
<param name="cfExtdStep" value="0"/>
<param name="cfBonusStep" value="1"/>
<param name="cfMalusStep" value="1"/>
<param name="cfPadImpact" value="4"/>
<param name="cfSmdImpact" value="4"/>
<param name="cfBusImpact" value="0"/>
<param name="cfHugging" value="3"/>
<param name="cfAvoid" value="4"/>
<param name="cfPolygon" value="10"/>
<param name="cfBase.1" value="0"/>
<param name="cfBase.2" value="1"/>
<param name="cfBase.3" value="1"/>
<param name="cfBase.4" value="1"/>
<param name="cfBase.5" value="1"/>
<param name="cfBase.6" value="1"/>
<param name="cfBase.7" value="1"/>
<param name="cfBase.8" value="1"/>
<param name="cfBase.9" value="1"/>
<param name="cfBase.10" value="1"/>
<param name="cfBase.11" value="1"/>
<param name="cfBase.12" value="1"/>
<param name="cfBase.13" value="1"/>
<param name="cfBase.14" value="1"/>
<param name="cfBase.15" value="1"/>
<param name="cfBase.16" value="0"/>
<param name="mnVias" value="20"/>
<param name="mnSegments" value="9999"/>
<param name="mnExtdSteps" value="9999"/>
<param name="mnRipupLevel" value="10"/>
<param name="mnRipupSteps" value="100"/>
<param name="mnRipupTotal" value="100"/>
</pass>
<pass name="Follow-me" refer="Default" active="yes">
</pass>
<pass name="Busses" refer="Default" active="yes">
<param name="cfNonPref" value="4"/>
<param name="cfBusImpact" value="4"/>
<param name="cfHugging" value="0"/>
<param name="mnVias" value="0"/>
</pass>
<pass name="Route" refer="Default" active="yes">
</pass>
<pass name="Optimize1" refer="Default" active="yes">
<param name="cfVia" value="99"/>
<param name="cfExtdStep" value="10"/>
<param name="cfHugging" value="1"/>
<param name="mnExtdSteps" value="1"/>
<param name="mnRipupLevel" value="0"/>
</pass>
<pass name="Optimize2" refer="Optimize1" active="yes">
<param name="cfNonPref" value="0"/>
<param name="cfChangeDir" value="6"/>
<param name="cfExtdStep" value="0"/>
<param name="cfBonusStep" value="2"/>
<param name="cfMalusStep" value="2"/>
<param name="cfPadImpact" value="2"/>
<param name="cfSmdImpact" value="2"/>
<param name="cfHugging" value="0"/>
</pass>
<pass name="Optimize3" refer="Optimize2" active="yes">
<param name="cfChangeDir" value="8"/>
<param name="cfPadImpact" value="0"/>
<param name="cfSmdImpact" value="0"/>
</pass>
<pass name="Optimize4" refer="Optimize3" active="yes">
<param name="cfChangeDir" value="25"/>
</pass>
</autorouter>
<elements>
<element name="B1" library="we-board" package="STEPSTICK_TP" value="STEPSTICK-TP" x="19.05" y="64.77" smashed="yes" rot="R90">
<attribute name="NAME" x="17.78" y="63.5" size="0.8128" layer="25" font="vector" ratio="10" rot="R270" align="center"/>
<attribute name="VALUE" x="20.32" y="64.77" size="0.8128" layer="27" font="vector" ratio="10" rot="R270" align="center"/>
</element>
<element name="B2" library="we-board" package="STEPSTICK_TP" value="STEPSTICK-TP" x="40.64" y="64.77" smashed="yes" rot="R90">
<attribute name="NAME" x="39.37" y="66.04" size="0.8128" layer="25" font="vector" ratio="10" rot="R270" align="center"/>
<attribute name="VALUE" x="41.91" y="64.77" size="0.8128" layer="27" font="vector" ratio="10" rot="R270" align="center"/>
</element>
<element name="B3" library="we-board" package="STEPSTICK_TP" value="STEPSTICK-TP" x="62.23" y="64.77" smashed="yes" rot="R90">
<attribute name="NAME" x="60.96" y="64.77" size="0.8128" layer="25" font="vector" ratio="10" rot="R270" align="center"/>
<attribute name="VALUE" x="63.5" y="64.77" size="0.8128" layer="27" font="vector" ratio="10" rot="R270" align="center"/>
</element>
<element name="B4" library="we-board" package="STEPSTICK_TP" value="STEPSTICK-TP" x="83.82" y="64.77" smashed="yes" rot="R90">
<attribute name="NAME" x="82.55" y="64.77" size="0.8128" layer="25" font="vector" ratio="10" rot="R270" align="center"/>
<attribute name="VALUE" x="85.09" y="64.77" size="0.8128" layer="27" font="vector" ratio="10" rot="R270" align="center"/>
</element>
<element name="MODUL1" library="arduinoNano" package="ARDUINO_NANO2" value="ARDUINO_NANO2" x="29.21" y="11.43" smashed="yes" rot="R270">
<attribute name="ANZAHL" value="2" x="7.62" y="-13.97" size="1.778" layer="27" rot="R270" display="off"/>
<attribute name="MODUL" value="TRUE" x="7.62" y="-13.97" size="1.778" layer="27" rot="R270" display="off"/>
<attribute name="NAME" x="48.81" y="11.43" size="1" layer="25" font="vector" rot="R270"/>
<attribute name="STECKPSI0" value="" x="7.62" y="-13.97" size="1.778" layer="27" rot="R270" display="off"/>
<attribute name="STECKPSI1" value="" x="7.62" y="-13.97" size="1.778" layer="27" rot="R270" display="off"/>
<attribute name="STECKX0" value="-76200" x="7.62" y="-13.97" size="1.778" layer="27" rot="R270" display="off"/>
<attribute name="STECKX1" value="76200" x="7.62" y="-13.97" size="1.778" layer="27" rot="R270" display="off"/>
<attribute name="STECKY0" value="177800" x="7.62" y="-13.97" size="1.778" layer="27" rot="R270" display="off"/>
<attribute name="STECKY1" value="177800" x="7.62" y="-13.97" size="1.778" layer="27" rot="R270" display="off"/>
<attribute name="VALUE" x="9.61" y="11.43" size="1" layer="27" font="vector" rot="R270"/>
</element>
<element name="U1" library="SparkFun-IC-Logic" library_urn="urn:adsk.eagle:library:523" package="DIP16" package3d_urn="urn:adsk.eagle:package:38809/1" value="SN74HC595N " x="25.4" y="39.37" smashed="yes" rot="R180">
<attribute name="NAME" x="36.195" y="39.37" size="0.6096" layer="25" font="vector" ratio="20" rot="R270" align="bottom-center"/>
<attribute name="PROD_ID" value="IC-13123" x="0" y="109.22" size="1.778" layer="27" rot="R180" display="off"/>
<attribute name="VALUE" x="13.97" y="39.37" size="0.6096" layer="27" font="vector" ratio="20" rot="R270" align="bottom-center"/>
</element>
<element name="U2" library="SparkFun-IC-Logic" library_urn="urn:adsk.eagle:library:523" package="DIP16" package3d_urn="urn:adsk.eagle:package:38809/1" value="SN74HC595N " x="52.07" y="39.37" smashed="yes" rot="R180">
<attribute name="NAME" x="62.865" y="39.37" size="0.6096" layer="25" font="vector" ratio="20" rot="R270" align="bottom-center"/>
<attribute name="PROD_ID" value="IC-13123" x="2.54" y="109.22" size="1.778" layer="27" rot="R180" display="off"/>
<attribute name="VALUE" x="40.64" y="39.37" size="0.6096" layer="27" font="vector" ratio="20" rot="R270" align="bottom-center"/>
</element>
<element name="POWER" library="pinhead" library_urn="urn:adsk.eagle:library:325" package="2X03" package3d_urn="urn:adsk.eagle:package:22462/2" value="" x="77.47" y="12.7" smashed="yes" rot="R270">
<attribute name="NAME" x="80.645" y="16.51" size="1.27" layer="25" ratio="10" rot="R270"/>
<attribute name="VALUE" x="73.025" y="16.51" size="1.27" layer="27" rot="R270"/>
</element>
<element name="SERIAL_CONN" library="pinhead" library_urn="urn:adsk.eagle:library:325" package="1X03" package3d_urn="urn:adsk.eagle:package:22458/2" value="" x="57.15" y="12.7" smashed="yes" rot="R270">
<attribute name="NAME" x="58.9788" y="16.5862" size="1.27" layer="25" ratio="10" rot="R270"/>
<attribute name="VALUE" x="53.975" y="16.51" size="1.27" layer="27" rot="R270"/>
</element>
<element name="POWER_CONN" library="pinhead" library_urn="urn:adsk.eagle:library:325" package="1X03" package3d_urn="urn:adsk.eagle:package:22458/2" value="" x="88.9" y="12.7" smashed="yes" rot="R90">
<attribute name="NAME" x="87.0712" y="8.8138" size="1.27" layer="25" ratio="10" rot="R90"/>
<attribute name="VALUE" x="92.075" y="8.89" size="1.27" layer="27" rot="R90"/>
</element>
</elements>
<signals>
<signal name="+5V">
<contactref element="MODUL1" pad="J2.4"/>
<contactref element="POWER" pad="1"/>
<contactref element="POWER" pad="6"/>
<contactref element="B1" pad="VIO"/>
<contactref element="B2" pad="VIO"/>
<contactref element="B3" pad="VIO"/>
<contactref element="B4" pad="VIO"/>
<contactref element="U1" pad="16"/>
<contactref element="U2" pad="16"/>
<contactref element="POWER_CONN" pad="2"/>
<wire x1="78.74" y1="10.16" x2="82.55" y2="10.16" width="0.3048" layer="16"/>
<wire x1="82.55" y1="10.16" x2="85.09" y2="12.7" width="0.3048" layer="16"/>
<wire x1="85.09" y1="12.7" x2="88.9" y2="12.7" width="0.3048" layer="16"/>
<wire x1="78.74" y1="10.16" x2="77.47" y2="11.43" width="0.3048" layer="16"/>
<wire x1="77.47" y1="11.43" x2="77.47" y2="13.97" width="0.3048" layer="16"/>
<wire x1="77.47" y1="13.97" x2="76.2" y2="15.24" width="0.3048" layer="16"/>
<wire x1="39.37" y1="3.81" x2="42.7228" y2="7.1628" width="0.3048" layer="16"/>
<wire x1="42.7228" y1="7.1628" x2="61.14938125" y2="7.1628" width="0.3048" layer="16"/>
<wire x1="60.96" y1="27.31658125" x2="60.96" y2="35.56" width="0.3048" layer="16"/>
<wire x1="61.14938125" y1="7.1628" x2="63.823290625" y2="9.836709375" width="0.3048" layer="16"/>
<wire x1="63.823290625" y1="9.836709375" x2="63.9572" y2="9.97061875" width="0.3048" layer="16"/>
<wire x1="63.9572" y1="9.97061875" x2="63.9572" y2="24.31938125" width="0.3048" layer="16"/>
<wire x1="63.9572" y1="24.31938125" x2="60.96" y2="27.31658125" width="0.3048" layer="16"/>
<wire x1="47.1424" y1="35.09706875" x2="47.79706875" y2="34.4424" width="0.3048" layer="16"/>
<wire x1="47.79706875" y1="34.4424" x2="48.26" y2="34.4424" width="0.3048" layer="16"/>
<wire x1="48.26" y1="34.4424" x2="48.72293125" y2="34.4424" width="0.3048" layer="16"/>
<wire x1="37.12906875" y1="38.7096" x2="34.29" y2="35.87053125" width="0.3048" layer="16"/>
<wire x1="34.29" y1="35.56" x2="34.29" y2="35.87053125" width="0.3048" layer="16"/>
<wire x1="60.96" y1="35.56" x2="60.96" y2="35.87053125" width="0.3048" layer="16"/>
<wire x1="60.96" y1="35.87053125" x2="58.88293125" y2="37.9476" width="0.3048" layer="16"/>
<wire x1="44.15093125" y1="38.7096" x2="47.1424" y2="35.71813125" width="0.3048" layer="16"/>
<wire x1="47.1424" y1="35.71813125" x2="47.1424" y2="35.09706875" width="0.3048" layer="16"/>
<wire x1="37.12906875" y1="38.7096" x2="44.15093125" y2="38.7096" width="0.3048" layer="16"/>
<wire x1="51.60706875" y1="37.9476" x2="58.88293125" y2="37.9476" width="0.3048" layer="16"/>
<wire x1="90.17" y1="71.12" x2="88.9" y2="72.39" width="0.3048" layer="16"/>
<wire x1="88.9" y1="72.39" x2="69.85" y2="72.39" width="0.3048" layer="16"/>
<wire x1="69.85" y1="72.39" x2="68.58" y2="71.12" width="0.3048" layer="16"/>
<wire x1="69.85" y1="72.39" x2="48.26" y2="72.39" width="0.3048" layer="16"/>
<wire x1="48.26" y1="72.39" x2="46.99" y2="71.12" width="0.3048" layer="16"/>
<wire x1="48.26" y1="72.39" x2="26.67" y2="72.39" width="0.3048" layer="16"/>
<wire x1="26.67" y1="72.39" x2="25.4" y2="71.12" width="0.3048" layer="16"/>
<wire x1="63.823290625" y1="9.836709375" x2="71.76658125" y2="17.78" width="0.3048" layer="16"/>
<wire x1="71.76658125" y1="17.78" x2="80.01" y2="17.78" width="0.3048" layer="16"/>
<wire x1="80.01" y1="17.78" x2="85.09" y2="12.7" width="0.3048" layer="16"/>
<wire x1="48.26" y1="34.4424" x2="48.72293125" y2="34.4424" width="0.3048" layer="16"/>
<wire x1="48.72293125" y1="34.4424" x2="49.403" y2="35.12246875" width="0.3048" layer="16"/>
<wire x1="49.403" y1="37.211" x2="50.165" y2="37.973" width="0.3048" layer="16"/>
<wire x1="50.165" y1="37.973" x2="51.58166875" y2="37.973" width="0.3048" layer="16"/>
<wire x1="51.58166875" y1="37.973" x2="51.60706875" y2="37.9476" width="0.3048" layer="16"/>
<wire x1="49.403" y1="35.12246875" x2="49.403" y2="37.211" width="0.3048" layer="16"/>
<wire x1="44.15093125" y1="38.7096" x2="46.99" y2="71.12" width="0" layer="19" extent="16-16"/>
</signal>
<signal name="AREF">
<contactref element="MODUL1" pad="J2.13"/>
</signal>
<signal name="3V3">
<contactref element="MODUL1" pad="J2.14"/>
</signal>
<signal name="GND">
<contactref element="MODUL1" pad="J1.4"/>
<contactref element="MODUL1" pad="J2.2"/>
<contactref element="POWER" pad="3"/>
<contactref element="POWER" pad="4"/>
<contactref element="B1" pad="GND@2"/>
<contactref element="B1" pad="GND@1"/>
<contactref element="B4" pad="GND@2"/>
<contactref element="B4" pad="GND@1"/>
<contactref element="B3" pad="GND@2"/>
<contactref element="B3" pad="GND@1"/>
<contactref element="B2" pad="GND@2"/>
<contactref element="B2" pad="GND@1"/>
<contactref element="U1" pad="13"/>
<contactref element="U2" pad="8"/>
<contactref element="U1" pad="8"/>
<contactref element="U2" pad="13"/>
<contactref element="POWER_CONN" pad="3"/>
<contactref element="POWER_CONN" pad="1"/>
<wire x1="12.7" y1="71.12" x2="27.94" y2="71.12" width="0" layer="19" extent="1-1"/>
<wire x1="49.53" y1="71.12" x2="12.7" y2="71.12" width="0" layer="19" extent="1-1"/>
<wire x1="39.37" y1="19.05" x2="49.53" y2="71.12" width="0" layer="19" extent="1-1"/>
<wire x1="34.29" y1="71.12" x2="39.37" y2="19.05" width="0" layer="19" extent="1-1"/>
<wire x1="71.12" y1="71.12" x2="34.29" y2="71.12" width="0" layer="19" extent="1-1"/>
<wire x1="77.47" y1="71.12" x2="71.12" y2="71.12" width="0" layer="19" extent="1-1"/>
<wire x1="55.88" y1="71.12" x2="71.12" y2="71.12" width="0" layer="19" extent="1-1"/>
<wire x1="43.18" y1="43.18" x2="55.88" y2="71.12" width="0" layer="19" extent="1-1"/>
<wire x1="92.71" y1="71.12" x2="43.18" y2="43.18" width="0" layer="19" extent="1-1"/>
<wire x1="76.2" y1="12.7" x2="92.71" y2="71.12" width="0" layer="19" extent="1-1"/>
<wire x1="78.74" y1="12.7" x2="76.2" y2="12.7" width="0" layer="19" extent="1-1"/>
<wire x1="53.34" y1="35.56" x2="43.18" y2="43.18" width="0" layer="19" extent="1-1"/>
<wire x1="88.9" y1="15.24" x2="78.74" y2="12.7" width="0" layer="19" extent="1-1"/>
<wire x1="88.9" y1="10.16" x2="88.9" y2="15.24" width="0" layer="19" extent="1-1"/>
<wire x1="53.34" y1="35.56" x2="26.67" y2="35.56" width="0" layer="19" extent="1-1"/>
<wire x1="43.18" y1="43.18" x2="53.34" y2="35.56" width="0" layer="19" extent="1-1"/>
<wire x1="44.45" y1="3.81" x2="39.37" y2="19.05" width="0" layer="19" extent="1-1"/>
</signal>
<signal name="+12V">
<contactref element="MODUL1" pad="J2.1"/>
<contactref element="POWER" pad="5"/>
<contactref element="POWER" pad="2"/>
<contactref element="B1" pad="VM"/>
<contactref element="B4" pad="VM"/>
<contactref element="B2" pad="VM"/>
<contactref element="B3" pad="VM"/>
<wire x1="76.2" y1="10.16" x2="74.93" y2="10.16" width="0.3048" layer="16"/>
<wire x1="74.93" y1="10.16" x2="73.66" y2="11.43" width="0.3048" layer="16"/>
<wire x1="73.66" y1="11.43" x2="73.66" y2="15.24" width="0.3048" layer="16"/>
<wire x1="73.66" y1="15.24" x2="74.93" y2="16.51" width="0.3048" layer="16"/>
<wire x1="77.47" y1="16.51" x2="78.74" y2="15.24" width="0.3048" layer="16"/>
<wire x1="74.93" y1="16.51" x2="77.47" y2="16.51" width="0.3048" layer="16"/>
<wire x1="50.1199625" y1="6.35" x2="50.8" y2="6.35" width="0.3048" layer="16"/>
<wire x1="50.8" y1="6.35" x2="68.58" y2="6.35" width="0.3048" layer="16"/>
<wire x1="68.58" y1="6.35" x2="73.66" y2="11.43" width="0.3048" layer="16"/>
<wire x1="72.39" y1="68.58" x2="55.88" y2="68.58" width="0.3048" layer="16"/>
<wire x1="55.88" y1="68.58" x2="53.34" y2="71.12" width="0.3048" layer="16"/>
<wire x1="74.93" y1="71.12" x2="72.39" y2="68.58" width="0.3048" layer="16"/>
<wire x1="55.88" y1="68.58" x2="34.29" y2="68.58" width="0.3048" layer="16"/>
<wire x1="34.29" y1="68.58" x2="31.75" y2="71.12" width="0.3048" layer="16"/>
<wire x1="34.29" y1="68.58" x2="12.7" y2="68.58" width="0.3048" layer="16"/>
<wire x1="12.7" y1="68.58" x2="10.16" y2="71.12" width="0.3048" layer="16"/>
<wire x1="46.99" y1="3.81" x2="46.99" y2="5.08" width="0.3048" layer="16"/>
<wire x1="46.99" y1="5.08" x2="48.26" y2="6.35" width="0.3048" layer="16"/>
<wire x1="48.26" y1="6.35" x2="50.8" y2="6.35" width="0.3048" layer="16"/>
<wire x1="74.93" y1="16.51" x2="72.39" y2="68.58" width="0" layer="19" extent="16-16"/>
</signal>
<signal name="SCK">
<contactref element="MODUL1" pad="J2.15"/>
<contactref element="B1" pad="CFG2"/>
<contactref element="B2" pad="CFG2"/>
<contactref element="B4" pad="CFG2"/>
<contactref element="B3" pad="CFG2"/>
<wire x1="15.24" y1="58.42" x2="15.24" y2="55.88" width="0.3048" layer="16"/>
<wire x1="15.24" y1="55.88" x2="15.24" y2="53.34" width="0.3048" layer="16"/>
<wire x1="15.24" y1="53.34" x2="15.24" y2="7.62" width="0.3048" layer="16"/>
<wire x1="15.24" y1="7.62" x2="11.43" y2="3.81" width="0.3048" layer="16"/>
<wire x1="17.78" y1="55.88" x2="34.29" y2="55.88" width="0.3048" layer="16"/>
<wire x1="34.29" y1="55.88" x2="36.83" y2="58.42" width="0.3048" layer="16"/>
<wire x1="34.29" y1="55.88" x2="55.88" y2="55.88" width="0.3048" layer="16"/>
<wire x1="55.88" y1="55.88" x2="58.42" y2="58.42" width="0.3048" layer="16"/>
<wire x1="55.88" y1="55.88" x2="77.47" y2="55.88" width="0.3048" layer="16"/>
<wire x1="77.47" y1="55.88" x2="80.01" y2="58.42" width="0.3048" layer="16"/>
<wire x1="15.24" y1="53.34" x2="17.78" y2="55.88" width="0.3048" layer="16"/>
</signal>
<signal name="MOSI">
<contactref element="MODUL1" pad="J1.14"/>
<contactref element="B1" pad="CFG1"/>
<contactref element="B2" pad="CFG1"/>
<contactref element="B4" pad="CFG1"/>
<contactref element="B3" pad="CFG1"/>
<wire x1="13.97" y1="19.05" x2="13.97" y2="57.15" width="0.3048" layer="16"/>
<wire x1="13.97" y1="57.15" x2="12.7" y2="58.42" width="0.3048" layer="16"/>
<wire x1="12.7" y1="58.42" x2="13.97" y2="59.69" width="0.3048" layer="16"/>
<wire x1="18.0017125" y1="59.69" x2="19.2652" y2="58.4265125" width="0.3048" layer="16"/>
<wire x1="19.2652" y1="58.4265125" x2="19.2652" y2="57.9830875" width="0.3048" layer="16"/>
<wire x1="19.2652" y1="57.9830875" x2="20.0982875" y2="57.15" width="0.3048" layer="16"/>
<wire x1="13.97" y1="59.69" x2="18.0017125" y2="59.69" width="0.3048" layer="16"/>
<wire x1="33.02" y1="57.15" x2="34.29" y2="58.42" width="0.3048" layer="16"/>
<wire x1="20.0982875" y1="57.15" x2="33.02" y2="57.15" width="0.3048" layer="16"/>
<wire x1="34.29" y1="58.42" x2="35.56" y2="59.69" width="0.3048" layer="16"/>
<wire x1="40.4248" y1="57.3652" x2="40.64" y2="57.15" width="0.3048" layer="16"/>
<wire x1="40.4248" y1="58.8569125" x2="40.4248" y2="57.3652" width="0.3048" layer="16"/>
<wire x1="39.5917125" y1="59.69" x2="40.4248" y2="58.8569125" width="0.3048" layer="16"/>
<wire x1="35.56" y1="59.69" x2="39.5917125" y2="59.69" width="0.3048" layer="16"/>
<wire x1="40.64" y1="57.15" x2="54.61" y2="57.15" width="0.3048" layer="16"/>
<wire x1="54.61" y1="57.15" x2="55.88" y2="58.42" width="0.3048" layer="16"/>
<wire x1="55.88" y1="58.42" x2="57.15" y2="59.69" width="0.3048" layer="16"/>
<wire x1="62.0148" y1="57.3652" x2="62.23" y2="57.15" width="0.3048" layer="16"/>
<wire x1="62.0148" y1="58.8569125" x2="62.0148" y2="57.3652" width="0.3048" layer="16"/>
<wire x1="61.1817125" y1="59.69" x2="62.0148" y2="58.8569125" width="0.3048" layer="16"/>
<wire x1="57.15" y1="59.69" x2="61.1817125" y2="59.69" width="0.3048" layer="16"/>
<wire x1="62.23" y1="57.15" x2="76.2" y2="57.15" width="0.3048" layer="16"/>
<wire x1="76.2" y1="57.15" x2="77.47" y2="58.42" width="0.3048" layer="16"/>
</signal>
<signal name="MISO">
<contactref element="MODUL1" pad="J1.15"/>
<contactref element="B1" pad="NC/CFG0"/>
<contactref element="B2" pad="NC/CFG0"/>
<contactref element="B4" pad="NC/CFG0"/>
<contactref element="B3" pad="NC/CFG0"/>
<wire x1="20.32" y1="58.42" x2="20.32" y2="59.69" width="0.3048" layer="16"/>
<wire x1="20.32" y1="59.69" x2="19.05" y2="60.96" width="0.3048" layer="16"/>
<wire x1="11.6452" y1="58.8569125" x2="11.6452" y2="58.6352" width="0.3048" layer="16"/>
<wire x1="11.6452" y1="58.6352" x2="11.43" y2="58.42" width="0.3048" layer="16"/>
<wire x1="19.05" y1="60.96" x2="13.7482875" y2="60.96" width="0.3048" layer="16"/>
<wire x1="13.7482875" y1="60.96" x2="11.6452" y2="58.8569125" width="0.3048" layer="16"/>
<wire x1="11.43" y1="58.42" x2="11.43" y2="19.05" width="0.3048" layer="16"/>
<wire x1="19.05" y1="60.96" x2="40.64" y2="60.96" width="0.3048" layer="16"/>
<wire x1="41.91" y1="59.69" x2="41.91" y2="58.42" width="0.3048" layer="16"/>
<wire x1="41.91" y1="59.69" x2="40.64" y2="60.96" width="0.3048" layer="16"/>
<wire x1="40.64" y1="60.96" x2="62.23" y2="60.96" width="0.3048" layer="16"/>
<wire x1="62.23" y1="60.96" x2="63.5" y2="59.69" width="0.3048" layer="16"/>
<wire x1="63.5" y1="59.69" x2="63.5" y2="58.42" width="0.3048" layer="16"/>
<wire x1="62.23" y1="60.96" x2="82.55" y2="60.96" width="0.3048" layer="16"/>
<wire x1="82.55" y1="60.96" x2="85.09" y2="58.42" width="0.3048" layer="16"/>
<wire x1="62.23" y1="60.96" x2="63.5" y2="59.69" width="0" layer="19" extent="16-16"/>
</signal>
<signal name="N$22">
<contactref element="MODUL1" pad="J1.5"/>
<contactref element="U1" pad="14"/>
<wire x1="36.83" y1="19.05" x2="36.83" y2="27.94" width="0.3048" layer="16"/>
<wire x1="36.83" y1="27.94" x2="29.21" y2="35.56" width="0.3048" layer="16"/>
</signal>
<signal name="N$27">
<contactref element="MODUL1" pad="J1.2"/>
<contactref element="SERIAL_CONN" pad="3"/>
<contactref element="SERIAL_CONN" pad="1"/>
<wire x1="57.15" y1="10.16" x2="58.42" y2="10.16" width="0.3048" layer="16"/>
<wire x1="58.42" y1="10.16" x2="59.69" y2="11.43" width="0.3048" layer="16"/>
<wire x1="59.69" y1="11.43" x2="59.69" y2="13.97" width="0.3048" layer="16"/>
<wire x1="59.69" y1="13.97" x2="58.42" y2="15.24" width="0.3048" layer="16"/>
<wire x1="58.42" y1="15.24" x2="57.15" y2="15.24" width="0.3048" layer="16"/>
<wire x1="44.45" y1="19.05" x2="53.34" y2="10.16" width="0.3048" layer="16"/>
<wire x1="53.34" y1="10.16" x2="57.15" y2="10.16" width="0.3048" layer="16"/>
</signal>
<signal name="N$2">
<contactref element="U1" pad="9"/>
<contactref element="U2" pad="14"/>
<wire x1="16.51" y1="35.56" x2="16.51" y2="33.02" width="0.3048" layer="16"/>
<wire x1="60.76838125" y1="8.0518" x2="62.6872" y2="9.97061875" width="0.3048" layer="16"/>
<wire x1="62.6872" y1="9.97061875" x2="62.6872" y2="24.31938125" width="0.3048" layer="16"/>
<wire x1="62.6872" y1="24.31938125" x2="55.88" y2="31.12658125" width="0.3048" layer="16"/>
<wire x1="28.0162" y1="21.5138" x2="28.0162" y2="18.55550625" width="0.3048" layer="16"/>
<wire x1="28.0162" y1="18.55550625" x2="38.51990625" y2="8.0518" width="0.3048" layer="16"/>
<wire x1="38.51990625" y1="8.0518" x2="60.76838125" y2="8.0518" width="0.3048" layer="16"/>
<wire x1="16.51" y1="33.02" x2="28.0162" y2="21.5138" width="0.3048" layer="16"/>
<wire x1="55.88" y1="31.12658125" x2="55.88" y2="35.56" width="0.3048" layer="16"/>
</signal>
<signal name="SCL">
<contactref element="U2" pad="10"/>
<contactref element="U1" pad="10"/>
<contactref element="MODUL1" pad="J1.7"/>
<wire x1="31.75" y1="19.05" x2="31.75" y2="22.86" width="0.3048" layer="16"/>
<wire x1="31.75" y1="22.86" x2="19.05" y2="35.56" width="0.3048" layer="16"/>
<wire x1="45.72" y1="35.56" x2="45.72" y2="22.86" width="0.3048" layer="16"/>
<wire x1="45.72" y1="22.86" x2="43.18" y2="20.32" width="0.3048" layer="16"/>
<wire x1="43.18" y1="20.32" x2="43.18" y2="17.78" width="0.3048" layer="16"/>
<wire x1="43.18" y1="17.78" x2="41.91" y2="16.51" width="0.3048" layer="16"/>
<wire x1="41.91" y1="16.51" x2="34.29" y2="16.51" width="0.3048" layer="16"/>
<wire x1="34.29" y1="16.51" x2="31.75" y2="19.05" width="0.3048" layer="16"/>
</signal>
<signal name="RCK">
<contactref element="U2" pad="12"/>
<contactref element="U1" pad="12"/>
<contactref element="MODUL1" pad="J1.8"/>
<wire x1="29.21" y1="19.05" x2="29.21" y2="22.86" width="0.3048" layer="16"/>
<wire x1="29.21" y1="22.86" x2="17.78" y2="34.29" width="0.3048" layer="16"/>
<wire x1="17.78" y1="36.83" x2="19.05" y2="38.1" width="0.3048" layer="16"/>
<wire x1="19.05" y1="38.1" x2="21.59" y2="38.1" width="0.3048" layer="16"/>
<wire x1="21.59" y1="38.1" x2="24.13" y2="35.56" width="0.3048" layer="16"/>
<wire x1="17.78" y1="34.29" x2="17.78" y2="36.83" width="0.3048" layer="16"/>
<wire x1="39.37" y1="8.89" x2="60.96" y2="8.89" width="0.3048" layer="16"/>
<wire x1="60.96" y1="8.89" x2="62.23" y2="10.16" width="0.3048" layer="16"/>
<wire x1="62.23" y1="24.13" x2="50.8" y2="35.56" width="0.3048" layer="16"/>
<wire x1="29.21" y1="19.05" x2="39.37" y2="8.89" width="0.3048" layer="16"/>
<wire x1="62.23" y1="10.16" x2="62.23" y2="24.13" width="0.3048" layer="16"/>
</signal>
<signal name="SSCK">
<contactref element="MODUL1" pad="J1.6"/>
<contactref element="U1" pad="11"/>
<contactref element="U2" pad="11"/>
<wire x1="34.29" y1="19.05" x2="34.29" y2="22.86" width="0.3048" layer="16"/>
<wire x1="34.29" y1="22.86" x2="21.59" y2="35.56" width="0.3048" layer="16"/>
<wire x1="34.29" y1="19.05" x2="34.29" y2="27.94" width="0.3048" layer="16"/>
<wire x1="34.29" y1="27.94" x2="27.94" y2="34.29" width="0.3048" layer="16"/>
<wire x1="27.94" y1="36.83" x2="30.48" y2="39.37" width="0.3048" layer="16"/>
<wire x1="30.48" y1="39.37" x2="44.45" y2="39.37" width="0.3048" layer="16"/>
<wire x1="44.45" y1="39.37" x2="48.26" y2="35.56" width="0.3048" layer="16"/>
<wire x1="27.94" y1="34.29" x2="27.94" y2="36.83" width="0.3048" layer="16"/>
</signal>
<signal name="N$3">
<contactref element="U1" pad="7"/>
<contactref element="B2" pad="CFG3"/>
<wire x1="19.05" y1="43.18" x2="39.37" y2="58.42" width="0" layer="19" extent="1-1"/>
</signal>
<signal name="N$4">
<contactref element="B2" pad="STEP"/>
<contactref element="U1" pad="6"/>
<wire x1="21.59" y1="43.18" x2="46.99" y2="58.42" width="0" layer="19" extent="1-1"/>
</signal>
<signal name="N$5">
<contactref element="B2" pad="DIR"/>
<contactref element="U1" pad="5"/>
<wire x1="24.13" y1="43.18" x2="49.53" y2="58.42" width="0" layer="19" extent="1-1"/>
</signal>
<signal name="N$6">
<contactref element="B2" pad="EN"/>
<contactref element="U1" pad="4"/>
<wire x1="26.67" y1="43.18" x2="31.75" y2="58.42" width="0" layer="19" extent="1-1"/>
</signal>
<signal name="N$7">
<contactref element="B1" pad="CFG3"/>
<contactref element="U1" pad="3"/>
<wire x1="29.21" y1="43.18" x2="17.78" y2="58.42" width="0" layer="19" extent="1-1"/>
</signal>
<signal name="N$8">
<contactref element="B1" pad="STEP"/>
<contactref element="U1" pad="2"/>
<wire x1="31.75" y1="43.18" x2="25.4" y2="58.42" width="0" layer="19" extent="1-1"/>
</signal>
<signal name="N$9">
<contactref element="B1" pad="DIR"/>
<contactref element="U1" pad="1"/>
<wire x1="34.29" y1="43.18" x2="27.94" y2="58.42" width="0" layer="19" extent="1-1"/>
</signal>
<signal name="N$10">
<contactref element="B1" pad="EN"/>
<contactref element="U1" pad="15"/>
<wire x1="31.75" y1="35.56" x2="10.16" y2="58.42" width="0" layer="19" extent="1-1"/>
</signal>
<signal name="N$11">
<contactref element="B4" pad="CFG3"/>
<contactref element="U2" pad="7"/>
<wire x1="82.55" y1="58.42" x2="45.72" y2="43.18" width="0" layer="19" extent="1-1"/>
</signal>
<signal name="N$12">
<contactref element="U2" pad="6"/>
<contactref element="B4" pad="STEP"/>
<wire x1="90.17" y1="58.42" x2="48.26" y2="43.18" width="0" layer="19" extent="1-1"/>
</signal>
<signal name="N$13">
<contactref element="B4" pad="DIR"/>
<contactref element="U2" pad="5"/>
<wire x1="92.71" y1="58.42" x2="50.8" y2="43.18" width="0" layer="19" extent="1-1"/>
</signal>
<signal name="N$14">
<contactref element="B4" pad="EN"/>
<contactref element="U2" pad="4"/>
<wire x1="74.93" y1="58.42" x2="53.34" y2="43.18" width="0" layer="19" extent="1-1"/>
</signal>
<signal name="N$15">
<contactref element="B3" pad="CFG3"/>
<contactref element="U2" pad="3"/>
<wire x1="55.88" y1="43.18" x2="60.96" y2="58.42" width="0" layer="19" extent="1-1"/>
</signal>
<signal name="N$16">
<contactref element="B3" pad="STEP"/>
<contactref element="U2" pad="2"/>
<wire x1="58.42" y1="43.18" x2="68.58" y2="58.42" width="0" layer="19" extent="1-1"/>
</signal>
<signal name="N$17">
<contactref element="B3" pad="DIR"/>
<contactref element="U2" pad="1"/>
<wire x1="60.96" y1="43.18" x2="71.12" y2="58.42" width="0" layer="19" extent="1-1"/>
</signal>
<signal name="N$18">
<contactref element="U2" pad="15"/>
<contactref element="B3" pad="EN"/>
<wire x1="58.42" y1="35.56" x2="53.34" y2="58.42" width="0" layer="19" extent="1-1"/>
</signal>
<signal name="N$1">
<contactref element="MODUL1" pad="J1.1"/>
<contactref element="SERIAL_CONN" pad="2"/>
<wire x1="46.99" y1="19.05" x2="47.6123" y2="18.4277" width="0.3048" layer="16"/>
<wire x1="47.6123" y1="18.4277" x2="47.6123" y2="18.2556625" width="0.3048" layer="16"/>
<wire x1="47.6123" y1="18.2556625" x2="53.1679625" y2="12.7" width="0.3048" layer="16"/>
<wire x1="53.1679625" y1="12.7" x2="57.15" y2="12.7" width="0.3048" layer="16"/>
</signal>
</signals>
<mfgpreviewcolors>
<mfgpreviewcolor name="soldermaskcolor" color="0xC8008000"/>
<mfgpreviewcolor name="silkscreencolor" color="0xFFFEFEFE"/>
<mfgpreviewcolor name="backgroundcolor" color="0xFF282828"/>
<mfgpreviewcolor name="coppercolor" color="0xFFFFBF00"/>
<mfgpreviewcolor name="substratecolor" color="0xFF786E46"/>
</mfgpreviewcolors>
</board>
</drawing>
<compatibility>
<note version="8.2" severity="warning">
Since Version 8.2, EAGLE supports online libraries. The ids
of those online libraries will not be understood (or retained)
with this version.
</note>
<note version="8.3" severity="warning">
Since Version 8.3, EAGLE supports Fusion synchronisation.
This feature will not be available in this version and saving
the document will break the link to the Fusion PCB feature.
</note>
<note version="8.3" severity="warning">
Since Version 8.3, EAGLE supports URNs for individual library
assets (packages, symbols, and devices). The URNs of those assets
will not be understood (or retained) with this version.
</note>
<note version="8.3" severity="warning">
Since Version 8.3, EAGLE supports the association of 3D packages
with devices in libraries, schematics, and board files. Those 3D
packages will not be understood (or retained) with this version.
</note>
</compatibility>
</eagle>

extension: brd

filename: Main Board_backup.brd


text:
package controller_test

import (
	"bytes"
	"encoding/json"
	"fmt"
	"net/http"
	"net/http/httptest"
	"testing"

	"git/inspursoft/board/src/common/model"
	"git/inspursoft/board/src/common/utils"

	"github.com/astaxie/beego"
	"github.com/astaxie/beego/logs"
	"github.com/astaxie/beego/orm"
	"github.com/stretchr/testify/assert"
)

func isExternalAuth() bool {
	authMode := utils.GetStringValue("AUTH_MODE")
	if authMode != "" && authMode != "db_auth" {
		return true
	}
	return false
}

func TestUserAction(t *testing.T) {
	// external auth ignore the test
	if isExternalAuth() {
		return
	}

	token := adminLoginTest(t)
	defer adminLogoutTest(t)

	user := model.User{
		Username:    "testuser",
		Password:    "testuserpasswrd",
		Email:       "testuser@test.com",
		Realname:    "testuser",
		Comment:     "this is just a test account",
		SystemAdmin: 0,
	}
	body, err := json.Marshal(user)
	if err != nil {
		t.Fatalf("user marshal error: %v", err)
	}
	// init one assert
	assert := assert.New(t)

	// add user
	t.Log("adding user")
	r, _ := http.NewRequest("POST", fmt.Sprintf("/api/v1/adduser?token=%s", token), bytes.NewBuffer(body))
	w := httptest.NewRecorder()
	beego.BeeApp.Handlers.ServeHTTP(w, r)

	if !assert.Equal(http.StatusOK, w.Code, "Add User fail.") {
		t.FailNow()
	}
	defer cleanUp(user.Username)
	// get users
	t.Log("getting users")
	r, _ = http.NewRequest("GET", fmt.Sprintf("/api/v1/users?username=%s&token=%s", user.Username, token), nil)
	w = httptest.NewRecorder()
	beego.BeeApp.Handlers.ServeHTTP(w, r)

	if !assert.Equal(http.StatusOK, w.Code, "Get Users fail.") {
		t.FailNow()
	}
	readUsers := make([]model.User, 0)
	err = json.Unmarshal(w.Body.Bytes(), &readUsers)
	if err != nil {
		t.Fatalf("user unmarshal error: %v", err)
	}
	if len(readUsers) == 0 {
		t.Fatalf("can't find the user which just created")
	}
	readUser := readUsers[0]

	t.Log("getting one user")
	r, _ = http.NewRequest("GET", fmt.Sprintf("/api/v1/users/%d?token=%s", readUser.ID, token), nil)
	w = httptest.NewRecorder()
	beego.BeeApp.Handlers.ServeHTTP(w, r)

	if !assert.Equal(http.StatusOK, w.Code, "Get User fail.") {
		t.FailNow()
	}

	// udpate user
	t.Log("updating user")
	readUser.Comment = "update comment"
	body, err = json.Marshal(readUser)
	if err != nil {
		t.Fatalf("read user marshal error: %v", err)
	}
	r, _ = http.NewRequest("PUT", fmt.Sprintf("/api/v1/users/%d?token=%s", readUser.ID, token), bytes.NewBuffer(body))
	w = httptest.NewRecorder()
	beego.BeeApp.Handlers.ServeHTTP(w, r)

	if !assert.Equal(http.StatusOK, w.Code, "Update Users fail.") {
		t.FailNow()
	}

	t.Log("getting one user")
	r, _ = http.NewRequest("GET", fmt.Sprintf("/api/v1/users/%d?token=%s", readUser.ID, token), nil)
	w = httptest.NewRecorder()
	beego.BeeApp.Handlers.ServeHTTP(w, r)

	if !assert.Equal(http.StatusOK, w.Code, "Get User fail.") {
		t.FailNow()
	}

	updatedUser := new(model.User)
	err = json.Unmarshal(w.Body.Bytes(), updatedUser)
	if err != nil {
		t.Fatalf("updateduser unmarshal error: %v", err)
	}

	if !assert.Equal(readUser.Comment, updatedUser.Comment, "Upate User Comment fail.") {
		t.FailNow()
	}

	// toggle system admin
	t.Log("toggling user")
	updatedUser.SystemAdmin = 1
	body, err = json.Marshal(updatedUser)
	if err != nil {
		t.Fatalf("updated user marshal error: %v", err)
	}
	r, _ = http.NewRequest("PUT", fmt.Sprintf("/api/v1/users/%d/systemadmin?token=%s", readUser.ID, token), bytes.NewBuffer(body))
	w = httptest.NewRecorder()
	beego.BeeApp.Handlers.ServeHTTP(w, r)

	if !assert.Equal(http.StatusOK, w.Code, "Update Users fail.") {
		t.FailNow()
	}

	t.Log("getting one user")
	r, _ = http.NewRequest("GET", fmt.Sprintf("/api/v1/users/%d?token=%s", readUser.ID, token), nil)
	w = httptest.NewRecorder()
	beego.BeeApp.Handlers.ServeHTTP(w, r)

	if !assert.Equal(http.StatusOK, w.Code, "Get User fail.") {
		t.FailNow()
	}

	toggledUser := new(model.User)
	err = json.Unmarshal(w.Body.Bytes(), toggledUser)
	if err != nil {
		t.Fatalf("toggledUser unmarshal error: %v", err)
	}

	if !assert.Equal(updatedUser.SystemAdmin, toggledUser.SystemAdmin, "Toggle User SystemAdmin fail.") {
		t.FailNow()
	}

	t.Log("deleteing user")
	r, _ = http.NewRequest("DELETE", fmt.Sprintf("/api/v1/users/%d?token=%s", readUser.ID, token), nil)
	w = httptest.NewRecorder()
	beego.BeeApp.Handlers.ServeHTTP(w, r)
	assert.Equal(http.StatusOK, w.Code, "Delete User fail.")
}

func TestChangeUserAccount(t *testing.T) {
	// external auth ignore the test
	if isExternalAuth() {
		return
	}

	token := adminLoginTest(t)
	defer adminLogoutTest(t)

	user := model.User{
		Username:    "testuseraccount",
		Password:    "testuseraccountpwd",
		Email:       "testuseraccount@test.com",
		Realname:    "testuseraccount",
		Comment:     "this is just a test account",
		SystemAdmin: 0,
	}

	body, err := json.Marshal(user)
	if err != nil {
		t.Fatalf("user marshal error: %v", err)
	}
	// init one assert
	assert := assert.New(t)

	// add user
	t.Log("adding user")
	r, _ := http.NewRequest("POST", fmt.Sprintf("/api/v1/adduser?token=%s", token), bytes.NewBuffer(body))
	w := httptest.NewRecorder()
	beego.BeeApp.Handlers.ServeHTTP(w, r)

	if !assert.Equal(http.StatusOK, w.Code, "Add User fail.") {
		t.FailNow()
	}
	defer cleanUp(user.Username)

	// get users
	t.Log("getting users")
	r, _ = http.NewRequest("GET", fmt.Sprintf("/api/v1/users?username=%s&token=%s", user.Username, token), nil)
	w = httptest.NewRecorder()
	beego.BeeApp.Handlers.ServeHTTP(w, r)

	if !assert.Equal(http.StatusOK, w.Code, "Get Users fail.") {
		t.FailNow()
	}
	readUsers := make([]model.User, 0)
	err = json.Unmarshal(w.Body.Bytes(), &readUsers)
	if err != nil {
		t.Fatalf("user unmarshal error: %v", err)
	}
	if len(readUsers) == 0 {
		t.Fatalf("can't find the user which just created")
	}
	readUser := readUsers[0]

	t.Log("getting one user")
	r, _ = http.NewRequest("GET", fmt.Sprintf("/api/v1/users/%d?token=%s", readUser.ID, token), nil)
	w = httptest.NewRecorder()
	beego.BeeApp.Handlers.ServeHTTP(w, r)

	if !assert.Equal(http.StatusOK, w.Code, "Get User fail.") {
		t.FailNow()
	}

	// login using testuseraccount
	userToken := loginTest(t, user.Username, user.Password)
	defer logoutTest(t, user.Username)
	// change user account
	t.Log("updating user")
	readUser.Comment = "update comment"
	body, err = json.Marshal(readUser)
	if err != nil {
		t.Fatalf("read user marshal error: %v", err)
	}
	r, _ = http.NewRequest("PUT", fmt.Sprintf("/api/v1/users/changeaccount?token=%s", userToken), bytes.NewBuffer(body))
	w = httptest.NewRecorder()
	beego.BeeApp.Handlers.ServeHTTP(w, r)

	if !assert.Equal(http.StatusOK, w.Code, "Change User account fail.") {
		t.FailNow()
	}

	t.Log("getting one user")
	r, _ = http.NewRequest("GET", fmt.Sprintf("/api/v1/users/%d?token=%s", readUser.ID, token), nil)
	w = httptest.NewRecorder()
	beego.BeeApp.Handlers.ServeHTTP(w, r)

	if !assert.Equal(http.StatusOK, w.Code, "Get User fail.") {
		t.FailNow()
	}

	updatedUser := new(model.User)
	err = json.Unmarshal(w.Body.Bytes(), updatedUser)
	if err != nil {
		t.Fatalf("updateduser unmarshal error: %v", err)
	}
	if !assert.Equal(readUser.Comment, updatedUser.Comment, "Upate User Comment fail.") {
		t.FailNow()
	}

}

func TestChangePasswordAction(t *testing.T) {
	// external auth ignore the test
	if isExternalAuth() {
		return
	}

	token := adminLoginTest(t)
	defer adminLogoutTest(t)

	user := model.User{
		Username:    "testpassword",
		Password:    "testpasswordpwd",
		Email:       "testpasswordpwd@test.com",
		Realname:    "testpasswordpwd",
		Comment:     "this is just a test account",
		SystemAdmin: 0,
	}

	body, err := json.Marshal(user)
	if err != nil {
		t.Fatalf("user marshal error: %v", err)
	}
	// init one assert
	assert := assert.New(t)

	// add user
	t.Log("adding user")
	r, _ := http.NewRequest("POST", fmt.Sprintf("/api/v1/adduser?token=%s", token), bytes.NewBuffer(body))
	w := httptest.NewRecorder()
	beego.BeeApp.Handlers.ServeHTTP(w, r)

	if !assert.Equal(http.StatusOK, w.Code, "Add User fail.") {
		t.FailNow()
	}
	defer cleanUp(user.Username)

	// get users
	t.Log("getting users")
	r, _ = http.NewRequest("GET", fmt.Sprintf("/api/v1/users?username=%s&token=%s", user.Username, token), nil)
	w = httptest.NewRecorder()
	beego.BeeApp.Handlers.ServeHTTP(w, r)

	if !assert.Equal(http.StatusOK, w.Code, "Get Users fail.") {
		t.FailNow()
	}
	readUsers := make([]model.User, 0)
	err = json.Unmarshal(w.Body.Bytes(), &readUsers)
	if err != nil {
		t.Fatalf("user unmarshal error: %v", err)
	}
	if len(readUsers) == 0 {
		t.Fatalf("can't find the user which just created")
	}
	readUser := readUsers[0]

	t.Log("getting one user")
	r, _ = http.NewRequest("GET", fmt.Sprintf("/api/v1/users/%d?token=%s", readUser.ID, token), nil)
	w = httptest.NewRecorder()
	beego.BeeApp.Handlers.ServeHTTP(w, r)

	if !assert.Equal(http.StatusOK, w.Code, "Get User fail.") {
		t.FailNow()
	}

	// login using testuseraccount
	userToken := loginTest(t, user.Username, user.Password)
	defer logoutTest(t, user.Username)

	// admin change user password has bug. so we use use itself
	t.Log("change user password")
	changePwd := new(model.ChangePassword)
	changePwd.OldPassword = user.Password
	changePwd.NewPassword = "newpassword"
	body, err = json.Marshal(changePwd)
	if err != nil {
		t.Fatalf("read user marshal error: %v", err)
	}
	r, _ = http.NewRequest("PUT", fmt.Sprintf("/api/v1/users/%d/password?token=%s", readUser.ID, userToken), bytes.NewBuffer(body))
	w = httptest.NewRecorder()
	beego.BeeApp.Handlers.ServeHTTP(w, r)

	if !assert.Equal(http.StatusOK, w.Code, "Change User password fail.") {
		t.FailNow()
	}

	// using new password to login
	loginTest(t, user.Username, changePwd.NewPassword)

}

func cleanUp(username string) {
	o := orm.NewOrm()
	rs := o.Raw("delete from user where username = ?", username)
	r, err := rs.Exec()
	if err != nil {
		logs.Error("Error occurred while deleting user: %+v", err)
	}
	_, err = r.RowsAffected()
	if err != nil {
		logs.Error("Error occurred while deleting user: %+v", err)
	}
}

license: MIT

repository: bywknet/board

license_type: permissive

repo_name: bywknet/board

branch_name: refs/heads/master

extension: go


text:
macro(apply_compiler_cache_settings)
  # Use compiler cache.
  if(BUILDCACHE_EXE)
    set(CMAKE_CXX_COMPILER_LAUNCHER ${BUILDCACHE_EXE})
  elseif(CLCACHE_EXE)
    set(CLCACHEWRAPPER ${CMAKE_CURRENT_BINARY_DIR}/clcachewrapper)
    execute_process(COMMAND ${CMAKE_C_COMPILER} /O2 /Fe${CLCACHEWRAPPER} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/clcachewrapper.c
                    RESULT_VARIABLE RESULT OUTPUT_QUIET ERROR_QUIET)
    if(RESULT EQUAL 0)
      set(CMAKE_CXX_COMPILER_LAUNCHER ${CLCACHEWRAPPER})
    endif()
  else()
    set(CMAKE_CXX_COMPILER_LAUNCHER ${CCACHE_EXE})
  endif()

  # On Windows, if we are using MSVC then replace some compiler flags.
  if(MSVC)
    # Replace the /Zi option (i.e. enable debugging information), if present,
    # with the /Z7 option (i.e. enable old-style debugging information)
    # otherwise caching (be it with buildcache or clcache) won't work.
    if(BUILDCACHE_EXE OR CLCACHE_EXE)
      replace_compiler_flag("/Zi" "/Z7")
    endif()
  endif()
endmacro()

repository: cellml/libcellml

repo_name: cellml/libcellml

branch_name: refs/heads/main

extension: cmake


text:
SUMMARY = "Phosphor LED Group Management for Mt. Mitchell"
PR = "r1"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"

inherit native

PROVIDES += "virtual/phosphor-led-manager-config-native"

SRC_URI += "file://led.yaml"

# Overwrite the example led layout yaml file prior
# to building the phosphor-led-manager package
do_install() {
    DEST=${D}${datadir}/phosphor-led-manager
    install -D ${WORKDIR}/led.yaml ${DEST}/led.yaml
}

repository: openbmc/openbmc

repo_name: openbmc/openbmc

gha_license_id: NOASSERTION

gha_language: Python

extension: bb