Update... everything?
This commit is contained in:
parent
9209d75058
commit
b45a052cdc
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
build/
|
||||||
|
.vscode/
|
File diff suppressed because it is too large
Load Diff
@ -1,19 +0,0 @@
|
|||||||
[Eagle]
|
|
||||||
Version="07 05 00"
|
|
||||||
Platform="Mac OS X"
|
|
||||||
Serial="62191E841E-LSR-WLM-1EL"
|
|
||||||
Globals="Globals"
|
|
||||||
Desktop="Desktop"
|
|
||||||
|
|
||||||
[Globals]
|
|
||||||
AutoSaveProject=1
|
|
||||||
|
|
||||||
[Win_1]
|
|
||||||
Type="Control Panel"
|
|
||||||
Loc="4 23 1439 899"
|
|
||||||
State=2
|
|
||||||
Number=0
|
|
||||||
|
|
||||||
[Desktop]
|
|
||||||
Screen="1440 900"
|
|
||||||
Window="Win_1"
|
|
@ -1,723 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!DOCTYPE eagle SYSTEM "eagle.dtd">
|
|
||||||
<eagle version="7.5.0">
|
|
||||||
<drawing>
|
|
||||||
<settings>
|
|
||||||
<setting alwaysvectorfont="no"/>
|
|
||||||
<setting verticaltext="up"/>
|
|
||||||
</settings>
|
|
||||||
<grid distance="0.05" unitdist="inch" unit="inch" style="lines" multiple="1" display="no" altdistance="0.025" altunitdist="inch" altunit="inch"/>
|
|
||||||
<layers>
|
|
||||||
<layer number="1" name="Top" color="4" fill="1" visible="yes" active="yes"/>
|
|
||||||
<layer number="2" name="Route2" color="1" fill="3" visible="no" active="no"/>
|
|
||||||
<layer number="3" name="Route3" color="4" fill="3" visible="no" active="no"/>
|
|
||||||
<layer number="4" name="Route4" color="1" fill="4" visible="no" active="no"/>
|
|
||||||
<layer number="5" name="Route5" color="4" fill="4" visible="no" active="no"/>
|
|
||||||
<layer number="6" name="Route6" color="1" fill="8" visible="no" active="no"/>
|
|
||||||
<layer number="7" name="Route7" color="4" fill="8" visible="no" active="no"/>
|
|
||||||
<layer number="8" name="Route8" color="1" fill="2" visible="no" active="no"/>
|
|
||||||
<layer number="9" name="Route9" color="4" fill="2" visible="no" active="no"/>
|
|
||||||
<layer number="10" name="Route10" color="1" fill="7" visible="no" active="no"/>
|
|
||||||
<layer number="11" name="Route11" color="4" fill="7" visible="no" active="no"/>
|
|
||||||
<layer number="12" name="Route12" color="1" fill="5" visible="no" active="no"/>
|
|
||||||
<layer number="13" name="Route13" color="4" fill="5" visible="no" active="no"/>
|
|
||||||
<layer number="14" name="Route14" color="1" fill="6" visible="no" active="no"/>
|
|
||||||
<layer number="15" name="Route15" color="4" fill="6" 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="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="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="yes" 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="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="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="100" name="Muster" color="7" fill="1" visible="no" active="no"/>
|
|
||||||
<layer number="101" name="Patch_Top" color="12" fill="4" visible="yes" active="yes"/>
|
|
||||||
<layer number="102" name="Vscore" color="7" fill="1" visible="yes" active="yes"/>
|
|
||||||
<layer number="103" name="tMap" color="7" fill="1" visible="yes" active="yes"/>
|
|
||||||
<layer number="104" name="Name" color="16" fill="1" visible="yes" active="yes"/>
|
|
||||||
<layer number="105" name="tPlate" color="7" fill="1" visible="yes" active="yes"/>
|
|
||||||
<layer number="106" name="bPlate" color="7" fill="1" visible="yes" active="yes"/>
|
|
||||||
<layer number="107" name="Crop" color="7" fill="1" visible="yes" active="yes"/>
|
|
||||||
<layer number="116" name="Patch_BOT" color="9" fill="4" visible="yes" active="yes"/>
|
|
||||||
<layer number="121" name="_tsilk" color="7" fill="1" visible="yes" active="yes"/>
|
|
||||||
<layer number="122" name="_bsilk" color="7" fill="1" visible="yes" active="yes"/>
|
|
||||||
<layer number="125" name="_tNames" color="7" fill="1" visible="yes" active="yes"/>
|
|
||||||
<layer number="144" name="Drill_legend" color="7" fill="1" visible="yes" active="yes"/>
|
|
||||||
<layer number="151" name="HeatSink" color="7" fill="1" visible="yes" active="yes"/>
|
|
||||||
<layer number="200" name="200bmp" color="1" fill="10" visible="yes" active="yes"/>
|
|
||||||
<layer number="201" name="201bmp" color="2" fill="10" visible="yes" active="yes"/>
|
|
||||||
<layer number="202" name="202bmp" color="3" fill="10" visible="yes" active="yes"/>
|
|
||||||
<layer number="203" name="203bmp" color="4" fill="10" visible="yes" active="yes"/>
|
|
||||||
<layer number="204" name="204bmp" color="5" fill="10" visible="yes" active="yes"/>
|
|
||||||
<layer number="205" name="205bmp" color="6" fill="10" visible="yes" active="yes"/>
|
|
||||||
<layer number="206" name="206bmp" color="7" fill="10" visible="yes" active="yes"/>
|
|
||||||
<layer number="207" name="207bmp" color="8" fill="10" visible="yes" active="yes"/>
|
|
||||||
<layer number="208" name="208bmp" color="9" fill="10" visible="yes" active="yes"/>
|
|
||||||
<layer number="209" name="209bmp" color="7" fill="1" visible="yes" active="yes"/>
|
|
||||||
<layer number="210" name="210bmp" color="7" fill="1" visible="yes" active="yes"/>
|
|
||||||
<layer number="211" name="211bmp" color="7" fill="1" visible="yes" active="yes"/>
|
|
||||||
<layer number="212" name="212bmp" color="7" fill="1" visible="yes" active="yes"/>
|
|
||||||
<layer number="213" name="213bmp" color="7" fill="1" visible="yes" active="yes"/>
|
|
||||||
<layer number="214" name="214bmp" color="7" fill="1" visible="yes" active="yes"/>
|
|
||||||
<layer number="215" name="215bmp" color="7" fill="1" visible="yes" active="yes"/>
|
|
||||||
<layer number="216" name="216bmp" color="7" fill="1" visible="yes" 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="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="yes" active="yes"/>
|
|
||||||
</layers>
|
|
||||||
<board>
|
|
||||||
<plain>
|
|
||||||
<wire x1="0" y1="0" x2="50.78" y2="0" width="0" layer="20"/>
|
|
||||||
<wire x1="50.78" y1="0" x2="50.78" y2="33.96" width="0" layer="20"/>
|
|
||||||
<wire x1="50.78" y1="33.96" x2="0" y2="33.96" width="0" layer="20"/>
|
|
||||||
<wire x1="0" y1="33.96" x2="0" y2="0" width="0" layer="20"/>
|
|
||||||
</plain>
|
|
||||||
<libraries>
|
|
||||||
<library name="E14_Arduino_revB">
|
|
||||||
<packages>
|
|
||||||
<package name="ARDUINO_MICRO">
|
|
||||||
<description>Footprint for representing an Arduino Micro board in an EAGLE schematic. Created by Dave Young for Element14. More EAGLE documentation at: http://www.element14.com/community/community/knode/cadsoft_eagle</description>
|
|
||||||
<pad name="A0" x="11.43" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="A1" x="13.97" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="A2" x="16.51" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="A3" x="19.05" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="A4" x="21.59" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="A5" x="24.13" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="REF" x="8.89" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<rectangle x1="23.876" y1="1.016" x2="24.384" y2="1.524" layer="51"/>
|
|
||||||
<rectangle x1="21.336" y1="1.016" x2="21.844" y2="1.524" layer="51"/>
|
|
||||||
<rectangle x1="18.796" y1="1.016" x2="19.304" y2="1.524" layer="51"/>
|
|
||||||
<rectangle x1="16.256" y1="1.016" x2="16.764" y2="1.524" layer="51"/>
|
|
||||||
<rectangle x1="13.716" y1="1.016" x2="14.224" y2="1.524" layer="51"/>
|
|
||||||
<rectangle x1="11.176" y1="1.016" x2="11.684" y2="1.524" layer="51"/>
|
|
||||||
<rectangle x1="8.636" y1="1.016" x2="9.144" y2="1.524" layer="51"/>
|
|
||||||
<pad name="3V3" x="6.35" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<rectangle x1="6.096" y1="1.016" x2="6.604" y2="1.524" layer="51"/>
|
|
||||||
<pad name="D13" x="3.81" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<rectangle x1="3.556" y1="1.016" x2="4.064" y2="1.524" layer="51"/>
|
|
||||||
<wire x1="0" y1="0" x2="0" y2="17.78" width="0.127" layer="20"/>
|
|
||||||
<wire x1="0" y1="17.78" x2="48.26" y2="17.78" width="0.127" layer="20"/>
|
|
||||||
<wire x1="48.26" y1="17.78" x2="48.26" y2="0" width="0.127" layer="20"/>
|
|
||||||
<wire x1="48.26" y1="0" x2="0" y2="0" width="0.127" layer="20"/>
|
|
||||||
<pad name="+5V" x="31.75" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="RST." x="34.29" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="GND." x="36.83" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="VIN" x="39.37" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="MISO]" x="41.91" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="SCK" x="44.45" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="NC." x="29.21" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<rectangle x1="44.196" y1="1.016" x2="44.704" y2="1.524" layer="51"/>
|
|
||||||
<rectangle x1="41.656" y1="1.016" x2="42.164" y2="1.524" layer="51"/>
|
|
||||||
<rectangle x1="39.116" y1="1.016" x2="39.624" y2="1.524" layer="51"/>
|
|
||||||
<rectangle x1="36.576" y1="1.016" x2="37.084" y2="1.524" layer="51"/>
|
|
||||||
<rectangle x1="34.036" y1="1.016" x2="34.544" y2="1.524" layer="51"/>
|
|
||||||
<rectangle x1="31.496" y1="1.016" x2="32.004" y2="1.524" layer="51"/>
|
|
||||||
<rectangle x1="28.956" y1="1.016" x2="29.464" y2="1.524" layer="51"/>
|
|
||||||
<pad name="NC" x="26.67" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<rectangle x1="26.416" y1="1.016" x2="26.924" y2="1.524" layer="51"/>
|
|
||||||
<pad name="D9" x="11.43" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="D8" x="13.97" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="D7" x="16.51" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="D6" x="19.05" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="D5" x="21.59" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="D4" x="24.13" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="D10" x="8.89" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<rectangle x1="23.876" y1="16.256" x2="24.384" y2="16.764" layer="51"/>
|
|
||||||
<rectangle x1="21.336" y1="16.256" x2="21.844" y2="16.764" layer="51"/>
|
|
||||||
<rectangle x1="18.796" y1="16.256" x2="19.304" y2="16.764" layer="51"/>
|
|
||||||
<rectangle x1="16.256" y1="16.256" x2="16.764" y2="16.764" layer="51"/>
|
|
||||||
<rectangle x1="13.716" y1="16.256" x2="14.224" y2="16.764" layer="51"/>
|
|
||||||
<rectangle x1="11.176" y1="16.256" x2="11.684" y2="16.764" layer="51"/>
|
|
||||||
<rectangle x1="8.636" y1="16.256" x2="9.144" y2="16.764" layer="51"/>
|
|
||||||
<pad name="D11" x="6.35" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<rectangle x1="6.096" y1="16.256" x2="6.604" y2="16.764" layer="51"/>
|
|
||||||
<pad name="D12" x="3.81" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<rectangle x1="3.556" y1="16.256" x2="4.064" y2="16.764" layer="51"/>
|
|
||||||
<pad name="GND" x="31.75" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="RST" x="34.29" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="RX1" x="36.83" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="TX1" x="39.37" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="SS" x="41.91" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="MOSI" x="44.45" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="D2" x="29.21" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<rectangle x1="44.196" y1="16.256" x2="44.704" y2="16.764" layer="51"/>
|
|
||||||
<rectangle x1="41.656" y1="16.256" x2="42.164" y2="16.764" layer="51"/>
|
|
||||||
<rectangle x1="39.116" y1="16.256" x2="39.624" y2="16.764" layer="51"/>
|
|
||||||
<rectangle x1="36.576" y1="16.256" x2="37.084" y2="16.764" layer="51"/>
|
|
||||||
<rectangle x1="34.036" y1="16.256" x2="34.544" y2="16.764" layer="51"/>
|
|
||||||
<rectangle x1="31.496" y1="16.256" x2="32.004" y2="16.764" layer="51"/>
|
|
||||||
<rectangle x1="28.956" y1="16.256" x2="29.464" y2="16.764" layer="51"/>
|
|
||||||
<pad name="D3" x="26.67" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<rectangle x1="26.416" y1="16.256" x2="26.924" y2="16.764" layer="51"/>
|
|
||||||
<hole x="1.27" y="1.27" drill="1.2"/>
|
|
||||||
<hole x="1.27" y="16.51" drill="1.2"/>
|
|
||||||
<hole x="46.99" y="16.51" drill="1.2"/>
|
|
||||||
<hole x="46.99" y="1.27" drill="1.2"/>
|
|
||||||
<wire x1="-0.8382" y1="5.3086" x2="4.2418" y2="5.3086" width="0.127" layer="21"/>
|
|
||||||
<wire x1="4.2418" y1="5.3086" x2="4.2418" y2="12.3698" width="0.127" layer="21"/>
|
|
||||||
<wire x1="4.2418" y1="12.3698" x2="-0.8382" y2="12.3698" width="0.127" layer="21"/>
|
|
||||||
<wire x1="-0.8382" y1="12.3698" x2="-0.8382" y2="5.3086" width="0.127" layer="21"/>
|
|
||||||
<smd name="<USB>+V" x="3.1496" y="10.9474" dx="1.27" dy="0.635" layer="1"/>
|
|
||||||
<smd name="<USB>D+" x="3.1496" y="9.9568" dx="1.27" dy="0.635" layer="1"/>
|
|
||||||
<smd name="<USB>D-" x="3.1496" y="8.9408" dx="1.27" dy="0.635" layer="1"/>
|
|
||||||
<smd name="<USB>ID" x="3.1496" y="7.9756" dx="1.27" dy="0.635" layer="1"/>
|
|
||||||
<smd name="<USB>GND" x="3.1496" y="6.9596" dx="1.27" dy="0.635" layer="1"/>
|
|
||||||
<text x="39.0144" y="3.2258" size="1.27" layer="21" rot="R90">ICSP</text>
|
|
||||||
<circle x="39.116" y="2.54" radius="0.127" width="0.127" layer="21"/>
|
|
||||||
<wire x1="46.99" y1="7.112" x2="46.355" y2="7.747" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="45.085" y1="7.747" x2="44.45" y2="7.112" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="44.45" y1="7.112" x2="43.815" y2="7.747" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="42.545" y1="7.747" x2="41.91" y2="7.112" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="41.91" y1="7.112" x2="41.275" y2="7.747" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="40.005" y1="7.747" x2="39.37" y2="7.112" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="46.99" y1="3.302" x2="46.355" y2="2.667" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="46.355" y1="2.667" x2="45.085" y2="2.667" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="45.085" y1="2.667" x2="44.45" y2="3.302" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="44.45" y1="3.302" x2="43.815" y2="2.667" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="43.815" y1="2.667" x2="42.545" y2="2.667" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="42.545" y1="2.667" x2="41.91" y2="3.302" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="41.91" y1="3.302" x2="41.275" y2="2.667" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="41.275" y1="2.667" x2="40.005" y2="2.667" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="40.005" y1="2.667" x2="39.37" y2="3.302" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="44.45" y1="3.302" x2="44.45" y2="7.112" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="41.91" y1="3.302" x2="41.91" y2="7.112" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="39.37" y1="3.302" x2="39.37" y2="7.112" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="41.275" y1="7.747" x2="40.005" y2="7.747" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="43.815" y1="7.747" x2="42.545" y2="7.747" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="46.355" y1="7.747" x2="45.085" y2="7.747" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="46.99" y1="3.302" x2="46.99" y2="7.112" width="0.1524" layer="21"/>
|
|
||||||
<pad name="GND_" x="45.72" y="6.477" drill="1.016" diameter="1.5748" shape="octagon" rot="R180"/>
|
|
||||||
<pad name="RESET.." x="45.72" y="3.937" drill="1.016" diameter="1.5748" shape="octagon" rot="R180"/>
|
|
||||||
<pad name="MOSI." x="43.18" y="6.477" drill="1.016" diameter="1.5748" shape="octagon" rot="R180"/>
|
|
||||||
<pad name="SCK." x="43.18" y="3.937" drill="1.016" diameter="1.5748" shape="octagon" rot="R180"/>
|
|
||||||
<pad name="5V" x="40.64" y="6.477" drill="1.016" diameter="1.5748" shape="octagon" rot="R180"/>
|
|
||||||
<pad name="MISO." x="40.64" y="3.937" drill="1.016" diameter="1.5748" shape="octagon" rot="R180"/>
|
|
||||||
<rectangle x1="45.466" y1="6.223" x2="45.974" y2="6.731" layer="51" rot="R180"/>
|
|
||||||
<rectangle x1="45.466" y1="3.683" x2="45.974" y2="4.191" layer="51" rot="R180"/>
|
|
||||||
<rectangle x1="42.926" y1="3.683" x2="43.434" y2="4.191" layer="51" rot="R180"/>
|
|
||||||
<rectangle x1="42.926" y1="6.223" x2="43.434" y2="6.731" layer="51" rot="R180"/>
|
|
||||||
<rectangle x1="40.386" y1="3.683" x2="40.894" y2="4.191" layer="51" rot="R180"/>
|
|
||||||
<rectangle x1="40.386" y1="6.223" x2="40.894" y2="6.731" layer="51" rot="R180"/>
|
|
||||||
<text x="19.05" y="10.16" size="1.27" layer="21">Arduino</text>
|
|
||||||
<text x="19.05" y="8.255" size="1.27" layer="21">Micro</text>
|
|
||||||
<text x="4.826" y="15.875" size="0.508" layer="21">1
|
|
||||||
2</text>
|
|
||||||
<text x="7.366" y="15.875" size="0.508" layer="21">1
|
|
||||||
1</text>
|
|
||||||
<text x="9.906" y="15.875" size="0.508" layer="21">1
|
|
||||||
0</text>
|
|
||||||
<text x="12.446" y="16.256" size="0.508" layer="21">9</text>
|
|
||||||
<text x="14.986" y="15.875" size="0.508" layer="21">8</text>
|
|
||||||
<text x="17.526" y="15.875" size="0.508" layer="21">7</text>
|
|
||||||
<text x="20.066" y="15.875" size="0.508" layer="21">6</text>
|
|
||||||
<text x="22.606" y="15.875" size="0.508" layer="21">5</text>
|
|
||||||
<text x="25.146" y="15.875" size="0.508" layer="21">4</text>
|
|
||||||
<text x="27.686" y="15.875" size="0.508" layer="21">3</text>
|
|
||||||
<text x="30.226" y="15.875" size="0.508" layer="21">2</text>
|
|
||||||
<text x="32.766" y="15.875" size="0.508" layer="21">G</text>
|
|
||||||
<text x="35.306" y="15.875" size="0.508" layer="21">R</text>
|
|
||||||
<text x="37.846" y="15.875" size="0.508" layer="21">R
|
|
||||||
X</text>
|
|
||||||
<text x="40.386" y="15.875" size="0.508" layer="21">T
|
|
||||||
X</text>
|
|
||||||
<text x="42.926" y="15.875" size="0.508" layer="21">S
|
|
||||||
S</text>
|
|
||||||
<text x="43.688" y="14.986" size="0.508" layer="21">MOSI</text>
|
|
||||||
<text x="47.244" y="2.921" size="0.508" layer="21">S
|
|
||||||
C
|
|
||||||
K</text>
|
|
||||||
<text x="43.053" y="0.762" size="0.508" layer="21">M
|
|
||||||
I</text>
|
|
||||||
<text x="40.513" y="0.762" size="0.508" layer="21">V
|
|
||||||
I</text>
|
|
||||||
<text x="37.973" y="1.524" size="0.508" layer="21">G</text>
|
|
||||||
<text x="35.306" y="0.762" size="0.508" layer="21">R
|
|
||||||
S</text>
|
|
||||||
<text x="32.766" y="0.762" size="0.508" layer="21">5
|
|
||||||
V</text>
|
|
||||||
<text x="25.146" y="0.635" size="0.508" layer="21">A
|
|
||||||
5</text>
|
|
||||||
<text x="22.606" y="0.635" size="0.508" layer="21">A
|
|
||||||
4</text>
|
|
||||||
<text x="20.066" y="0.635" size="0.508" layer="21">A
|
|
||||||
3</text>
|
|
||||||
<text x="17.526" y="0.635" size="0.508" layer="21">A
|
|
||||||
2</text>
|
|
||||||
<text x="14.986" y="0.635" size="0.508" layer="21">A
|
|
||||||
1</text>
|
|
||||||
<text x="12.446" y="0.635" size="0.508" layer="21">A
|
|
||||||
0</text>
|
|
||||||
<text x="10.033" y="0.635" size="0.508" layer="21">R
|
|
||||||
F</text>
|
|
||||||
<text x="7.366" y="0.635" size="0.508" layer="21">3
|
|
||||||
V</text>
|
|
||||||
<text x="4.826" y="0.635" size="0.508" layer="21">1
|
|
||||||
3</text>
|
|
||||||
<wire x1="47.244" y1="2.794" x2="46.482" y2="2.032" width="0.127" layer="21"/>
|
|
||||||
<wire x1="46.482" y1="2.032" x2="45.085" y2="2.032" width="0.127" layer="21"/>
|
|
||||||
</package>
|
|
||||||
</packages>
|
|
||||||
</library>
|
|
||||||
<library name="con-lstb">
|
|
||||||
<description><b>Pin Headers</b><p>
|
|
||||||
Naming:<p>
|
|
||||||
MA = male<p>
|
|
||||||
# contacts - # rows<p>
|
|
||||||
W = angled<p>
|
|
||||||
<author>Created by librarian@cadsoft.de</author></description>
|
|
||||||
<packages>
|
|
||||||
<package name="MA04-1">
|
|
||||||
<description><b>PIN HEADER</b></description>
|
|
||||||
<wire x1="-4.445" y1="1.27" x2="-3.175" y2="1.27" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="-3.175" y1="1.27" x2="-2.54" y2="0.635" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="-2.54" y1="-0.635" x2="-3.175" y2="-1.27" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="-2.54" y1="0.635" x2="-1.905" y2="1.27" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="-1.905" y1="1.27" x2="-0.635" y2="1.27" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="-0.635" y1="1.27" x2="0" y2="0.635" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="0" y1="-0.635" x2="-0.635" y2="-1.27" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="-0.635" y1="-1.27" x2="-1.905" y2="-1.27" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="-1.905" y1="-1.27" x2="-2.54" y2="-0.635" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="-5.08" y1="0.635" x2="-5.08" y2="-0.635" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="-4.445" y1="1.27" x2="-5.08" y2="0.635" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="-5.08" y1="-0.635" x2="-4.445" y2="-1.27" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="-3.175" y1="-1.27" x2="-4.445" y2="-1.27" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="0" y1="0.635" x2="0.635" y2="1.27" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="0.635" y1="1.27" x2="1.905" y2="1.27" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="1.905" y1="1.27" x2="2.54" y2="0.635" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="2.54" y1="-0.635" x2="1.905" y2="-1.27" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="1.905" y1="-1.27" x2="0.635" y2="-1.27" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="0.635" y1="-1.27" x2="0" y2="-0.635" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="3.175" y1="1.27" x2="4.445" y2="1.27" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="4.445" y1="1.27" x2="5.08" y2="0.635" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="5.08" y1="0.635" x2="5.08" y2="-0.635" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="5.08" y1="-0.635" x2="4.445" y2="-1.27" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="3.175" y1="1.27" x2="2.54" y2="0.635" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="2.54" y1="-0.635" x2="3.175" y2="-1.27" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="4.445" y1="-1.27" x2="3.175" y2="-1.27" width="0.1524" layer="21"/>
|
|
||||||
<pad name="1" x="-3.81" y="0" drill="1.016" shape="long" rot="R90"/>
|
|
||||||
<pad name="2" x="-1.27" y="0" drill="1.016" shape="long" rot="R90"/>
|
|
||||||
<pad name="3" x="1.27" y="0" drill="1.016" shape="long" rot="R90"/>
|
|
||||||
<pad name="4" x="3.81" y="0" drill="1.016" shape="long" rot="R90"/>
|
|
||||||
<text x="-5.08" y="1.651" size="1.27" layer="25" ratio="10">>NAME</text>
|
|
||||||
<text x="-6.223" y="-0.635" size="1.27" layer="21" ratio="10">1</text>
|
|
||||||
<text x="0.635" y="1.651" size="1.27" layer="27" ratio="10">>VALUE</text>
|
|
||||||
<text x="5.334" y="-0.635" size="1.27" layer="21" ratio="10">4</text>
|
|
||||||
<rectangle x1="-1.524" y1="-0.254" x2="-1.016" y2="0.254" layer="51"/>
|
|
||||||
<rectangle x1="-4.064" y1="-0.254" x2="-3.556" y2="0.254" layer="51"/>
|
|
||||||
<rectangle x1="1.016" y1="-0.254" x2="1.524" y2="0.254" layer="51"/>
|
|
||||||
<rectangle x1="3.556" y1="-0.254" x2="4.064" y2="0.254" layer="51"/>
|
|
||||||
</package>
|
|
||||||
</packages>
|
|
||||||
</library>
|
|
||||||
</libraries>
|
|
||||||
<attributes>
|
|
||||||
</attributes>
|
|
||||||
<variantdefs>
|
|
||||||
</variantdefs>
|
|
||||||
<classes>
|
|
||||||
<class number="0" name="default" width="0" drill="0">
|
|
||||||
</class>
|
|
||||||
</classes>
|
|
||||||
<designrules name="default">
|
|
||||||
<description language="de"><b>EAGLE Design Rules</b>
|
|
||||||
<p>
|
|
||||||
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"><b>EAGLE Design Rules</b>
|
|
||||||
<p>
|
|
||||||
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="8mil"/>
|
|
||||||
<param name="mdWirePad" value="8mil"/>
|
|
||||||
<param name="mdWireVia" value="8mil"/>
|
|
||||||
<param name="mdPadPad" value="8mil"/>
|
|
||||||
<param name="mdPadVia" value="8mil"/>
|
|
||||||
<param name="mdViaVia" value="8mil"/>
|
|
||||||
<param name="mdSmdPad" value="8mil"/>
|
|
||||||
<param name="mdSmdVia" value="8mil"/>
|
|
||||||
<param name="mdSmdSmd" value="8mil"/>
|
|
||||||
<param name="mdViaViaSameLayer" value="8mil"/>
|
|
||||||
<param name="mnLayersViaInSmd" value="2"/>
|
|
||||||
<param name="mdCopperDimension" value="40mil"/>
|
|
||||||
<param name="mdDrill" value="8mil"/>
|
|
||||||
<param name="mdSmdStop" value="0mil"/>
|
|
||||||
<param name="msWidth" value="10mil"/>
|
|
||||||
<param name="msDrill" value="24mil"/>
|
|
||||||
<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="checkGrid" value="0"/>
|
|
||||||
<param name="checkAngle" value="0"/>
|
|
||||||
<param name="checkFont" value="1"/>
|
|
||||||
<param name="checkRestrict" value="1"/>
|
|
||||||
<param name="useDiameter" value="13"/>
|
|
||||||
<param name="maxErrors" value="50"/>
|
|
||||||
</designrules>
|
|
||||||
<autorouter>
|
|
||||||
<pass name="Default">
|
|
||||||
<param name="RoutingGrid" value="50mil"/>
|
|
||||||
<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="0"/>
|
|
||||||
<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="a"/>
|
|
||||||
<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="PCB1" library="E14_Arduino_revB" package="ARDUINO_MICRO" value="ARDUINO_MICRO" x="1.27" y="15.24"/>
|
|
||||||
<element name="LD" library="con-lstb" package="MA04-1" value="" x="8.89" y="6.35" smashed="yes" rot="R270">
|
|
||||||
<attribute name="MPN" value="" x="8.89" y="6.35" size="1.778" layer="27" rot="R270" display="off"/>
|
|
||||||
<attribute name="MF" value="" x="8.89" y="6.35" size="1.778" layer="27" rot="R270" display="off"/>
|
|
||||||
<attribute name="OC_NEWARK" value="unknown" x="8.89" y="6.35" size="1.778" layer="27" rot="R270" display="off"/>
|
|
||||||
<attribute name="OC_FARNELL" value="unknown" x="8.89" y="6.35" size="1.778" layer="27" rot="R270" display="off"/>
|
|
||||||
<attribute name="NAME" x="10.541" y="3.81" size="1.27" layer="25" ratio="10" rot="R270"/>
|
|
||||||
<attribute name="VALUE" x="10.541" y="5.715" size="1.27" layer="27" ratio="10" rot="R270"/>
|
|
||||||
</element>
|
|
||||||
<element name="RD" library="con-lstb" package="MA04-1" value="" x="13.97" y="6.35" smashed="yes" rot="R270">
|
|
||||||
<attribute name="MPN" value="" x="13.97" y="6.35" size="1.778" layer="27" rot="R270" display="off"/>
|
|
||||||
<attribute name="MF" value="" x="13.97" y="6.35" size="1.778" layer="27" rot="R270" display="off"/>
|
|
||||||
<attribute name="OC_NEWARK" value="unknown" x="13.97" y="6.35" size="1.778" layer="27" rot="R270" display="off"/>
|
|
||||||
<attribute name="OC_FARNELL" value="unknown" x="13.97" y="6.35" size="1.778" layer="27" rot="R270" display="off"/>
|
|
||||||
<attribute name="NAME" x="15.621" y="3.81" size="1.27" layer="25" ratio="10" rot="R270"/>
|
|
||||||
<attribute name="VALUE" x="15.621" y="5.715" size="1.27" layer="27" ratio="10" rot="R270"/>
|
|
||||||
</element>
|
|
||||||
<element name="LK" library="con-lstb" package="MA04-1" value="" x="19.05" y="6.35" smashed="yes" rot="R270">
|
|
||||||
<attribute name="MPN" value="" x="19.05" y="6.35" size="1.778" layer="27" rot="R270" display="off"/>
|
|
||||||
<attribute name="MF" value="" x="19.05" y="6.35" size="1.778" layer="27" rot="R270" display="off"/>
|
|
||||||
<attribute name="OC_NEWARK" value="unknown" x="19.05" y="6.35" size="1.778" layer="27" rot="R270" display="off"/>
|
|
||||||
<attribute name="OC_FARNELL" value="unknown" x="19.05" y="6.35" size="1.778" layer="27" rot="R270" display="off"/>
|
|
||||||
<attribute name="NAME" x="20.701" y="3.81" size="1.27" layer="25" ratio="10" rot="R270"/>
|
|
||||||
<attribute name="VALUE" x="20.701" y="5.715" size="1.27" layer="27" ratio="10" rot="R270"/>
|
|
||||||
</element>
|
|
||||||
<element name="RK" library="con-lstb" package="MA04-1" value="" x="24.13" y="6.35" smashed="yes" rot="R270">
|
|
||||||
<attribute name="MPN" value="" x="24.13" y="6.35" size="1.778" layer="27" rot="R270" display="off"/>
|
|
||||||
<attribute name="MF" value="" x="24.13" y="6.35" size="1.778" layer="27" rot="R270" display="off"/>
|
|
||||||
<attribute name="OC_NEWARK" value="unknown" x="24.13" y="6.35" size="1.778" layer="27" rot="R270" display="off"/>
|
|
||||||
<attribute name="OC_FARNELL" value="unknown" x="24.13" y="6.35" size="1.778" layer="27" rot="R270" display="off"/>
|
|
||||||
<attribute name="NAME" x="25.781" y="3.81" size="1.27" layer="25" ratio="10" rot="R270"/>
|
|
||||||
<attribute name="VALUE" x="25.781" y="5.715" size="1.27" layer="27" ratio="10" rot="R270"/>
|
|
||||||
</element>
|
|
||||||
</elements>
|
|
||||||
<signals>
|
|
||||||
<signal name="N$1">
|
|
||||||
<contactref element="LD" pad="1"/>
|
|
||||||
<contactref element="PCB1" pad="A0"/>
|
|
||||||
<wire x1="8.89" y1="10.16" x2="12.7" y2="13.97" width="1.016" layer="16"/>
|
|
||||||
<wire x1="12.7" y1="13.97" x2="12.7" y2="16.51" width="1.016" layer="16"/>
|
|
||||||
</signal>
|
|
||||||
<signal name="N$2">
|
|
||||||
<contactref element="PCB1" pad="A1"/>
|
|
||||||
<contactref element="RD" pad="1"/>
|
|
||||||
<wire x1="13.97" y1="10.16" x2="15.24" y2="11.43" width="1.016" layer="16"/>
|
|
||||||
<wire x1="15.24" y1="11.43" x2="15.24" y2="16.51" width="1.016" layer="16"/>
|
|
||||||
</signal>
|
|
||||||
<signal name="N$3">
|
|
||||||
<contactref element="LK" pad="1"/>
|
|
||||||
<contactref element="PCB1" pad="A2"/>
|
|
||||||
<wire x1="19.05" y1="10.16" x2="17.78" y2="11.43" width="1.016" layer="16"/>
|
|
||||||
<wire x1="17.78" y1="11.43" x2="17.78" y2="16.51" width="1.016" layer="16"/>
|
|
||||||
</signal>
|
|
||||||
<signal name="N$4">
|
|
||||||
<contactref element="PCB1" pad="A3"/>
|
|
||||||
<contactref element="RK" pad="1"/>
|
|
||||||
<wire x1="24.13" y1="10.16" x2="20.32" y2="13.97" width="1.016" layer="16"/>
|
|
||||||
<wire x1="20.32" y1="13.97" x2="20.32" y2="16.51" width="1.016" layer="16"/>
|
|
||||||
</signal>
|
|
||||||
<signal name="N$5">
|
|
||||||
<contactref element="LD" pad="2"/>
|
|
||||||
<contactref element="RD" pad="2"/>
|
|
||||||
<contactref element="LK" pad="2"/>
|
|
||||||
<contactref element="RK" pad="2"/>
|
|
||||||
<contactref element="PCB1" pad="GND."/>
|
|
||||||
<wire x1="8.89" y1="7.62" x2="13.97" y2="7.62" width="1.016" layer="16"/>
|
|
||||||
<wire x1="13.97" y1="7.62" x2="19.05" y2="7.62" width="1.016" layer="16"/>
|
|
||||||
<wire x1="19.05" y1="7.62" x2="24.13" y2="7.62" width="1.016" layer="16"/>
|
|
||||||
<wire x1="38.1" y1="16.51" x2="29.21" y2="7.62" width="1.016" layer="16"/>
|
|
||||||
<wire x1="29.21" y1="7.62" x2="24.13" y2="7.62" width="1.016" layer="16"/>
|
|
||||||
</signal>
|
|
||||||
<signal name="N$6">
|
|
||||||
<contactref element="LD" pad="3"/>
|
|
||||||
<contactref element="RD" pad="3"/>
|
|
||||||
<contactref element="LK" pad="3"/>
|
|
||||||
<contactref element="RK" pad="3"/>
|
|
||||||
<contactref element="PCB1" pad="+5V"/>
|
|
||||||
<wire x1="8.89" y1="5.08" x2="13.97" y2="5.08" width="1.016" layer="16"/>
|
|
||||||
<wire x1="13.97" y1="5.08" x2="19.05" y2="5.08" width="1.016" layer="16"/>
|
|
||||||
<wire x1="19.05" y1="5.08" x2="24.13" y2="5.08" width="1.016" layer="16"/>
|
|
||||||
<wire x1="33.02" y1="16.51" x2="30.48" y2="19.05" width="1.016" layer="16"/>
|
|
||||||
<wire x1="30.48" y1="19.05" x2="5.08" y2="19.05" width="1.016" layer="16"/>
|
|
||||||
<wire x1="5.08" y1="19.05" x2="2.54" y2="16.51" width="1.016" layer="16"/>
|
|
||||||
<wire x1="2.54" y1="16.51" x2="2.54" y2="10.16" width="1.016" layer="16"/>
|
|
||||||
<wire x1="2.54" y1="10.16" x2="7.62" y2="5.08" width="1.016" layer="16"/>
|
|
||||||
<wire x1="7.62" y1="5.08" x2="8.89" y2="5.08" width="1.016" layer="16"/>
|
|
||||||
</signal>
|
|
||||||
<signal name="N$7">
|
|
||||||
<wire x1="0" y1="34.29" x2="50.8" y2="34.29" width="0.254" layer="16"/>
|
|
||||||
<wire x1="50.8" y1="34.29" x2="50.8" y2="0" width="0.254" layer="16"/>
|
|
||||||
<wire x1="50.8" y1="0" x2="0" y2="0" width="0.254" layer="16"/>
|
|
||||||
<wire x1="0" y1="0" x2="0" y2="34.29" width="0.254" layer="16"/>
|
|
||||||
</signal>
|
|
||||||
</signals>
|
|
||||||
<errors>
|
|
||||||
<approved hash="4,1,7941fb13d2c06888"/>
|
|
||||||
<approved hash="4,1,fe4aa21c89f301bf"/>
|
|
||||||
<approved hash="4,1,977ba12e80fca6a8"/>
|
|
||||||
<approved hash="4,1,b46f3839c7935fdf"/>
|
|
||||||
<approved hash="4,1,3d10ff4e5e9c54d3"/>
|
|
||||||
<approved hash="4,1,720fe659f58f8dc2"/>
|
|
||||||
<approved hash="4,1,db30b56a9cb9f2c9"/>
|
|
||||||
<approved hash="4,1,a8219c7483a29bf2"/>
|
|
||||||
<approved hash="4,1,91d5538fba59b0e9"/>
|
|
||||||
<approved hash="4,1,56deda84b152491d"/>
|
|
||||||
<approved hash="4,1,6fd5f98fe85d8e0c"/>
|
|
||||||
<approved hash="4,1,ecce90988f4f8703"/>
|
|
||||||
<approved hash="4,1,95ff97aaa678bc2c"/>
|
|
||||||
<approved hash="4,1,8ae35eb43d6fb523"/>
|
|
||||||
<approved hash="4,1,5394cdcaa4187a57"/>
|
|
||||||
<approved hash="4,1,408314d5eb0be346"/>
|
|
||||||
<approved hash="4,1,09b48be6e235787e"/>
|
|
||||||
<approved hash="4,1,b9f902b16f62ec30"/>
|
|
||||||
<approved hash="4,1,d0f659ba36556b03"/>
|
|
||||||
<approved hash="4,1,77c4508b3542020c"/>
|
|
||||||
<approved hash="4,1,8ed3179fac352163"/>
|
|
||||||
<approved hash="4,1,85a48ee06b39a86c"/>
|
|
||||||
<approved hash="4,1,5cb325ff7228e77f"/>
|
|
||||||
<approved hash="4,1,23804cc021234e49"/>
|
|
||||||
<approved hash="4,1,4a9e53d108183d52"/>
|
|
||||||
<approved hash="4,1,61656a25c70304a9"/>
|
|
||||||
<approved hash="4,1,986e612e4ef7c3a2"/>
|
|
||||||
<approved hash="4,1,5f6538256de6faad"/>
|
|
||||||
<approved hash="4,1,56725f3e04e979bf"/>
|
|
||||||
<approved hash="4,1,6d40760f03c60088"/>
|
|
||||||
<approved hash="4,1,645eed13cac91f9f"/>
|
|
||||||
<approved hash="4,1,ab20746459bdc6e8"/>
|
|
||||||
<approved hash="4,1,323f3b7380acd5fb"/>
|
|
||||||
<approved hash="4,1,a90c32441f949cc5"/>
|
|
||||||
<approved hash="4,16,7941fb13d2c06888"/>
|
|
||||||
<approved hash="4,16,fe4aa21c89f301bf"/>
|
|
||||||
<approved hash="4,16,977ba12e80fca6a8"/>
|
|
||||||
<approved hash="4,16,b46f3839c7935fdf"/>
|
|
||||||
<approved hash="4,16,3d10ff4e5e9c54d3"/>
|
|
||||||
<approved hash="4,16,720fe659f58f8dc2"/>
|
|
||||||
<approved hash="4,16,db30b56a9cb9f2c9"/>
|
|
||||||
<approved hash="4,16,a8219c7483a29bf2"/>
|
|
||||||
<approved hash="4,16,91d5538fba59b0e9"/>
|
|
||||||
<approved hash="4,16,56deda84b152491d"/>
|
|
||||||
<approved hash="4,16,6fd5f98fe85d8e0c"/>
|
|
||||||
<approved hash="4,16,ecce90988f4f8703"/>
|
|
||||||
<approved hash="4,16,95ff97aaa678bc2c"/>
|
|
||||||
<approved hash="4,16,8ae35eb43d6fb523"/>
|
|
||||||
<approved hash="4,16,5394cdcaa4187a57"/>
|
|
||||||
<approved hash="4,16,408314d5eb0be346"/>
|
|
||||||
<approved hash="4,16,09b48be6e235787e"/>
|
|
||||||
<approved hash="4,16,b9f902b16f62ec30"/>
|
|
||||||
<approved hash="4,16,d0f659ba36556b03"/>
|
|
||||||
<approved hash="4,16,77c4508b3542020c"/>
|
|
||||||
<approved hash="4,16,8ed3179fac352163"/>
|
|
||||||
<approved hash="4,16,85a48ee06b39a86c"/>
|
|
||||||
<approved hash="4,16,5cb325ff7228e77f"/>
|
|
||||||
<approved hash="4,16,23804cc021234e49"/>
|
|
||||||
<approved hash="4,16,4a9e53d108183d52"/>
|
|
||||||
<approved hash="4,16,61656a25c70304a9"/>
|
|
||||||
<approved hash="4,16,986e612e4ef7c3a2"/>
|
|
||||||
<approved hash="4,16,5f6538256de6faad"/>
|
|
||||||
<approved hash="4,16,56725f3e04e979bf"/>
|
|
||||||
<approved hash="4,16,6d40760f03c60088"/>
|
|
||||||
<approved hash="4,16,645eed13cac91f9f"/>
|
|
||||||
<approved hash="4,16,ab20746459bdc6e8"/>
|
|
||||||
<approved hash="4,16,323f3b7380acd5fb"/>
|
|
||||||
<approved hash="4,16,a90c32441f949cc5"/>
|
|
||||||
</errors>
|
|
||||||
</board>
|
|
||||||
</drawing>
|
|
||||||
<compatibility>
|
|
||||||
<note version="6.3" minversion="6.2.2" severity="warning">
|
|
||||||
Since Version 6.2.2 text objects can contain more than one line,
|
|
||||||
which will not be processed correctly with this version.
|
|
||||||
</note>
|
|
||||||
</compatibility>
|
|
||||||
</eagle>
|
|
@ -1,347 +0,0 @@
|
|||||||
%!PS-Adobe-3.0 EPSF-3.0
|
|
||||||
%%Title: EAGLE Drawing /Users/ShikyC/Documents/Eagle/sanro/sanro.brd
|
|
||||||
%%Creator: EAGLE
|
|
||||||
%%Pages: 1
|
|
||||||
%%BoundingBox: 0 0 576 810
|
|
||||||
%%EndComments
|
|
||||||
|
|
||||||
% Coordinate transfer:
|
|
||||||
|
|
||||||
/EU { 254 div 0.072 mul } def
|
|
||||||
/inch { 72 mul } def
|
|
||||||
|
|
||||||
% Linestyle:
|
|
||||||
|
|
||||||
1 setlinecap
|
|
||||||
1 setlinejoin
|
|
||||||
|
|
||||||
% Drawing functions:
|
|
||||||
|
|
||||||
/l { % draw a line
|
|
||||||
/lw exch def
|
|
||||||
/y2 exch def
|
|
||||||
/x2 exch def
|
|
||||||
/y1 exch def
|
|
||||||
/x1 exch def
|
|
||||||
newpath
|
|
||||||
x1 EU y1 EU moveto
|
|
||||||
x2 EU y2 EU lineto
|
|
||||||
lw EU setlinewidth
|
|
||||||
stroke
|
|
||||||
} def
|
|
||||||
|
|
||||||
/h { % draw a hole
|
|
||||||
/d exch def
|
|
||||||
/y exch def
|
|
||||||
/x exch def
|
|
||||||
d 0 gt {
|
|
||||||
newpath
|
|
||||||
x EU y EU d 2 div EU 0 360 arc
|
|
||||||
currentgray dup
|
|
||||||
1 exch sub setgray
|
|
||||||
fill
|
|
||||||
setgray
|
|
||||||
} if
|
|
||||||
} def
|
|
||||||
|
|
||||||
/b { % draw a bar
|
|
||||||
/an exch def
|
|
||||||
/y2 exch def
|
|
||||||
/x2 exch def
|
|
||||||
/y1 exch def
|
|
||||||
/x1 exch def
|
|
||||||
/w2 x2 x1 sub 2 div EU def
|
|
||||||
/h2 y2 y1 sub 2 div EU def
|
|
||||||
gsave
|
|
||||||
x1 x2 add 2 div EU y1 y2 add 2 div EU translate
|
|
||||||
an rotate
|
|
||||||
newpath
|
|
||||||
w2 h2 moveto
|
|
||||||
w2 neg h2 lineto
|
|
||||||
w2 neg h2 neg lineto
|
|
||||||
w2 h2 neg lineto
|
|
||||||
closepath
|
|
||||||
fill
|
|
||||||
grestore
|
|
||||||
} def
|
|
||||||
|
|
||||||
/c { % draw a circle
|
|
||||||
/lw exch def
|
|
||||||
/rd exch def
|
|
||||||
/y exch def
|
|
||||||
/x exch def
|
|
||||||
newpath
|
|
||||||
lw EU setlinewidth
|
|
||||||
x EU y EU rd EU 0 360 arc
|
|
||||||
stroke
|
|
||||||
} def
|
|
||||||
|
|
||||||
/a { % draw an arc
|
|
||||||
/lc exch def
|
|
||||||
/ae exch def
|
|
||||||
/as exch def
|
|
||||||
/lw exch def
|
|
||||||
/rd exch def
|
|
||||||
/y exch def
|
|
||||||
/x exch def
|
|
||||||
lw rd 2 mul gt {
|
|
||||||
/rd rd lw 2 div add 2 div def
|
|
||||||
/lw rd 2 mul def
|
|
||||||
} if
|
|
||||||
currentlinecap currentlinejoin
|
|
||||||
lc setlinecap 0 setlinejoin
|
|
||||||
newpath
|
|
||||||
lw EU setlinewidth
|
|
||||||
x EU y EU rd EU as ae arc
|
|
||||||
stroke
|
|
||||||
setlinejoin setlinecap
|
|
||||||
} def
|
|
||||||
|
|
||||||
/p { % draw a pie
|
|
||||||
/d exch def
|
|
||||||
/y exch def
|
|
||||||
/x exch def
|
|
||||||
newpath
|
|
||||||
x EU y EU d 2 div EU 0 360 arc
|
|
||||||
fill
|
|
||||||
} def
|
|
||||||
|
|
||||||
/edge { 0.20710678119 mul } def
|
|
||||||
|
|
||||||
/o { % draw an octagon
|
|
||||||
/an exch def
|
|
||||||
/dy exch def
|
|
||||||
/dx exch def
|
|
||||||
/y exch def
|
|
||||||
/x exch def
|
|
||||||
gsave
|
|
||||||
x EU y EU translate
|
|
||||||
an dx dy lt { 90 add /dx dy /dy dx def def } if rotate
|
|
||||||
newpath
|
|
||||||
0 dx 2 div sub EU 0 dy edge add EU moveto
|
|
||||||
0 dx dy sub 2 div sub dy edge sub EU 0 dy 2 div add EU lineto
|
|
||||||
0 dx dy sub 2 div add dy edge add EU 0 dy 2 div add EU lineto
|
|
||||||
0 dx 2 div add EU 0 dy edge add EU lineto
|
|
||||||
0 dx 2 div add EU 0 dy edge sub EU lineto
|
|
||||||
0 dx dy sub 2 div add dy edge add EU 0 dy 2 div sub EU lineto
|
|
||||||
0 dx dy sub 2 div sub dy edge sub EU 0 dy 2 div sub EU lineto
|
|
||||||
0 dx 2 div sub EU 0 dy edge sub EU lineto
|
|
||||||
closepath
|
|
||||||
fill
|
|
||||||
grestore
|
|
||||||
} def
|
|
||||||
|
|
||||||
% the real drawing size:
|
|
||||||
|
|
||||||
/MinDrawX -511810 EU def
|
|
||||||
/MinDrawY -8307 EU def
|
|
||||||
/MaxDrawX 3810 EU def
|
|
||||||
/MaxDrawY 346710 EU def
|
|
||||||
|
|
||||||
% the usable page size:
|
|
||||||
|
|
||||||
/LeftMargin 0.25 inch def % change these if drawing gets clipped!
|
|
||||||
/BotMargin 0.25 inch def
|
|
||||||
/PageWidth 7.7500 inch def
|
|
||||||
/PageHeight 11.0000 inch def
|
|
||||||
|
|
||||||
% are we going to rotate?:
|
|
||||||
|
|
||||||
/RotateDrawing 0 0 ne def
|
|
||||||
|
|
||||||
% Media size functions:
|
|
||||||
|
|
||||||
/AbortMessage { % Show a message in a box and stop printing
|
|
||||||
/h 100 def
|
|
||||||
/Courier findfont 12 scalefont setfont
|
|
||||||
mediawidth pagemargin sub h 1 setpage
|
|
||||||
newpath
|
|
||||||
0 0 moveto
|
|
||||||
0 h rlineto
|
|
||||||
mediawidth pagemargin sub 0 rlineto
|
|
||||||
0 h neg rlineto
|
|
||||||
closepath
|
|
||||||
5 setlinewidth
|
|
||||||
stroke
|
|
||||||
newpath 50 60 moveto (ERROR: Jobsize exceeds physical printing area!) show
|
|
||||||
newpath 50 40 moveto ( Job has been aborted!) show
|
|
||||||
showpage
|
|
||||||
stop
|
|
||||||
} def
|
|
||||||
|
|
||||||
/SelectPage { % Select the page identified by Row and Column
|
|
||||||
/Column exch def
|
|
||||||
/Row exch def
|
|
||||||
|
|
||||||
% the actually exposed area (if the machine knows these parameters!):
|
|
||||||
|
|
||||||
/DrawX MaxDrawX MinDrawX sub def
|
|
||||||
/DrawY MaxDrawY MinDrawY sub def
|
|
||||||
statusdict /setpage known
|
|
||||||
statusdict /mediawidth known and
|
|
||||||
statusdict /medialength known and
|
|
||||||
statusdict /pagemargin known and {
|
|
||||||
% this is for machines that can tell the media size:
|
|
||||||
statusdict begin
|
|
||||||
/MediaW mediawidth pagemargin sub def
|
|
||||||
DrawX DrawY ge {
|
|
||||||
DrawX MediaW le DrawY medialength le and {
|
|
||||||
MediaW DrawY 1 setpage
|
|
||||||
MediaW DrawX sub 2 div 0 translate
|
|
||||||
}{
|
|
||||||
DrawY MediaW le DrawX medialength le and {
|
|
||||||
MediaW DrawX 0 setpage
|
|
||||||
0 MediaW DrawY sub 2 div translate
|
|
||||||
}{
|
|
||||||
AbortMessage
|
|
||||||
} ifelse
|
|
||||||
} ifelse
|
|
||||||
}{
|
|
||||||
DrawY MediaW le DrawX medialength le and {
|
|
||||||
MediaW DrawX 0 setpage
|
|
||||||
0 MediaW DrawY sub 2 div translate
|
|
||||||
}{
|
|
||||||
DrawX MediaW le DrawY medialength le and {
|
|
||||||
MediaW DrawY 1 setpage
|
|
||||||
MediaW DrawX sub 2 div 0 translate
|
|
||||||
}{
|
|
||||||
AbortMessage
|
|
||||||
} ifelse
|
|
||||||
} ifelse
|
|
||||||
} ifelse
|
|
||||||
end
|
|
||||||
}{
|
|
||||||
% this is for machines that can NOT tell the media size:
|
|
||||||
% (Ghostscript doesn't like this!)
|
|
||||||
/Product product length string def
|
|
||||||
/i 0 def
|
|
||||||
product { dup 97 lt { 32 add } if Product exch i exch put /i i 1 add def } forall
|
|
||||||
Product (ghostscript) search dup /IsGhostscript exch def
|
|
||||||
{ pop pop } if
|
|
||||||
pop
|
|
||||||
IsGhostscript not {
|
|
||||||
statusdict /setpage known {
|
|
||||||
statusdict begin
|
|
||||||
RotateDrawing {
|
|
||||||
LeftMargin PageHeight add BotMargin DrawY add
|
|
||||||
}{
|
|
||||||
BotMargin DrawY add LeftMargin DrawX add
|
|
||||||
} ifelse
|
|
||||||
0 setpage
|
|
||||||
end
|
|
||||||
} if
|
|
||||||
} if
|
|
||||||
% set clipping boundary:
|
|
||||||
newpath
|
|
||||||
LeftMargin BotMargin moveto
|
|
||||||
0 PageHeight rlineto
|
|
||||||
PageWidth 0 rlineto
|
|
||||||
0 PageHeight neg rlineto
|
|
||||||
closepath
|
|
||||||
clip
|
|
||||||
% set the origin:
|
|
||||||
LeftMargin BotMargin translate
|
|
||||||
RotateDrawing {
|
|
||||||
0 PageHeight translate
|
|
||||||
-90 rotate
|
|
||||||
PageHeight Column mul neg PageWidth Row mul neg translate
|
|
||||||
}{
|
|
||||||
PageWidth Column mul neg PageHeight Row mul neg translate
|
|
||||||
} ifelse
|
|
||||||
} ifelse
|
|
||||||
% move the lower left corner of the drawing to the origin:
|
|
||||||
MinDrawX neg MinDrawY neg translate
|
|
||||||
|
|
||||||
% Linestyle:
|
|
||||||
|
|
||||||
1 setlinecap
|
|
||||||
1 setlinejoin
|
|
||||||
|
|
||||||
} def
|
|
||||||
|
|
||||||
% TheDrawing
|
|
||||||
|
|
||||||
gsave 0 0 SelectPage
|
|
||||||
-127000 165100 15748 p
|
|
||||||
-152400 165100 15748 p
|
|
||||||
-177800 165100 15748 p
|
|
||||||
-203200 165100 15748 p
|
|
||||||
-228600 165100 15748 p
|
|
||||||
-254000 165100 15748 p
|
|
||||||
-101600 165100 15748 p
|
|
||||||
-76200 165100 15748 p
|
|
||||||
-50800 165100 15748 p
|
|
||||||
-330200 165100 15748 p
|
|
||||||
-355600 165100 15748 p
|
|
||||||
-381000 165100 15748 p
|
|
||||||
-406400 165100 15748 p
|
|
||||||
-431800 165100 15748 p
|
|
||||||
-457200 165100 15748 p
|
|
||||||
-304800 165100 15748 p
|
|
||||||
-279400 165100 15748 p
|
|
||||||
-127000 317500 15748 p
|
|
||||||
-152400 317500 15748 p
|
|
||||||
-177800 317500 15748 p
|
|
||||||
-203200 317500 15748 p
|
|
||||||
-228600 317500 15748 p
|
|
||||||
-254000 317500 15748 p
|
|
||||||
-101600 317500 15748 p
|
|
||||||
-76200 317500 15748 p
|
|
||||||
-50800 317500 15748 p
|
|
||||||
-330200 317500 15748 p
|
|
||||||
-355600 317500 15748 p
|
|
||||||
-381000 317500 15748 p
|
|
||||||
-406400 317500 15748 p
|
|
||||||
-431800 317500 15748 p
|
|
||||||
-457200 317500 15748 p
|
|
||||||
-304800 317500 15748 p
|
|
||||||
-279400 317500 15748 p
|
|
||||||
-469900 217170 15748 15748 0.0 o
|
|
||||||
-469900 191770 15748 15748 0.0 o
|
|
||||||
-444500 217170 15748 15748 0.0 o
|
|
||||||
-444500 191770 15748 15748 0.0 o
|
|
||||||
-419100 217170 15748 15748 0.0 o
|
|
||||||
-419100 191770 15748 15748 0.0 o
|
|
||||||
-81280 101600 -96520 101600 15240 l
|
|
||||||
-81280 76200 -96520 76200 15240 l
|
|
||||||
-81280 50800 -96520 50800 15240 l
|
|
||||||
-81280 25400 -96520 25400 15240 l
|
|
||||||
-132080 101600 -147320 101600 15240 l
|
|
||||||
-132080 76200 -147320 76200 15240 l
|
|
||||||
-132080 50800 -147320 50800 15240 l
|
|
||||||
-132080 25400 -147320 25400 15240 l
|
|
||||||
-182880 101600 -198120 101600 15240 l
|
|
||||||
-182880 76200 -198120 76200 15240 l
|
|
||||||
-182880 50800 -198120 50800 15240 l
|
|
||||||
-182880 25400 -198120 25400 15240 l
|
|
||||||
-233680 101600 -248920 101600 15240 l
|
|
||||||
-233680 76200 -248920 76200 15240 l
|
|
||||||
-233680 50800 -248920 50800 15240 l
|
|
||||||
-233680 25400 -248920 25400 15240 l
|
|
||||||
-88900 101600 -127000 139700 10160 l
|
|
||||||
-127000 139700 -127000 165100 10160 l
|
|
||||||
-139700 101600 -152400 114300 10160 l
|
|
||||||
-152400 114300 -152400 165100 10160 l
|
|
||||||
-190500 101600 -177800 114300 10160 l
|
|
||||||
-177800 114300 -177800 165100 10160 l
|
|
||||||
-241300 101600 -203200 139700 10160 l
|
|
||||||
-203200 139700 -203200 165100 10160 l
|
|
||||||
-88900 76200 -139700 76200 10160 l
|
|
||||||
-139700 76200 -190500 76200 10160 l
|
|
||||||
-190500 76200 -241300 76200 10160 l
|
|
||||||
-381000 165100 -292100 76200 10160 l
|
|
||||||
-292100 76200 -241300 76200 10160 l
|
|
||||||
-88900 50800 -139700 50800 10160 l
|
|
||||||
-139700 50800 -190500 50800 10160 l
|
|
||||||
-190500 50800 -241300 50800 10160 l
|
|
||||||
-330200 165100 -304800 190500 10160 l
|
|
||||||
-304800 190500 -50800 190500 10160 l
|
|
||||||
-50800 190500 -25400 165100 10160 l
|
|
||||||
-25400 165100 -25400 101600 10160 l
|
|
||||||
-25400 101600 -76200 50800 10160 l
|
|
||||||
-76200 50800 -88900 50800 10160 l
|
|
||||||
0 342900 -508000 342900 2540 l
|
|
||||||
-508000 342900 -508000 0 2540 l
|
|
||||||
-508000 0 0 0 2540 l
|
|
||||||
0 0 0 342900 2540 l
|
|
||||||
showpage grestore
|
|
@ -1,629 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!DOCTYPE eagle SYSTEM "eagle.dtd">
|
|
||||||
<eagle version="7.5.0">
|
|
||||||
<drawing>
|
|
||||||
<settings>
|
|
||||||
<setting alwaysvectorfont="no"/>
|
|
||||||
<setting verticaltext="up"/>
|
|
||||||
</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="no"/>
|
|
||||||
<layer number="2" name="Route2" color="1" fill="3" visible="yes" active="no"/>
|
|
||||||
<layer number="3" name="Route3" color="4" fill="3" visible="yes" active="no"/>
|
|
||||||
<layer number="4" name="Route4" color="1" fill="4" visible="yes" active="no"/>
|
|
||||||
<layer number="5" name="Route5" color="4" fill="4" visible="yes" active="no"/>
|
|
||||||
<layer number="6" name="Route6" color="1" fill="8" visible="yes" active="no"/>
|
|
||||||
<layer number="7" name="Route7" color="4" fill="8" visible="yes" active="no"/>
|
|
||||||
<layer number="8" name="Route8" color="1" fill="2" visible="yes" active="no"/>
|
|
||||||
<layer number="9" name="Route9" color="4" fill="2" visible="yes" active="no"/>
|
|
||||||
<layer number="10" name="Route10" color="1" fill="7" visible="yes" active="no"/>
|
|
||||||
<layer number="11" name="Route11" color="4" fill="7" visible="yes" active="no"/>
|
|
||||||
<layer number="12" name="Route12" color="1" fill="5" visible="yes" active="no"/>
|
|
||||||
<layer number="13" name="Route13" color="4" fill="5" visible="yes" active="no"/>
|
|
||||||
<layer number="14" name="Route14" color="1" fill="6" visible="yes" active="no"/>
|
|
||||||
<layer number="15" name="Route15" color="4" fill="6" visible="yes" active="no"/>
|
|
||||||
<layer number="16" name="Bottom" color="1" fill="1" visible="yes" active="no"/>
|
|
||||||
<layer number="17" name="Pads" color="2" fill="1" visible="yes" active="no"/>
|
|
||||||
<layer number="18" name="Vias" color="2" fill="1" visible="yes" active="no"/>
|
|
||||||
<layer number="19" name="Unrouted" color="6" fill="1" visible="yes" active="no"/>
|
|
||||||
<layer number="20" name="Dimension" color="15" fill="1" visible="yes" active="no"/>
|
|
||||||
<layer number="21" name="tPlace" color="7" fill="1" visible="yes" active="no"/>
|
|
||||||
<layer number="22" name="bPlace" color="7" fill="1" visible="yes" active="no"/>
|
|
||||||
<layer number="23" name="tOrigins" color="15" fill="1" visible="yes" active="no"/>
|
|
||||||
<layer number="24" name="bOrigins" color="15" fill="1" visible="yes" active="no"/>
|
|
||||||
<layer number="25" name="tNames" color="7" fill="1" visible="yes" active="no"/>
|
|
||||||
<layer number="26" name="bNames" color="7" fill="1" visible="yes" active="no"/>
|
|
||||||
<layer number="27" name="tValues" color="7" fill="1" visible="yes" active="no"/>
|
|
||||||
<layer number="28" name="bValues" color="7" fill="1" visible="yes" active="no"/>
|
|
||||||
<layer number="29" name="tStop" color="7" fill="3" visible="no" active="no"/>
|
|
||||||
<layer number="30" name="bStop" color="7" fill="6" visible="no" active="no"/>
|
|
||||||
<layer number="31" name="tCream" color="7" fill="4" visible="no" active="no"/>
|
|
||||||
<layer number="32" name="bCream" color="7" fill="5" visible="no" active="no"/>
|
|
||||||
<layer number="33" name="tFinish" color="6" fill="3" visible="no" active="no"/>
|
|
||||||
<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="no"/>
|
|
||||||
<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="no"/>
|
|
||||||
<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="no"/>
|
|
||||||
<layer number="37" name="tTest" color="7" fill="1" visible="yes" active="no"/>
|
|
||||||
<layer number="38" name="bTest" color="7" fill="1" visible="yes" active="no"/>
|
|
||||||
<layer number="39" name="tKeepout" color="4" fill="11" visible="no" active="no"/>
|
|
||||||
<layer number="40" name="bKeepout" color="1" fill="11" visible="no" active="no"/>
|
|
||||||
<layer number="41" name="tRestrict" color="4" fill="10" visible="no" active="no"/>
|
|
||||||
<layer number="42" name="bRestrict" color="1" fill="10" visible="no" active="no"/>
|
|
||||||
<layer number="43" name="vRestrict" color="2" fill="10" visible="no" active="no"/>
|
|
||||||
<layer number="44" name="Drills" color="7" fill="1" visible="no" active="no"/>
|
|
||||||
<layer number="45" name="Holes" color="7" fill="1" visible="no" active="no"/>
|
|
||||||
<layer number="46" name="Milling" color="3" fill="1" visible="yes" active="no"/>
|
|
||||||
<layer number="47" name="Measures" color="7" fill="1" visible="yes" active="no"/>
|
|
||||||
<layer number="48" name="Document" color="7" fill="1" visible="yes" active="no"/>
|
|
||||||
<layer number="49" name="Reference" color="7" fill="1" visible="yes" active="no"/>
|
|
||||||
<layer number="50" name="dxf" color="7" fill="1" visible="yes" active="no"/>
|
|
||||||
<layer number="51" name="tDocu" color="7" fill="1" visible="yes" active="no"/>
|
|
||||||
<layer number="52" name="bDocu" color="7" fill="1" visible="yes" active="no"/>
|
|
||||||
<layer number="53" name="tGND_GNDA" color="7" fill="9" visible="yes" active="no"/>
|
|
||||||
<layer number="54" name="bGND_GNDA" color="1" fill="9" visible="yes" active="no"/>
|
|
||||||
<layer number="56" name="wert" color="7" fill="1" visible="yes" active="no"/>
|
|
||||||
<layer number="90" name="Modules" color="5" 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"/>
|
|
||||||
<layer number="100" name="Muster" color="7" fill="1" visible="no" active="no"/>
|
|
||||||
<layer number="101" name="Patch_Top" color="12" fill="4" visible="yes" active="yes"/>
|
|
||||||
<layer number="102" name="Vscore" color="7" fill="1" visible="yes" active="yes"/>
|
|
||||||
<layer number="103" name="tMap" color="7" fill="1" visible="yes" active="yes"/>
|
|
||||||
<layer number="104" name="Name" color="16" fill="1" visible="yes" active="yes"/>
|
|
||||||
<layer number="105" name="tPlate" color="7" fill="1" visible="yes" active="yes"/>
|
|
||||||
<layer number="106" name="bPlate" color="7" fill="1" visible="yes" active="yes"/>
|
|
||||||
<layer number="107" name="Crop" color="7" fill="1" visible="yes" active="yes"/>
|
|
||||||
<layer number="116" name="Patch_BOT" color="9" fill="4" visible="yes" active="yes"/>
|
|
||||||
<layer number="121" name="_tsilk" color="7" fill="1" visible="yes" active="yes"/>
|
|
||||||
<layer number="122" name="_bsilk" color="7" fill="1" visible="yes" active="yes"/>
|
|
||||||
<layer number="125" name="_tNames" color="7" fill="1" visible="yes" active="yes"/>
|
|
||||||
<layer number="144" name="Drill_legend" color="7" fill="1" visible="yes" active="yes"/>
|
|
||||||
<layer number="151" name="HeatSink" color="7" fill="1" visible="yes" active="yes"/>
|
|
||||||
<layer number="200" name="200bmp" color="1" fill="10" visible="yes" active="yes"/>
|
|
||||||
<layer number="201" name="201bmp" color="2" fill="10" visible="yes" active="yes"/>
|
|
||||||
<layer number="202" name="202bmp" color="3" fill="10" visible="yes" active="yes"/>
|
|
||||||
<layer number="203" name="203bmp" color="4" fill="10" visible="yes" active="yes"/>
|
|
||||||
<layer number="204" name="204bmp" color="5" fill="10" visible="yes" active="yes"/>
|
|
||||||
<layer number="205" name="205bmp" color="6" fill="10" visible="yes" active="yes"/>
|
|
||||||
<layer number="206" name="206bmp" color="7" fill="10" visible="yes" active="yes"/>
|
|
||||||
<layer number="207" name="207bmp" color="8" fill="10" visible="yes" active="yes"/>
|
|
||||||
<layer number="208" name="208bmp" color="9" fill="10" visible="yes" active="yes"/>
|
|
||||||
<layer number="209" name="209bmp" color="7" fill="1" visible="yes" active="yes"/>
|
|
||||||
<layer number="210" name="210bmp" color="7" fill="1" visible="yes" active="yes"/>
|
|
||||||
<layer number="211" name="211bmp" color="7" fill="1" visible="yes" active="yes"/>
|
|
||||||
<layer number="212" name="212bmp" color="7" fill="1" visible="yes" active="yes"/>
|
|
||||||
<layer number="213" name="213bmp" color="7" fill="1" visible="yes" active="yes"/>
|
|
||||||
<layer number="214" name="214bmp" color="7" fill="1" visible="yes" active="yes"/>
|
|
||||||
<layer number="215" name="215bmp" color="7" fill="1" visible="yes" active="yes"/>
|
|
||||||
<layer number="216" name="216bmp" color="7" fill="1" visible="yes" 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="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="yes" active="yes"/>
|
|
||||||
</layers>
|
|
||||||
<schematic xreflabel="%F%N/%S.%C%R" xrefpart="/%S.%C%R">
|
|
||||||
<libraries>
|
|
||||||
<library name="E14_Arduino_revB">
|
|
||||||
<packages>
|
|
||||||
<package name="ARDUINO_MICRO">
|
|
||||||
<description>Footprint for representing an Arduino Micro board in an EAGLE schematic. Created by Dave Young for Element14. More EAGLE documentation at: http://www.element14.com/community/community/knode/cadsoft_eagle</description>
|
|
||||||
<pad name="A0" x="11.43" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="A1" x="13.97" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="A2" x="16.51" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="A3" x="19.05" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="A4" x="21.59" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="A5" x="24.13" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="REF" x="8.89" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<rectangle x1="23.876" y1="1.016" x2="24.384" y2="1.524" layer="51"/>
|
|
||||||
<rectangle x1="21.336" y1="1.016" x2="21.844" y2="1.524" layer="51"/>
|
|
||||||
<rectangle x1="18.796" y1="1.016" x2="19.304" y2="1.524" layer="51"/>
|
|
||||||
<rectangle x1="16.256" y1="1.016" x2="16.764" y2="1.524" layer="51"/>
|
|
||||||
<rectangle x1="13.716" y1="1.016" x2="14.224" y2="1.524" layer="51"/>
|
|
||||||
<rectangle x1="11.176" y1="1.016" x2="11.684" y2="1.524" layer="51"/>
|
|
||||||
<rectangle x1="8.636" y1="1.016" x2="9.144" y2="1.524" layer="51"/>
|
|
||||||
<pad name="3V3" x="6.35" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<rectangle x1="6.096" y1="1.016" x2="6.604" y2="1.524" layer="51"/>
|
|
||||||
<pad name="D13" x="3.81" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<rectangle x1="3.556" y1="1.016" x2="4.064" y2="1.524" layer="51"/>
|
|
||||||
<wire x1="0" y1="0" x2="0" y2="17.78" width="0.127" layer="20"/>
|
|
||||||
<wire x1="0" y1="17.78" x2="48.26" y2="17.78" width="0.127" layer="20"/>
|
|
||||||
<wire x1="48.26" y1="17.78" x2="48.26" y2="0" width="0.127" layer="20"/>
|
|
||||||
<wire x1="48.26" y1="0" x2="0" y2="0" width="0.127" layer="20"/>
|
|
||||||
<pad name="+5V" x="31.75" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="RST." x="34.29" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="GND." x="36.83" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="VIN" x="39.37" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="MISO]" x="41.91" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="SCK" x="44.45" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="NC." x="29.21" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<rectangle x1="44.196" y1="1.016" x2="44.704" y2="1.524" layer="51"/>
|
|
||||||
<rectangle x1="41.656" y1="1.016" x2="42.164" y2="1.524" layer="51"/>
|
|
||||||
<rectangle x1="39.116" y1="1.016" x2="39.624" y2="1.524" layer="51"/>
|
|
||||||
<rectangle x1="36.576" y1="1.016" x2="37.084" y2="1.524" layer="51"/>
|
|
||||||
<rectangle x1="34.036" y1="1.016" x2="34.544" y2="1.524" layer="51"/>
|
|
||||||
<rectangle x1="31.496" y1="1.016" x2="32.004" y2="1.524" layer="51"/>
|
|
||||||
<rectangle x1="28.956" y1="1.016" x2="29.464" y2="1.524" layer="51"/>
|
|
||||||
<pad name="NC" x="26.67" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<rectangle x1="26.416" y1="1.016" x2="26.924" y2="1.524" layer="51"/>
|
|
||||||
<pad name="D9" x="11.43" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="D8" x="13.97" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="D7" x="16.51" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="D6" x="19.05" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="D5" x="21.59" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="D4" x="24.13" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="D10" x="8.89" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<rectangle x1="23.876" y1="16.256" x2="24.384" y2="16.764" layer="51"/>
|
|
||||||
<rectangle x1="21.336" y1="16.256" x2="21.844" y2="16.764" layer="51"/>
|
|
||||||
<rectangle x1="18.796" y1="16.256" x2="19.304" y2="16.764" layer="51"/>
|
|
||||||
<rectangle x1="16.256" y1="16.256" x2="16.764" y2="16.764" layer="51"/>
|
|
||||||
<rectangle x1="13.716" y1="16.256" x2="14.224" y2="16.764" layer="51"/>
|
|
||||||
<rectangle x1="11.176" y1="16.256" x2="11.684" y2="16.764" layer="51"/>
|
|
||||||
<rectangle x1="8.636" y1="16.256" x2="9.144" y2="16.764" layer="51"/>
|
|
||||||
<pad name="D11" x="6.35" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<rectangle x1="6.096" y1="16.256" x2="6.604" y2="16.764" layer="51"/>
|
|
||||||
<pad name="D12" x="3.81" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<rectangle x1="3.556" y1="16.256" x2="4.064" y2="16.764" layer="51"/>
|
|
||||||
<pad name="GND" x="31.75" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="RST" x="34.29" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="RX1" x="36.83" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="TX1" x="39.37" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="SS" x="41.91" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="MOSI" x="44.45" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<pad name="D2" x="29.21" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<rectangle x1="44.196" y1="16.256" x2="44.704" y2="16.764" layer="51"/>
|
|
||||||
<rectangle x1="41.656" y1="16.256" x2="42.164" y2="16.764" layer="51"/>
|
|
||||||
<rectangle x1="39.116" y1="16.256" x2="39.624" y2="16.764" layer="51"/>
|
|
||||||
<rectangle x1="36.576" y1="16.256" x2="37.084" y2="16.764" layer="51"/>
|
|
||||||
<rectangle x1="34.036" y1="16.256" x2="34.544" y2="16.764" layer="51"/>
|
|
||||||
<rectangle x1="31.496" y1="16.256" x2="32.004" y2="16.764" layer="51"/>
|
|
||||||
<rectangle x1="28.956" y1="16.256" x2="29.464" y2="16.764" layer="51"/>
|
|
||||||
<pad name="D3" x="26.67" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
|
||||||
<rectangle x1="26.416" y1="16.256" x2="26.924" y2="16.764" layer="51"/>
|
|
||||||
<hole x="1.27" y="1.27" drill="1.2"/>
|
|
||||||
<hole x="1.27" y="16.51" drill="1.2"/>
|
|
||||||
<hole x="46.99" y="16.51" drill="1.2"/>
|
|
||||||
<hole x="46.99" y="1.27" drill="1.2"/>
|
|
||||||
<wire x1="-0.8382" y1="5.3086" x2="4.2418" y2="5.3086" width="0.127" layer="21"/>
|
|
||||||
<wire x1="4.2418" y1="5.3086" x2="4.2418" y2="12.3698" width="0.127" layer="21"/>
|
|
||||||
<wire x1="4.2418" y1="12.3698" x2="-0.8382" y2="12.3698" width="0.127" layer="21"/>
|
|
||||||
<wire x1="-0.8382" y1="12.3698" x2="-0.8382" y2="5.3086" width="0.127" layer="21"/>
|
|
||||||
<smd name="<USB>+V" x="3.1496" y="10.9474" dx="1.27" dy="0.635" layer="1"/>
|
|
||||||
<smd name="<USB>D+" x="3.1496" y="9.9568" dx="1.27" dy="0.635" layer="1"/>
|
|
||||||
<smd name="<USB>D-" x="3.1496" y="8.9408" dx="1.27" dy="0.635" layer="1"/>
|
|
||||||
<smd name="<USB>ID" x="3.1496" y="7.9756" dx="1.27" dy="0.635" layer="1"/>
|
|
||||||
<smd name="<USB>GND" x="3.1496" y="6.9596" dx="1.27" dy="0.635" layer="1"/>
|
|
||||||
<text x="39.0144" y="3.2258" size="1.27" layer="21" rot="R90">ICSP</text>
|
|
||||||
<circle x="39.116" y="2.54" radius="0.127" width="0.127" layer="21"/>
|
|
||||||
<wire x1="46.99" y1="7.112" x2="46.355" y2="7.747" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="45.085" y1="7.747" x2="44.45" y2="7.112" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="44.45" y1="7.112" x2="43.815" y2="7.747" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="42.545" y1="7.747" x2="41.91" y2="7.112" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="41.91" y1="7.112" x2="41.275" y2="7.747" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="40.005" y1="7.747" x2="39.37" y2="7.112" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="46.99" y1="3.302" x2="46.355" y2="2.667" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="46.355" y1="2.667" x2="45.085" y2="2.667" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="45.085" y1="2.667" x2="44.45" y2="3.302" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="44.45" y1="3.302" x2="43.815" y2="2.667" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="43.815" y1="2.667" x2="42.545" y2="2.667" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="42.545" y1="2.667" x2="41.91" y2="3.302" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="41.91" y1="3.302" x2="41.275" y2="2.667" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="41.275" y1="2.667" x2="40.005" y2="2.667" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="40.005" y1="2.667" x2="39.37" y2="3.302" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="44.45" y1="3.302" x2="44.45" y2="7.112" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="41.91" y1="3.302" x2="41.91" y2="7.112" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="39.37" y1="3.302" x2="39.37" y2="7.112" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="41.275" y1="7.747" x2="40.005" y2="7.747" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="43.815" y1="7.747" x2="42.545" y2="7.747" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="46.355" y1="7.747" x2="45.085" y2="7.747" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="46.99" y1="3.302" x2="46.99" y2="7.112" width="0.1524" layer="21"/>
|
|
||||||
<pad name="GND_" x="45.72" y="6.477" drill="1.016" diameter="1.5748" shape="octagon" rot="R180"/>
|
|
||||||
<pad name="RESET.." x="45.72" y="3.937" drill="1.016" diameter="1.5748" shape="octagon" rot="R180"/>
|
|
||||||
<pad name="MOSI." x="43.18" y="6.477" drill="1.016" diameter="1.5748" shape="octagon" rot="R180"/>
|
|
||||||
<pad name="SCK." x="43.18" y="3.937" drill="1.016" diameter="1.5748" shape="octagon" rot="R180"/>
|
|
||||||
<pad name="5V" x="40.64" y="6.477" drill="1.016" diameter="1.5748" shape="octagon" rot="R180"/>
|
|
||||||
<pad name="MISO." x="40.64" y="3.937" drill="1.016" diameter="1.5748" shape="octagon" rot="R180"/>
|
|
||||||
<rectangle x1="45.466" y1="6.223" x2="45.974" y2="6.731" layer="51" rot="R180"/>
|
|
||||||
<rectangle x1="45.466" y1="3.683" x2="45.974" y2="4.191" layer="51" rot="R180"/>
|
|
||||||
<rectangle x1="42.926" y1="3.683" x2="43.434" y2="4.191" layer="51" rot="R180"/>
|
|
||||||
<rectangle x1="42.926" y1="6.223" x2="43.434" y2="6.731" layer="51" rot="R180"/>
|
|
||||||
<rectangle x1="40.386" y1="3.683" x2="40.894" y2="4.191" layer="51" rot="R180"/>
|
|
||||||
<rectangle x1="40.386" y1="6.223" x2="40.894" y2="6.731" layer="51" rot="R180"/>
|
|
||||||
<text x="19.05" y="10.16" size="1.27" layer="21">Arduino</text>
|
|
||||||
<text x="19.05" y="8.255" size="1.27" layer="21">Micro</text>
|
|
||||||
<text x="4.826" y="15.875" size="0.508" layer="21">1
|
|
||||||
2</text>
|
|
||||||
<text x="7.366" y="15.875" size="0.508" layer="21">1
|
|
||||||
1</text>
|
|
||||||
<text x="9.906" y="15.875" size="0.508" layer="21">1
|
|
||||||
0</text>
|
|
||||||
<text x="12.446" y="16.256" size="0.508" layer="21">9</text>
|
|
||||||
<text x="14.986" y="15.875" size="0.508" layer="21">8</text>
|
|
||||||
<text x="17.526" y="15.875" size="0.508" layer="21">7</text>
|
|
||||||
<text x="20.066" y="15.875" size="0.508" layer="21">6</text>
|
|
||||||
<text x="22.606" y="15.875" size="0.508" layer="21">5</text>
|
|
||||||
<text x="25.146" y="15.875" size="0.508" layer="21">4</text>
|
|
||||||
<text x="27.686" y="15.875" size="0.508" layer="21">3</text>
|
|
||||||
<text x="30.226" y="15.875" size="0.508" layer="21">2</text>
|
|
||||||
<text x="32.766" y="15.875" size="0.508" layer="21">G</text>
|
|
||||||
<text x="35.306" y="15.875" size="0.508" layer="21">R</text>
|
|
||||||
<text x="37.846" y="15.875" size="0.508" layer="21">R
|
|
||||||
X</text>
|
|
||||||
<text x="40.386" y="15.875" size="0.508" layer="21">T
|
|
||||||
X</text>
|
|
||||||
<text x="42.926" y="15.875" size="0.508" layer="21">S
|
|
||||||
S</text>
|
|
||||||
<text x="43.688" y="14.986" size="0.508" layer="21">MOSI</text>
|
|
||||||
<text x="47.244" y="2.921" size="0.508" layer="21">S
|
|
||||||
C
|
|
||||||
K</text>
|
|
||||||
<text x="43.053" y="0.762" size="0.508" layer="21">M
|
|
||||||
I</text>
|
|
||||||
<text x="40.513" y="0.762" size="0.508" layer="21">V
|
|
||||||
I</text>
|
|
||||||
<text x="37.973" y="1.524" size="0.508" layer="21">G</text>
|
|
||||||
<text x="35.306" y="0.762" size="0.508" layer="21">R
|
|
||||||
S</text>
|
|
||||||
<text x="32.766" y="0.762" size="0.508" layer="21">5
|
|
||||||
V</text>
|
|
||||||
<text x="25.146" y="0.635" size="0.508" layer="21">A
|
|
||||||
5</text>
|
|
||||||
<text x="22.606" y="0.635" size="0.508" layer="21">A
|
|
||||||
4</text>
|
|
||||||
<text x="20.066" y="0.635" size="0.508" layer="21">A
|
|
||||||
3</text>
|
|
||||||
<text x="17.526" y="0.635" size="0.508" layer="21">A
|
|
||||||
2</text>
|
|
||||||
<text x="14.986" y="0.635" size="0.508" layer="21">A
|
|
||||||
1</text>
|
|
||||||
<text x="12.446" y="0.635" size="0.508" layer="21">A
|
|
||||||
0</text>
|
|
||||||
<text x="10.033" y="0.635" size="0.508" layer="21">R
|
|
||||||
F</text>
|
|
||||||
<text x="7.366" y="0.635" size="0.508" layer="21">3
|
|
||||||
V</text>
|
|
||||||
<text x="4.826" y="0.635" size="0.508" layer="21">1
|
|
||||||
3</text>
|
|
||||||
<wire x1="47.244" y1="2.794" x2="46.482" y2="2.032" width="0.127" layer="21"/>
|
|
||||||
<wire x1="46.482" y1="2.032" x2="45.085" y2="2.032" width="0.127" layer="21"/>
|
|
||||||
</package>
|
|
||||||
</packages>
|
|
||||||
<symbols>
|
|
||||||
<symbol name="ARDUINO_MICRO">
|
|
||||||
<description>Schematic symbol for representing an Arduino Micro R3 board in an EAGLE schematic. Created by Dave Young for Element14. More EAGLE documentation at: http://www.element14.com/community/community/knode/cadsoft_eagle</description>
|
|
||||||
<pin name="D12" x="-17.78" y="15.24" length="short" rot="R270"/>
|
|
||||||
<pin name="D11" x="-15.24" y="15.24" length="short" rot="R270"/>
|
|
||||||
<pin name="D10" x="-12.7" y="15.24" length="short" rot="R270"/>
|
|
||||||
<pin name="D9" x="-10.16" y="15.24" length="short" rot="R270"/>
|
|
||||||
<pin name="D8" x="-7.62" y="15.24" length="short" rot="R270"/>
|
|
||||||
<pin name="D7" x="-5.08" y="15.24" length="short" rot="R270"/>
|
|
||||||
<pin name="D6" x="-2.54" y="15.24" length="short" rot="R270"/>
|
|
||||||
<pin name="D5" x="0" y="15.24" length="short" rot="R270"/>
|
|
||||||
<pin name="D4" x="2.54" y="15.24" length="short" rot="R270"/>
|
|
||||||
<pin name="D3" x="5.08" y="15.24" length="short" rot="R270"/>
|
|
||||||
<pin name="D2" x="7.62" y="15.24" length="short" rot="R270"/>
|
|
||||||
<pin name="GND" x="10.16" y="15.24" length="short" rot="R270"/>
|
|
||||||
<pin name="RST" x="12.7" y="15.24" length="short" rot="R270"/>
|
|
||||||
<pin name="RX" x="15.24" y="15.24" length="short" rot="R270"/>
|
|
||||||
<pin name="TX" x="17.78" y="15.24" length="short" rot="R270"/>
|
|
||||||
<pin name="+5V" x="10.16" y="-17.78" length="short" rot="R90"/>
|
|
||||||
<pin name="RST." x="12.7" y="-17.78" length="short" rot="R90"/>
|
|
||||||
<pin name="GND." x="15.24" y="-17.78" length="short" rot="R90"/>
|
|
||||||
<pin name="A5" x="2.54" y="-17.78" length="short" rot="R90"/>
|
|
||||||
<pin name="A4" x="0" y="-17.78" length="short" rot="R90"/>
|
|
||||||
<pin name="A3" x="-2.54" y="-17.78" length="short" rot="R90"/>
|
|
||||||
<pin name="A2" x="-5.08" y="-17.78" length="short" rot="R90"/>
|
|
||||||
<pin name="A1" x="-7.62" y="-17.78" length="short" rot="R90"/>
|
|
||||||
<pin name="A0" x="-10.16" y="-17.78" length="short" rot="R90"/>
|
|
||||||
<pin name="NC." x="7.62" y="-17.78" length="short" rot="R90"/>
|
|
||||||
<pin name="NC" x="5.08" y="-17.78" length="short" rot="R90"/>
|
|
||||||
<pin name="REF" x="-12.7" y="-17.78" length="short" rot="R90"/>
|
|
||||||
<pin name="3V3" x="-15.24" y="-17.78" length="short" rot="R90"/>
|
|
||||||
<pin name="D13" x="-17.78" y="-17.78" length="short" rot="R90"/>
|
|
||||||
<pin name="<USB>GND" x="-27.94" y="-7.62" length="short"/>
|
|
||||||
<pin name="<USB>D-" x="-27.94" y="-2.54" length="short"/>
|
|
||||||
<pin name="<USB>D+" x="-27.94" y="0" length="short"/>
|
|
||||||
<pin name="<USB>+V" x="-27.94" y="2.54" length="short"/>
|
|
||||||
<wire x1="-25.4" y1="12.7" x2="25.4" y2="12.7" width="0.254" layer="94"/>
|
|
||||||
<wire x1="25.4" y1="12.7" x2="25.4" y2="-15.24" width="0.254" layer="94"/>
|
|
||||||
<wire x1="25.4" y1="-15.24" x2="-25.4" y2="-15.24" width="0.254" layer="94"/>
|
|
||||||
<wire x1="-25.4" y1="-15.24" x2="-25.4" y2="12.7" width="0.254" layer="94"/>
|
|
||||||
<text x="-10.16" y="-2.54" size="3.81" layer="94">ARDUINO</text>
|
|
||||||
<pin name="5V" x="17.78" y="-2.54" visible="off" length="point" rot="R270"/>
|
|
||||||
<pin name="MOSI." x="20.32" y="-2.54" visible="off" length="point" rot="R270"/>
|
|
||||||
<pin name="GND_" x="22.86" y="-2.54" visible="off" length="point" rot="R270"/>
|
|
||||||
<pin name="RESET.." x="22.86" y="-5.08" visible="off" length="point" rot="R90"/>
|
|
||||||
<pin name="SCK." x="20.32" y="-5.08" visible="off" length="point" rot="R90"/>
|
|
||||||
<pin name="MISO." x="17.78" y="-5.08" visible="off" length="point" rot="R90"/>
|
|
||||||
<text x="14.224" y="-1.778" size="1.27" layer="94" rot="R270">ICSP</text>
|
|
||||||
<circle x="16.256" y="-5.842" radius="0.254" width="0.254" layer="94"/>
|
|
||||||
<pin name="VIN" x="17.78" y="-17.78" length="short" rot="R90"/>
|
|
||||||
<text x="-6.35" y="-7.62" size="3.81" layer="94">MICRO</text>
|
|
||||||
<pin name="SS" x="20.32" y="15.24" length="short" rot="R270"/>
|
|
||||||
<pin name="MOSI" x="22.86" y="15.24" length="short" rot="R270"/>
|
|
||||||
<pin name="MISO" x="20.32" y="-17.78" length="short" rot="R90"/>
|
|
||||||
<pin name="SCK" x="22.86" y="-17.78" length="short" rot="R90"/>
|
|
||||||
<pin name="<USB>ID" x="-27.94" y="-5.08" length="short"/>
|
|
||||||
</symbol>
|
|
||||||
</symbols>
|
|
||||||
<devicesets>
|
|
||||||
<deviceset name="ARDUINO_MICRO" prefix="PCB">
|
|
||||||
<description>Device for representing an Arduino Micro board with a footprint in an EAGLE design. Created by Dave Young for Element14. More EAGLE documentation at: http://www.element14.com/community/community/knode/cadsoft_eagle</description>
|
|
||||||
<gates>
|
|
||||||
<gate name="G$1" symbol="ARDUINO_MICRO" x="0" y="2.54"/>
|
|
||||||
</gates>
|
|
||||||
<devices>
|
|
||||||
<device name="" package="ARDUINO_MICRO">
|
|
||||||
<connects>
|
|
||||||
<connect gate="G$1" pin="+5V" pad="+5V"/>
|
|
||||||
<connect gate="G$1" pin="3V3" pad="3V3"/>
|
|
||||||
<connect gate="G$1" pin="5V" pad="5V"/>
|
|
||||||
<connect gate="G$1" pin="<USB>+V" pad="<USB>+V"/>
|
|
||||||
<connect gate="G$1" pin="<USB>D+" pad="<USB>D+"/>
|
|
||||||
<connect gate="G$1" pin="<USB>D-" pad="<USB>D-"/>
|
|
||||||
<connect gate="G$1" pin="<USB>GND" pad="<USB>GND"/>
|
|
||||||
<connect gate="G$1" pin="<USB>ID" pad="<USB>ID"/>
|
|
||||||
<connect gate="G$1" pin="A0" pad="A0"/>
|
|
||||||
<connect gate="G$1" pin="A1" pad="A1"/>
|
|
||||||
<connect gate="G$1" pin="A2" pad="A2"/>
|
|
||||||
<connect gate="G$1" pin="A3" pad="A3"/>
|
|
||||||
<connect gate="G$1" pin="A4" pad="A4"/>
|
|
||||||
<connect gate="G$1" pin="A5" pad="A5"/>
|
|
||||||
<connect gate="G$1" pin="D10" pad="D10"/>
|
|
||||||
<connect gate="G$1" pin="D11" pad="D11"/>
|
|
||||||
<connect gate="G$1" pin="D12" pad="D12"/>
|
|
||||||
<connect gate="G$1" pin="D13" pad="D13"/>
|
|
||||||
<connect gate="G$1" pin="D2" pad="D2"/>
|
|
||||||
<connect gate="G$1" pin="D3" pad="D3"/>
|
|
||||||
<connect gate="G$1" pin="D4" pad="D4"/>
|
|
||||||
<connect gate="G$1" pin="D5" pad="D5"/>
|
|
||||||
<connect gate="G$1" pin="D6" pad="D6"/>
|
|
||||||
<connect gate="G$1" pin="D7" pad="D7"/>
|
|
||||||
<connect gate="G$1" pin="D8" pad="D8"/>
|
|
||||||
<connect gate="G$1" pin="D9" pad="D9"/>
|
|
||||||
<connect gate="G$1" pin="GND" pad="GND"/>
|
|
||||||
<connect gate="G$1" pin="GND." pad="GND."/>
|
|
||||||
<connect gate="G$1" pin="GND_" pad="GND_"/>
|
|
||||||
<connect gate="G$1" pin="MISO" pad="MISO]"/>
|
|
||||||
<connect gate="G$1" pin="MISO." pad="MISO."/>
|
|
||||||
<connect gate="G$1" pin="MOSI" pad="MOSI"/>
|
|
||||||
<connect gate="G$1" pin="MOSI." pad="MOSI."/>
|
|
||||||
<connect gate="G$1" pin="NC" pad="NC"/>
|
|
||||||
<connect gate="G$1" pin="NC." pad="NC."/>
|
|
||||||
<connect gate="G$1" pin="REF" pad="REF"/>
|
|
||||||
<connect gate="G$1" pin="RESET.." pad="RESET.."/>
|
|
||||||
<connect gate="G$1" pin="RST" pad="RST"/>
|
|
||||||
<connect gate="G$1" pin="RST." pad="RST."/>
|
|
||||||
<connect gate="G$1" pin="RX" pad="RX1"/>
|
|
||||||
<connect gate="G$1" pin="SCK" pad="SCK"/>
|
|
||||||
<connect gate="G$1" pin="SCK." pad="SCK."/>
|
|
||||||
<connect gate="G$1" pin="SS" pad="SS"/>
|
|
||||||
<connect gate="G$1" pin="TX" pad="TX1"/>
|
|
||||||
<connect gate="G$1" pin="VIN" pad="VIN"/>
|
|
||||||
</connects>
|
|
||||||
<technologies>
|
|
||||||
<technology name=""/>
|
|
||||||
</technologies>
|
|
||||||
</device>
|
|
||||||
</devices>
|
|
||||||
</deviceset>
|
|
||||||
</devicesets>
|
|
||||||
</library>
|
|
||||||
<library name="con-lstb">
|
|
||||||
<description><b>Pin Headers</b><p>
|
|
||||||
Naming:<p>
|
|
||||||
MA = male<p>
|
|
||||||
# contacts - # rows<p>
|
|
||||||
W = angled<p>
|
|
||||||
<author>Created by librarian@cadsoft.de</author></description>
|
|
||||||
<packages>
|
|
||||||
<package name="MA04-1">
|
|
||||||
<description><b>PIN HEADER</b></description>
|
|
||||||
<wire x1="-4.445" y1="1.27" x2="-3.175" y2="1.27" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="-3.175" y1="1.27" x2="-2.54" y2="0.635" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="-2.54" y1="-0.635" x2="-3.175" y2="-1.27" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="-2.54" y1="0.635" x2="-1.905" y2="1.27" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="-1.905" y1="1.27" x2="-0.635" y2="1.27" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="-0.635" y1="1.27" x2="0" y2="0.635" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="0" y1="-0.635" x2="-0.635" y2="-1.27" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="-0.635" y1="-1.27" x2="-1.905" y2="-1.27" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="-1.905" y1="-1.27" x2="-2.54" y2="-0.635" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="-5.08" y1="0.635" x2="-5.08" y2="-0.635" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="-4.445" y1="1.27" x2="-5.08" y2="0.635" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="-5.08" y1="-0.635" x2="-4.445" y2="-1.27" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="-3.175" y1="-1.27" x2="-4.445" y2="-1.27" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="0" y1="0.635" x2="0.635" y2="1.27" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="0.635" y1="1.27" x2="1.905" y2="1.27" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="1.905" y1="1.27" x2="2.54" y2="0.635" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="2.54" y1="-0.635" x2="1.905" y2="-1.27" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="1.905" y1="-1.27" x2="0.635" y2="-1.27" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="0.635" y1="-1.27" x2="0" y2="-0.635" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="3.175" y1="1.27" x2="4.445" y2="1.27" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="4.445" y1="1.27" x2="5.08" y2="0.635" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="5.08" y1="0.635" x2="5.08" y2="-0.635" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="5.08" y1="-0.635" x2="4.445" y2="-1.27" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="3.175" y1="1.27" x2="2.54" y2="0.635" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="2.54" y1="-0.635" x2="3.175" y2="-1.27" width="0.1524" layer="21"/>
|
|
||||||
<wire x1="4.445" y1="-1.27" x2="3.175" y2="-1.27" width="0.1524" layer="21"/>
|
|
||||||
<pad name="1" x="-3.81" y="0" drill="1.016" shape="long" rot="R90"/>
|
|
||||||
<pad name="2" x="-1.27" y="0" drill="1.016" shape="long" rot="R90"/>
|
|
||||||
<pad name="3" x="1.27" y="0" drill="1.016" shape="long" rot="R90"/>
|
|
||||||
<pad name="4" x="3.81" y="0" drill="1.016" shape="long" rot="R90"/>
|
|
||||||
<text x="-5.08" y="1.651" size="1.27" layer="25" ratio="10">>NAME</text>
|
|
||||||
<text x="-6.223" y="-0.635" size="1.27" layer="21" ratio="10">1</text>
|
|
||||||
<text x="0.635" y="1.651" size="1.27" layer="27" ratio="10">>VALUE</text>
|
|
||||||
<text x="5.334" y="-0.635" size="1.27" layer="21" ratio="10">4</text>
|
|
||||||
<rectangle x1="-1.524" y1="-0.254" x2="-1.016" y2="0.254" layer="51"/>
|
|
||||||
<rectangle x1="-4.064" y1="-0.254" x2="-3.556" y2="0.254" layer="51"/>
|
|
||||||
<rectangle x1="1.016" y1="-0.254" x2="1.524" y2="0.254" layer="51"/>
|
|
||||||
<rectangle x1="3.556" y1="-0.254" x2="4.064" y2="0.254" layer="51"/>
|
|
||||||
</package>
|
|
||||||
</packages>
|
|
||||||
<symbols>
|
|
||||||
<symbol name="MA04-1">
|
|
||||||
<wire x1="3.81" y1="-7.62" x2="-1.27" y2="-7.62" width="0.4064" layer="94"/>
|
|
||||||
<wire x1="1.27" y1="0" x2="2.54" y2="0" width="0.6096" layer="94"/>
|
|
||||||
<wire x1="1.27" y1="-2.54" x2="2.54" y2="-2.54" width="0.6096" layer="94"/>
|
|
||||||
<wire x1="1.27" y1="-5.08" x2="2.54" y2="-5.08" width="0.6096" layer="94"/>
|
|
||||||
<wire x1="-1.27" y1="5.08" x2="-1.27" y2="-7.62" width="0.4064" layer="94"/>
|
|
||||||
<wire x1="3.81" y1="-7.62" x2="3.81" y2="5.08" width="0.4064" layer="94"/>
|
|
||||||
<wire x1="-1.27" y1="5.08" x2="3.81" y2="5.08" width="0.4064" layer="94"/>
|
|
||||||
<wire x1="1.27" y1="2.54" x2="2.54" y2="2.54" width="0.6096" layer="94"/>
|
|
||||||
<text x="-1.27" y="-10.16" size="1.778" layer="96">>VALUE</text>
|
|
||||||
<text x="-1.27" y="5.842" size="1.778" layer="95">>NAME</text>
|
|
||||||
<pin name="1" x="7.62" y="-5.08" visible="pad" length="middle" direction="pas" swaplevel="1" rot="R180"/>
|
|
||||||
<pin name="2" x="7.62" y="-2.54" visible="pad" length="middle" direction="pas" swaplevel="1" rot="R180"/>
|
|
||||||
<pin name="3" x="7.62" y="0" visible="pad" length="middle" direction="pas" swaplevel="1" rot="R180"/>
|
|
||||||
<pin name="4" x="7.62" y="2.54" visible="pad" length="middle" direction="pas" swaplevel="1" rot="R180"/>
|
|
||||||
</symbol>
|
|
||||||
</symbols>
|
|
||||||
<devicesets>
|
|
||||||
<deviceset name="MA04-1" prefix="SV" uservalue="yes">
|
|
||||||
<description><b>PIN HEADER</b></description>
|
|
||||||
<gates>
|
|
||||||
<gate name="1" symbol="MA04-1" x="0" y="0"/>
|
|
||||||
</gates>
|
|
||||||
<devices>
|
|
||||||
<device name="" package="MA04-1">
|
|
||||||
<connects>
|
|
||||||
<connect gate="1" pin="1" pad="1"/>
|
|
||||||
<connect gate="1" pin="2" pad="2"/>
|
|
||||||
<connect gate="1" pin="3" pad="3"/>
|
|
||||||
<connect gate="1" pin="4" pad="4"/>
|
|
||||||
</connects>
|
|
||||||
<technologies>
|
|
||||||
<technology name="">
|
|
||||||
<attribute name="MF" value="" constant="no"/>
|
|
||||||
<attribute name="MPN" value="" constant="no"/>
|
|
||||||
<attribute name="OC_FARNELL" value="unknown" constant="no"/>
|
|
||||||
<attribute name="OC_NEWARK" value="unknown" constant="no"/>
|
|
||||||
</technology>
|
|
||||||
</technologies>
|
|
||||||
</device>
|
|
||||||
</devices>
|
|
||||||
</deviceset>
|
|
||||||
</devicesets>
|
|
||||||
</library>
|
|
||||||
</libraries>
|
|
||||||
<attributes>
|
|
||||||
</attributes>
|
|
||||||
<variantdefs>
|
|
||||||
</variantdefs>
|
|
||||||
<classes>
|
|
||||||
<class number="0" name="default" width="0" drill="0">
|
|
||||||
</class>
|
|
||||||
</classes>
|
|
||||||
<parts>
|
|
||||||
<part name="PCB1" library="E14_Arduino_revB" deviceset="ARDUINO_MICRO" device=""/>
|
|
||||||
<part name="LD" library="con-lstb" deviceset="MA04-1" device=""/>
|
|
||||||
<part name="RD" library="con-lstb" deviceset="MA04-1" device=""/>
|
|
||||||
<part name="LK" library="con-lstb" deviceset="MA04-1" device=""/>
|
|
||||||
<part name="RK" library="con-lstb" deviceset="MA04-1" device=""/>
|
|
||||||
</parts>
|
|
||||||
<sheets>
|
|
||||||
<sheet>
|
|
||||||
<plain>
|
|
||||||
</plain>
|
|
||||||
<instances>
|
|
||||||
<instance part="PCB1" gate="G$1" x="63.5" y="68.58"/>
|
|
||||||
<instance part="LD" gate="1" x="38.1" y="40.64"/>
|
|
||||||
<instance part="RD" gate="1" x="38.1" y="25.4"/>
|
|
||||||
<instance part="LK" gate="1" x="38.1" y="10.16"/>
|
|
||||||
<instance part="RK" gate="1" x="38.1" y="-5.08"/>
|
|
||||||
</instances>
|
|
||||||
<busses>
|
|
||||||
</busses>
|
|
||||||
<nets>
|
|
||||||
<net name="N$1" class="0">
|
|
||||||
<segment>
|
|
||||||
<pinref part="LD" gate="1" pin="1"/>
|
|
||||||
<pinref part="PCB1" gate="G$1" pin="A0"/>
|
|
||||||
<wire x1="45.72" y1="35.56" x2="53.34" y2="35.56" width="0.1524" layer="91"/>
|
|
||||||
<wire x1="53.34" y1="35.56" x2="53.34" y2="50.8" width="0.1524" layer="91"/>
|
|
||||||
</segment>
|
|
||||||
</net>
|
|
||||||
<net name="N$2" class="0">
|
|
||||||
<segment>
|
|
||||||
<pinref part="PCB1" gate="G$1" pin="A1"/>
|
|
||||||
<wire x1="55.88" y1="50.8" x2="55.88" y2="20.32" width="0.1524" layer="91"/>
|
|
||||||
<pinref part="RD" gate="1" pin="1"/>
|
|
||||||
<wire x1="55.88" y1="20.32" x2="45.72" y2="20.32" width="0.1524" layer="91"/>
|
|
||||||
</segment>
|
|
||||||
</net>
|
|
||||||
<net name="N$3" class="0">
|
|
||||||
<segment>
|
|
||||||
<pinref part="LK" gate="1" pin="1"/>
|
|
||||||
<pinref part="PCB1" gate="G$1" pin="A2"/>
|
|
||||||
<wire x1="45.72" y1="5.08" x2="58.42" y2="5.08" width="0.1524" layer="91"/>
|
|
||||||
<wire x1="58.42" y1="5.08" x2="58.42" y2="50.8" width="0.1524" layer="91"/>
|
|
||||||
</segment>
|
|
||||||
</net>
|
|
||||||
<net name="N$4" class="0">
|
|
||||||
<segment>
|
|
||||||
<pinref part="PCB1" gate="G$1" pin="A3"/>
|
|
||||||
<wire x1="60.96" y1="50.8" x2="60.96" y2="-10.16" width="0.1524" layer="91"/>
|
|
||||||
<pinref part="RK" gate="1" pin="1"/>
|
|
||||||
<wire x1="60.96" y1="-10.16" x2="45.72" y2="-10.16" width="0.1524" layer="91"/>
|
|
||||||
</segment>
|
|
||||||
</net>
|
|
||||||
<net name="N$5" class="0">
|
|
||||||
<segment>
|
|
||||||
<pinref part="LD" gate="1" pin="2"/>
|
|
||||||
<wire x1="45.72" y1="38.1" x2="50.8" y2="38.1" width="0.1524" layer="91"/>
|
|
||||||
<wire x1="50.8" y1="38.1" x2="50.8" y2="22.86" width="0.1524" layer="91"/>
|
|
||||||
<pinref part="RD" gate="1" pin="2"/>
|
|
||||||
<wire x1="50.8" y1="22.86" x2="45.72" y2="22.86" width="0.1524" layer="91"/>
|
|
||||||
<wire x1="50.8" y1="22.86" x2="50.8" y2="7.62" width="0.1524" layer="91"/>
|
|
||||||
<pinref part="LK" gate="1" pin="2"/>
|
|
||||||
<wire x1="50.8" y1="7.62" x2="45.72" y2="7.62" width="0.1524" layer="91"/>
|
|
||||||
<pinref part="RK" gate="1" pin="2"/>
|
|
||||||
<wire x1="45.72" y1="-7.62" x2="50.8" y2="-7.62" width="0.1524" layer="91"/>
|
|
||||||
<wire x1="50.8" y1="-7.62" x2="50.8" y2="7.62" width="0.1524" layer="91"/>
|
|
||||||
<pinref part="PCB1" gate="G$1" pin="GND."/>
|
|
||||||
<wire x1="78.74" y1="50.8" x2="78.74" y2="38.1" width="0.1524" layer="91"/>
|
|
||||||
<wire x1="50.8" y1="38.1" x2="78.74" y2="38.1" width="0.1524" layer="91"/>
|
|
||||||
</segment>
|
|
||||||
</net>
|
|
||||||
<net name="N$6" class="0">
|
|
||||||
<segment>
|
|
||||||
<pinref part="LD" gate="1" pin="3"/>
|
|
||||||
<wire x1="45.72" y1="40.64" x2="48.26" y2="40.64" width="0.1524" layer="91"/>
|
|
||||||
<wire x1="48.26" y1="40.64" x2="48.26" y2="25.4" width="0.1524" layer="91"/>
|
|
||||||
<pinref part="RD" gate="1" pin="3"/>
|
|
||||||
<wire x1="45.72" y1="25.4" x2="48.26" y2="25.4" width="0.1524" layer="91"/>
|
|
||||||
<wire x1="48.26" y1="25.4" x2="48.26" y2="10.16" width="0.1524" layer="91"/>
|
|
||||||
<pinref part="LK" gate="1" pin="3"/>
|
|
||||||
<wire x1="45.72" y1="10.16" x2="48.26" y2="10.16" width="0.1524" layer="91"/>
|
|
||||||
<wire x1="48.26" y1="10.16" x2="48.26" y2="-5.08" width="0.1524" layer="91"/>
|
|
||||||
<pinref part="RK" gate="1" pin="3"/>
|
|
||||||
<wire x1="48.26" y1="-5.08" x2="45.72" y2="-5.08" width="0.1524" layer="91"/>
|
|
||||||
<pinref part="PCB1" gate="G$1" pin="+5V"/>
|
|
||||||
<wire x1="73.66" y1="50.8" x2="73.66" y2="40.64" width="0.1524" layer="91"/>
|
|
||||||
<wire x1="73.66" y1="40.64" x2="48.26" y2="40.64" width="0.1524" layer="91"/>
|
|
||||||
</segment>
|
|
||||||
</net>
|
|
||||||
</nets>
|
|
||||||
</sheet>
|
|
||||||
</sheets>
|
|
||||||
</schematic>
|
|
||||||
</drawing>
|
|
||||||
<compatibility>
|
|
||||||
<note version="6.3" minversion="6.2.2" severity="warning">
|
|
||||||
Since Version 6.2.2 text objects can contain more than one line,
|
|
||||||
which will not be processed correctly with this version.
|
|
||||||
</note>
|
|
||||||
</compatibility>
|
|
||||||
</eagle>
|
|
137
README.md
137
README.md
@ -1,136 +1,57 @@
|
|||||||
# Sanro - Arduino
|
# Taiko Drum Controller - Arduino
|
||||||
(このREADME.mdは日本語訳版があります、README_JP.mdをご覧ください、訳は完璧には程遠いですが)
|
|
||||||
Hardware program of the game Taiko Sanro.
|
|
||||||
|
|
||||||
|
Open-source hardware program to make your own Taiko no Tatsujin PC controller.
|
||||||
|
|
||||||
## What is This Program
|
## About this Project
|
||||||
|
|
||||||
Music game fans from East Asia countries are most probable to know a famous game called Taiko No Tatsujin ([太鼓の達人](http://taiko-ch.net/)), developed by [Bandai Namco Entertainment](http://bandainamcoent.co.jp/).
|
This project aims to help you develop your own **hardware taiko** at home.
|
||||||
|
|
||||||
This open-source program aims to help you develop your own **hardware taiko** at home, just like how you play taiko in arcade halls.
|
*This program is for personal and non-commercial use only.*
|
||||||
|
|
||||||
*This program is for personal and non-commercial use only. You may design your own taiko and have fun, but you may NOT distribute your product to the public.*
|
## What You Need
|
||||||
|
|
||||||
## Features
|
1. An Arduino Micro or Leonardo microcontroller (other compatible boards might work, but you need to verify that they support keyboard emulation);
|
||||||
|
|
||||||
* **Full support for the PC game Taiko-san Jiro (太鼓さん次郎).** Actually, any app/game/emulator using keyboards as input is supported.
|
2. 4 Piezoelectric sensors;
|
||||||
* **Force-sensitive.** I am also developing a new open-source game called Taiko Sanro that can support this feature.
|
|
||||||
* **Supports dense inputs such as rolling.**
|
|
||||||
|
|
||||||
*In one word, your taiko will perform exactly the same as the arcade version if you configure the program well enough! :D*
|
3. Necessary electronic components (breadboards, resistors, LEDs, jumper wires, etc.);
|
||||||
|
|
||||||
## Prerequisites
|
4. Wood planks and cutting tools if you need to make your drum from scratch. If you have a aftermarket taiko or a Big Power Lv. 5 drum, you can use them directly.
|
||||||
|
|
||||||
Because this is a DIY project, you should have some basic electronic engineering knowledge about connecting microprocessors with jumper wires on a breadboard. **Soldering techniques, however, are NOT required.**
|
## Steps to Make the Controller
|
||||||
|
|
||||||
## Getting Started
|
1. Make the drum and firmly glue the 4 piezoelectric sensors to the drum. Refer to the image for preferred locations of the sensors.
|
||||||
|
|
||||||
It might take you a few days to assembly and configure your own taiko device. The microprocessor chips are cheap, though, you can buy them from wherever you want.
|
![Controller scheme](./images/piezo_locations.png)
|
||||||
|
|
||||||
### Preparation
|
2. Connect the piezoelectric sensors and other components to the controller as follows (the polarity of the piezoelectric sensors don't matter);
|
||||||
|
|
||||||
Almost all of these things have alternatives, now I will show you what I used:
|
![Controller scheme](./images/scheme.png)
|
||||||
|
|
||||||
* [Arduino Micro](http://i.imgur.com/lXqnpJ9.jpg) module x 1
|
3. Flash the firmware to the board.
|
||||||
* [KEYES K-036](http://i.imgur.com/gUWnUCc.png) microphone module x 4
|
|
||||||
* Breadboard x 1
|
|
||||||
* A few jumper wires
|
|
||||||
* Micro USB cable x 1
|
|
||||||
* [Arduino IDE](https://www.arduino.cc/en/Main/Software)
|
|
||||||
|
|
||||||
And miscellaneous stuffs like:
|
You may need to fine-tune some parameters like `SAMPLE_CACHE_LENGTH`, `HIT_THRES`, `RESET_THRES`, and `sensitivity`. See the following section for details.
|
||||||
|
|
||||||
* Thick wood plank x 4, best to be [shaped like this](http://i.imgur.com/va20eVn.jpg)
|
4. Have fun!
|
||||||
* Foamed plastics to connect and fixate the wood
|
|
||||||
* Superglue
|
|
||||||
* Other electronical tools like screw drivers and multimeters, etc.
|
|
||||||
|
|
||||||
A few things to note:
|
## Tuning the Parameters
|
||||||
|
|
||||||
1. Any Arduino modules with ATmega32u4 chips or Due and Zero boards are supported. Arduino Micro is the cheapest one, though.
|
1. Hit and reset threshold
|
||||||
2. Using a breadboard is a low-cost option, but it is not the best/stablest choice. There is a PCB blueprint that allows you to print the integrated board and solder up. For details, please see "Making the PCB" part below.
|
|
||||||
3. You can also design and build your own microphones modules, just make sure you know how to connect them to your Arduino module.
|
|
||||||
4. Thick, solid, dense and heavy wood is the best choice, while plywood, particleboard and medium-density fiberboard (MDF) are fragile at their edges and can be easily damaged. For better experience, you should cut the planks with the shapes shown in [the picture](http://i.imgur.com/va20eVn.jpg). If you don't have the cutting tools and want it easier, just prepare 4 planks.
|
|
||||||
|
|
||||||
### Connecting the Parts
|
Set `DEBUG 1` (this disables the keyboard output and sends signal values from the serial port), flash the firmware, roll on one of the 4 areas of the drum, and visualize the graph from the output of the serial monitor. The hit threshold should be smaller than your heaviest hit on the drum, and the reset threshold should be greater than the "cave" between roll hits. The reset value should also below the hit value.
|
||||||
|
|
||||||
The scheme is quite simple. You don't even need any extra resistors or capacitors. **All you need are jumper wires.**
|
Repeat the process for the rest 3 areas and find the best one that fits all.
|
||||||
|
|
||||||
Each microphone module has 4 pins, and we only need 3 of them (`A0`, `+`, and `G`). Connect their `A0` outputs to Arduino Micro's `A0`~`A3` inputs, then connect their `+` pins together with module's `5V` pin, then the `G` pins together to the ground. Use the following picture if you have any problems.
|
![Controller scheme](./images/tune_hit_reset.png)
|
||||||
|
|
||||||
(Picture to be uploaded)
|
2. Sampling length
|
||||||
|
|
||||||
### (Optional) Making the PCB
|
For maximum runtime speed, the `cache.h` library has been optimized to work with `SAMPLE_CACHE_LENGTH` window sizes of powers of 2. That means 2, 8, 16, and 32, etc. Practically 16 is the best value for Arduino, but if you have a powerful microcontroller that samples the input at the speed of at least 4000Hz or more, you can change the value to 32 for a smoother (in other words, less noisy) curve.
|
||||||
|
|
||||||
To make the PCB, you can either DIY or ask local PCB manufacturer for help. If you choose DIY, you should prepare a few more things, including:
|
3. Sensitivities
|
||||||
|
|
||||||
* 2.2 x 1.6 inches Empty PCB x 1
|
Not all piezoelectric sensors are the same, and due to installation errors, the captured signals from the 4 sensors may vary significantly. The sensitivity values are multipliers to normalize the differences. In the following example, the right-don area generates a much higher value than the rest 3, so you can adjust `sensitivity` to `{1.0, 1.0, 0.5, 1.0}` to eliminate the issue.
|
||||||
* Thermal transfer paper x 1
|
|
||||||
* Laser printer x 1
|
|
||||||
* Standard 4-pin header x 4
|
|
||||||
* Thermal transfer machine (or clothes iron)
|
|
||||||
* Etchant
|
|
||||||
* Soldering tools
|
|
||||||
|
|
||||||
Detailed process to make the PCB is totally off-topic, and you may need [this video](https://www.youtube.com/watch?v=mv7Y0A9YeUc) to help you. I have included the required printable board file `sanro.eps` in the `Eagle/sanro-arduino` folder. You can also download the scheme and board files and edit them by yourself with the [Eagle Software](http://www.cadsoftusa.com/download-eagle/).
|
![Controller scheme](./images/tune_sensitivities.png)
|
||||||
|
|
||||||
### Uploading the Program to the Board
|
Note that the installation of the sensors is very critical. You should make sure that the sensors are firmly attached on the wood and located properly.
|
||||||
|
|
||||||
1. Download and install [Arduino IDE](https://www.arduino.cc/en/Main/Software).
|
|
||||||
2. Create a folder and put the source files (`sanro.ino` and `cache.h`) into it.
|
|
||||||
3. Connect your Arduino Micro to your computer with a USB cable. The driver installation should be automatic, but if you have any questions about it, [check this official guide](https://www.arduino.cc/en/Guide/ArduinoLeonardoMicro#toc8).
|
|
||||||
4. Open the `sanro` project in Arduino IDE.
|
|
||||||
5. Select "Board" - "Arduino/Genuino Micro" from the menu.
|
|
||||||
6. Compile and upload the program.
|
|
||||||
|
|
||||||
## Configuration
|
|
||||||
|
|
||||||
***WARNING: Because of the deviations between the microphones and the installation of the planks, you will spend much time adjusting the hardware and the parameters in the program. Be patient, there are lots of tries-and-errors up ahead.***
|
|
||||||
|
|
||||||
### Hardware
|
|
||||||
|
|
||||||
Literally there is only 2 things you need to do:
|
|
||||||
|
|
||||||
1. Glue each microphone to the wood plank
|
|
||||||
2. Fixate the wood planks onto the foamed plastics
|
|
||||||
|
|
||||||
However, the problem is how you do them. There are some major criteria when doing this job:
|
|
||||||
|
|
||||||
* Attach the microphone to the plank as close/tight as possible
|
|
||||||
* Seal the microphone to isolate it from outside noises
|
|
||||||
* Don't let the planks contact each other
|
|
||||||
|
|
||||||
To accomplish them, you can remove the filter cover of the microphone receiver, then attach the receiver face (the microphones are usually cylindrical, like [the ones that I used in this project](http://i.imgur.com/gUWnUCc.png)) tightly to the surface of the plank, and seal it with superglue. In this way, the soundwave from the plank can be directly transmitted to the microphone, loud and clear. Also, noises and soundwave from nearby planks can be reduced to the minimum.
|
|
||||||
|
|
||||||
Also, please note that there is a potentiometer on the KEYES module, which is used to set the quiescent operating point (Q-point) of the microphone. Although I have implemented algorithms to eliminate the bias caused by unequal Q-point of each microphone, **it is better to adjust the potentiometer manually and keep the Q-points at approximately the same level.** To do this, you may need to contact your microphone provider.
|
|
||||||
|
|
||||||
### Parameters in the Program
|
|
||||||
|
|
||||||
All you need to change is the `LIGHT_THRES` and the `HEAVY_THRES`, according to your microphone configuration.
|
|
||||||
|
|
||||||
The codes are short and self-explanatory, and if you need help understanding them, please refer to the "About the Algorithm" part.
|
|
||||||
|
|
||||||
(To be completed)
|
|
||||||
|
|
||||||
## About the Algorithm
|
|
||||||
|
|
||||||
The algorithm in the program is simple, and there are still much more to be optimized. All pull requests are welcomed!
|
|
||||||
|
|
||||||
In short, the signal processing job can be divided into 4 calculating steps after acquiring the samples from the analog inputs:
|
|
||||||
|
|
||||||
1. Calculate the derivative
|
|
||||||
2. Calculate the power of the waveform
|
|
||||||
3. Calculate the convolution of the power
|
|
||||||
4. Find the peak of the power convolution and compare it with the thresholds to see if there is a light or heavy hit
|
|
||||||
|
|
||||||
This picture shows the algorithm in a clearer way:
|
|
||||||
|
|
||||||
(Picture to be uploaded)
|
|
||||||
|
|
||||||
Step 1 is to elinimate the difference of Q-point, which makes it easier and more accurate to calculate the power of the waveform.
|
|
||||||
|
|
||||||
Step 2, calculating the power of the waveform, can also enhance the signal to noise ratio (SNR), which can further eliminate the noises. `LIGHT_THRES` is also used here to cut the low-power noises out.
|
|
||||||
|
|
||||||
Step 3 is to "polish" the power curve to make it more like a sequence of hit pulses, which makes it easier to find the power peak.
|
|
||||||
|
|
||||||
For Arduino microprocessors, the executing time for each loop is not stable - the processor always executes the instructions as fast as it can. Onece the loop ends, it immediately starts the next loop. This is extremely bad for sampling sounds. Therefore, the program implements a simple sampling frequency control mechanism to restrict the sampling frequency to no more than 1,000Hz.
|
|
BIN
images/piezo_locations.png
Normal file
BIN
images/piezo_locations.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 92 KiB |
BIN
images/scheme.png
Normal file
BIN
images/scheme.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 161 KiB |
BIN
images/tune_hit_reset.png
Normal file
BIN
images/tune_hit_reset.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 52 KiB |
BIN
images/tune_sensitivities.png
Normal file
BIN
images/tune_sensitivities.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 98 KiB |
@ -14,32 +14,18 @@
|
|||||||
template <class T, int L>
|
template <class T, int L>
|
||||||
class Cache {
|
class Cache {
|
||||||
public:
|
public:
|
||||||
Cache ();
|
Cache() { memset(data_, 0, sizeof(data_)); }
|
||||||
void put (T value);
|
inline void put(T value) {
|
||||||
T get (int offset = 0) const;
|
current_ = (current_ + 1) & (L - 1);
|
||||||
|
data_[current_] = value;
|
||||||
|
}
|
||||||
|
inline T get(int offset = 0) const {
|
||||||
|
return data_[(current_ + offset) & (L - 1)];
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
T data_ [L];
|
T data_[L];
|
||||||
int current_ = 0;
|
int current_ = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
template <class T, int L>
|
|
||||||
Cache <T, L>::Cache () {
|
|
||||||
for (int i = 0; i < L; i++) {
|
|
||||||
data_ [i] = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
template <class T, int L>
|
|
||||||
void Cache <T, L>::put (T value) {
|
|
||||||
current_ = (current_ + 1) % L;
|
|
||||||
data_ [current_] = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <class T, int L>
|
|
||||||
T Cache <T, L>::get (int offset) const {
|
|
||||||
int index = (current_ + offset) % L;
|
|
||||||
return data_ [index];
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif // CACHE_H
|
#endif // CACHE_H
|
143
sanro/sanro.ino
143
sanro/sanro.ino
@ -1,107 +1,80 @@
|
|||||||
/***************************************************************
|
#define CHANNELS 4
|
||||||
* *
|
#define SAMPLE_CACHE_LENGTH 16 // Must be power of 2 (8, 16, etc.); See cache.h for implementation
|
||||||
* Taiko Sanro - Arduino *
|
#define HIT_THRES 750 // The thresholds are also dependent on SAMPLE_CACHE_LENGTH, if you
|
||||||
* Support Arduino models with ATmega32u4 microprocessors *
|
#define RESET_THRES 300 // changed SAMPLE_CACHE_LENGTH, you must adjust thresholds here
|
||||||
* *
|
|
||||||
* Shiky Chang Chris *
|
|
||||||
* zhangxunpx@gmail.com wisaly@gmail.com *
|
|
||||||
* *
|
|
||||||
***************************************************************/
|
|
||||||
|
|
||||||
// New implementation using fast, stable and sensitive piezoelectric
|
#define DEBUG 0
|
||||||
// ceramic sensors (the same sensors used in electirc drum kit).
|
|
||||||
// No longer need microphones.
|
|
||||||
|
|
||||||
#define CHANNELS 2
|
#include <Keyboard.h>
|
||||||
|
#include <limits.h>
|
||||||
#define SAMPLE_CACHE_LENGTH 10
|
|
||||||
|
|
||||||
#define DON_SILENCE_THRES 1e4
|
|
||||||
#define DON_LIGHT_THRES 3e4
|
|
||||||
#define DON_HEAVY_THRES 1e5
|
|
||||||
|
|
||||||
#define KAT_SILENCE_THRES 4e3
|
|
||||||
#define KAT_LIGHT_THRES 5e3
|
|
||||||
#define KAT_HEAVY_THRES 1e4
|
|
||||||
|
|
||||||
#define FORCED_FREQ 1000
|
|
||||||
|
|
||||||
#include "cache.h"
|
#include "cache.h"
|
||||||
|
|
||||||
unsigned long lastTime;
|
unsigned long int lastTime;
|
||||||
|
|
||||||
float channelSample[CHANNELS];
|
Cache<int, SAMPLE_CACHE_LENGTH> inputWindow[CHANNELS];
|
||||||
Cache <float, SAMPLE_CACHE_LENGTH> sampleCache[CHANNELS];
|
unsigned long power[CHANNELS];
|
||||||
float power[CHANNELS];
|
unsigned long lastPower[CHANNELS];
|
||||||
|
|
||||||
bool triggered;
|
bool triggered;
|
||||||
float light_thres[] = {DON_LIGHT_THRES, KAT_LIGHT_THRES};
|
unsigned long triggeredTime[CHANNELS];
|
||||||
float heavy_thres[] = {DON_HEAVY_THRES, KAT_HEAVY_THRES};
|
|
||||||
float silence_thres[] = {DON_SILENCE_THRES, KAT_SILENCE_THRES};
|
|
||||||
|
|
||||||
int input_pins[] = {A0, A1}; // Don, Kat
|
const byte inPins[] = {A0, A1, A2, A3}; // L don, L kat, R don, R kat
|
||||||
int output_pins[] = {A2, A3, A4, A5}; // Left Don, Left Kat, Right Don, Right Kat
|
const byte outPins[] = {5, 6, 7, 8}; // LED visualization (optional)
|
||||||
|
const char outKeys[] = {'f', 'd', 'j', 'k'}; // L don, L kat, R don, R kat
|
||||||
|
|
||||||
String debug_output[] = {"D", "K"};
|
float sensitivity[] = {1.0, 1.0, 1.0, 1.0};
|
||||||
|
|
||||||
|
short maxIndex;
|
||||||
|
float maxPower;
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
pinMode(A2, OUTPUT);
|
Serial.begin(115200);
|
||||||
pinMode(A3, OUTPUT);
|
Keyboard.begin();
|
||||||
pinMode(A4, OUTPUT);
|
analogReference(DEFAULT);
|
||||||
pinMode(A5, OUTPUT);
|
for (byte i = 0; i < CHANNELS; i++) {
|
||||||
Serial.begin (115200);
|
power[i] = 0;
|
||||||
for (short int i = 0; i < CHANNELS; i++) {
|
lastPower[i] = 0;
|
||||||
power [i] = 0;
|
|
||||||
}
|
|
||||||
triggered = false;
|
triggered = false;
|
||||||
|
}
|
||||||
lastTime = 0;
|
lastTime = 0;
|
||||||
|
maxIndex = -1;
|
||||||
|
maxPower = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void loop() {
|
void loop() {
|
||||||
lastTime = micros ();
|
|
||||||
for (short int i = 0; i < CHANNELS; i++) {
|
|
||||||
channelSample[i] = analogRead(input_pins[i]);
|
|
||||||
sampleCache[i].put(channelSample[i]);
|
|
||||||
|
|
||||||
long int tempInt = sampleCache[i].get(1);
|
if (maxIndex != -1 && lastPower[maxIndex] < RESET_THRES) {
|
||||||
power[i] -= tempInt * tempInt;
|
|
||||||
tempInt = sampleCache[i].get();
|
|
||||||
power[i] += tempInt * tempInt;
|
|
||||||
|
|
||||||
if (power[i] > light_thres[i]) {
|
|
||||||
if (!triggered) {
|
|
||||||
digitalWrite(output_pins[i], LOW);
|
|
||||||
if (power[i] >= heavy_thres[i]) {
|
|
||||||
digitalWrite(output_pins[i] + 2, LOW);
|
|
||||||
}
|
|
||||||
digitalWrite(LED_BUILTIN, HIGH);
|
|
||||||
Serial.println(debug_output[i]);
|
|
||||||
}
|
|
||||||
triggered = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for (short int i = 0; i < CHANNELS; i++) {
|
|
||||||
triggered = false;
|
triggered = false;
|
||||||
digitalWrite(output_pins[i], HIGH);
|
digitalWrite(outPins[maxIndex], LOW);
|
||||||
digitalWrite(output_pins[i] + 2, HIGH);
|
maxIndex = -1;
|
||||||
if (power[i] > silence_thres[i]) {
|
maxPower = 0;
|
||||||
digitalWrite(LED_BUILTIN, LOW);
|
}
|
||||||
|
|
||||||
|
for (byte i = 0; i < CHANNELS; i++) {
|
||||||
|
|
||||||
|
inputWindow[i].put(analogRead(inPins[i]));
|
||||||
|
power[i] = sensitivity[i] * (power[i] - inputWindow[i].get(1) + inputWindow[i].get());
|
||||||
|
|
||||||
|
if (lastPower[i] > maxPower && power[i] < lastPower[i]) {
|
||||||
|
maxPower = lastPower[i];
|
||||||
|
maxIndex = i;
|
||||||
|
}
|
||||||
|
lastPower[i] = power[i];
|
||||||
|
#if DEBUG
|
||||||
|
Serial.print(power[i]);
|
||||||
|
Serial.print(" ");
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!triggered && maxPower >= HIT_THRES) {
|
||||||
triggered = true;
|
triggered = true;
|
||||||
break;
|
digitalWrite(outPins[maxIndex], HIGH);
|
||||||
}
|
#if !DEBUG
|
||||||
}
|
Keyboard.print(outKeys[maxIndex]);
|
||||||
|
#endif
|
||||||
// Serial.println(power[0]);
|
|
||||||
float delayTime = 1e6 / FORCED_FREQ - (micros() - lastTime);
|
|
||||||
if (delayTime > 0) {
|
|
||||||
longMicroDelay(delayTime);
|
|
||||||
} else {
|
|
||||||
// digitalWrite(LED_BUILTIN, HIGH);
|
|
||||||
}
|
}
|
||||||
}
|
#if DEBUG
|
||||||
|
Serial.print("\n");
|
||||||
void longMicroDelay (float microTime) {
|
#endif
|
||||||
delay (microTime / 1000);
|
|
||||||
delayMicroseconds (microTime - floor(microTime / 1000) * 1000);
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user