text:
R90"/>
<pad name="GND@1" x="-6.35" y="-24.13" drill="1.016" diameter="1.8796" rot="R90"/>
<pad name="VIN" x="-3.81" y="-24.13" drill="1.016" diameter="1.8796" rot="R90"/>
<text x="14.351" y="21.082" size="1.4224" layer="51" font="vector" ratio="15" rot="R90">0</text>
<text x="11.811" y="21.082" size="1.4224" layer="51" font="vector" ratio="15" rot="R90">1</text>
<text x="9.271" y="21.082" size="1.4224" layer="51" font="vector" ratio="15" rot="R90">2</text>
<text x="6.731" y="21.082" size="1.4224" layer="51" font="vector" ratio="15" rot="R90">3</text>
<text x="4.191" y="21.082" size="1.4224" layer="51" font="vector" ratio="15" rot="R90">4</text>
<text x="1.651" y="21.082" size="1.4224" layer="51" font="vector" ratio="15" rot="R90">5</text>
<text x="-0.889" y="21.082" size="1.4224" layer="51" font="vector" ratio="15" rot="R90">6</text>
<text x="-3.429" y="21.082" size="1.4224" layer="51" font="vector" ratio="15" rot="R90">7</text>
<text x="-7.239" y="21.082" size="1.4224" layer="51" font="vector" ratio="15" rot="R90">8</text>
<text x="-9.779" y="21.082" size="1.4224" layer="51" font="vector" ratio="15" rot="R90">9</text>
<text x="-12.319" y="19.812" size="1.4224" layer="51" font="vector" ratio="15" rot="R90">10</text>
<text x="-14.859" y="19.812" size="1.4224" layer="51" font="vector" ratio="15" rot="R90">11</text>
<text x="-17.399" y="19.812" size="1.4224" layer="51" font="vector" ratio="15" rot="R90">12</text>
<text x="-19.939" y="19.812" size="1.4224" layer="51" font="vector" ratio="15" rot="R90">13</text>
<text x="19.431" y="20.193" size="1.4224" layer="51" font="vector" ratio="15" rot="R90">14</text>
<text x="21.971" y="20.193" size="1.4224" layer="51" font="vector" ratio="15" rot="R90">15</text>
<text x="24.511" y="20.193" size="1.4224" layer="51" font="vector" ratio="15" rot="R90">16</text>
<text x="27.051" y="20.193" size="1.4224" layer="51" font="vector" ratio="15" rot="R90">17</text>
<text x="29.591" y="20.193" size="1.4224" layer="51" font="vector" ratio="15" rot="R90">18</text>
<text x="32.131" y="20.193" size="1.4224" layer="51" font="vector" ratio="15" rot="R90">19</text>
<text x="34.671" y="20.193" size="1.4224" layer="51" font="vector" ratio="15" rot="R90">20</text>
<text x="37.211" y="20.193" size="1.4224" layer="51" font="vector" ratio="15" rot="R90">21</text>
<text x="40.1574" y="20.828" size="1.4224" layer="51" font="vector" ratio="15">22</text>
<text x="40.1574" y="18.288" size="1.4224" layer="51" font="vector" ratio="15">24</text>
<text x="40.1574" y="15.748" size="1.4224" layer="51" font="vector" ratio="15">26</text>
<text x="40.1574" y="13.208" size="1.4224" layer="51" font="vector" ratio="15">28</text>
<text x="40.1574" y="10.668" size="1.4224" layer="51" font="vector" ratio="15">30</text>
<text x="40.1574" y="8.128" size="1.4224" layer="51" font="vector" ratio="15">32</text>
<text x="40.1574" y="5.588" size="1.4224" layer="51" font="vector" ratio="15">34</text>
<text x="40.1574" y="3.048" size="1.4224" layer="51" font="vector" ratio="15">36</text>
<text x="40.1574" y="0.508" size="1.4224" layer="51" font="vector" ratio="15">38</text>
<text x="40.1574" y="-2.032" size="1.4224" layer="51" font="vector" ratio="15">40</text>
<text x="40.1574" y="-4.572" size="1.4224" layer="51" font="vector" ratio="15">42</text>
<text x="40.1574" y="-7.112" size="1.4224" layer="51" font="vector" ratio="15">44</text>
<text x="40.1574" y="-9.652" size="1.4224" layer="51" font="vector" ratio="15">46</text>
<text x="40.1574" y="-14.732" size="1.4224" layer="51" font="vector" ratio="15">50</text>
<text x="40.1574" y="-12.192" size="1.4224" layer="51" font="vector" ratio="15">48</text>
<text x="40.1574" y="-17.272" size="1.4224" layer="51" font="vector" ratio="15">52</text>
<text x="48.895" y="10.6934" size="1.4224" layer="51" font="vector" ratio="15">31</text>
<text x="48.895" y="8.1534" size="1.4224" layer="51" font="vector" ratio="15">33</text>
<text x="48.895" y="5.6134" size="1.4224" layer="51" font="vector" ratio="15">35</text>
<text x="48.895" y="3.0734" size="1.4224" layer="51" font="vector" ratio="15">37</text>
<text x="48.895" y="0.5334" size="1.4224" layer="51" font="vector" ratio="15">39</text>
<text x="48.895" y="-2.0066" size="1.4224" layer="51" font="vector" ratio="15">41</text>
<text x="48.895" y="-4.5466" size="1.4224" layer="51" font="vector" ratio="15">43</text>
<text x="48.895" y="-7.0866" size="1.4224" layer="51" font="vector" ratio="15">45</text>
<text x="48.895" y="-9.6266" size="1.4224" layer="51" font="vector" ratio="15">47</text>
<text x="48.895" y="-12.1666" size="1.4224" layer="51" font="vector" ratio="15">49</text>
<text x="48.895" y="-14.7066" size="1.4224" layer="51" font="vector" ratio="15">51</text>
<text x="48.895" y="-17.2466" size="1.4224" layer="51" font="vector" ratio="15">53</text>
<text x="2.032" y="-22.0726" size="1.4224" layer="51" font="vector" ratio="15" rot="R90">A0</text>
<text x="4.318" y="-22.0726" size="1.4224" layer="51" font="vector" ratio="15" rot="R90">A1</text>
<text x="7.112" y="-22.0726" size="1.4224" layer="51" font="vector" ratio="15" rot="R90">A2</text>
<text x="9.652" y="-22.0726" size="1.4224" layer="51" font="vector" ratio="15" rot="R90">A3</text>
<text x="12.192" y="-22.0726" size="1.4224" layer="51" font="vector" ratio="15" rot="R90">A4</text>
<text x="14.605" y="-22.0726" size="1.4224" layer="51" font="vector" ratio="15" rot="R90">A5</text>
<text x="17.145" y="-22.0726" size="1.4224" layer="51" font="vector" ratio="15" rot="R90">6</text>
<text x="19.812" y="-22.0726" size="1.4224" layer="51" font="vector" ratio="15" rot="R90">A7</text>
<text x="24.892" y="-22.0726" size="1.4224" layer="51" font="vector" ratio="15" rot="R90">A8</text>
<text x="27.432" y="-22.0726" size="1.4224" layer="51" font="vector" ratio="15" rot="R90">A9</text>
<text x="29.972" y="-22.0726" size="1.4224" layer="51" font="vector" ratio="15" rot="R90">A10</text>
<text x="32.512" y="-22.0726" size="1.4224" layer="51" font="vector" ratio="15" rot="R90">A11</text>
<text x="35.052" y="-22.0726" size="1.4224" layer="51" font="vector" ratio="15" rot="R90">A12</text>
<text x="37.592" y="-22.0726" size="1.4224" layer="51" font="vector" ratio="15" rot="R90">A13</text>
<text x="40.132" y="-22.0726" size="1.4224" layer="51" font="vector" ratio="15" rot="R90">A14</text>
<text x="42.545" y="-22.0726" size="1.4224" layer="51" font="vector" ratio="15" rot="R90">A15</text>
<text x="1.524" y="-18.542" size="1.524" layer="51" font="vector" ratio="15">ANALOG IN</text>
<text x="10.922" y="13.589" size="1.524" layer="51" font="vector" ratio="15">COMMUNICATION</text>
<text x="38.989" y="-14.986" size="1.524" layer="51" font="vector" ratio="15" rot="R90">DIGITAL</text>
<text x="48.895" y="-19.7866" size="1.016" layer="51" font="vector" ratio="15">GND</text>
<text x="11.811" y="16.002" size="1.016" layer="51" font="vector" ratio="15" rot="R90">TX0</text>
<text x="14.351" y="16.002" size="1.016" layer="51" font="vector" ratio="15" rot="R90">RX0</text>
<text x="-20.32" y="17.145" size="1.524" layer="51" font="vector" ratio="15">PWM</text>
<text x="19.431" y="16.002" size="1.016" layer="51" font="vector" ratio="15" rot="R90">TX3</text>
<text x="21.971" y="16.002" size="1.016" layer="51" font="vector" ratio="15" rot="R90">RX3</text>
<text x="24.511" y="16.002" size="1.016" layer="51" font="vector" ratio="15" rot="R90">TX2</text>
<text x="27.051" y="16.002" size="1.016" layer="51" font="vector" ratio="15" rot="R90">RX2</text>
<text x="29.591" y="16.002" size="1.016" layer="51" font="vector" ratio="15" rot="R90">TX1</text>
<text x="32.131" y="16.002" size="1.016" layer="51" font="vector" ratio="15" rot="R90">RX1</text>
<text x="34.671" y="16.002" size="1.016" layer="51" font="vector" ratio="15" rot="R90">SDA</text>
<text x="37.211" y="16.002" size="1.016" layer="51" font="vector" ratio="15" rot="R90">SCL</text>
<text x="-9.906" y="-18.542" size="1.524" layer="51" font="vector" ratio="15">POWER</text>
<text x="-16.002" y="-22.0726" size="1.016" layer="51" font="vector" ratio="15" rot="R90">RESET</text>
<text x="-13.462" y="-22.0726" size="1.016" layer="51" font="vector" ratio="15" rot="R90">5V</text>
<text x="-10.922" y="-22.0726" size="1.016" layer="51" font="vector" ratio="15" rot="R90">5V</text>
<text x="-8.382" y="-22.0726" size="1.016" layer="51" font="vector" ratio="15" rot="R90">GND</text>
<text x="-5.842" y="-22.0726" size="1.016" layer="51" font="vector" ratio="15" rot="R90">GND</text>
<text x="-3.302" y="-22.0726" size="1.016" layer="51" font="vector" ratio="15" rot="R90">Vin</text>
<text x="-23.876" y="22.352" size="1.4224" layer="51" font="vector" ratio="15" rot="R270">GND</text>
<text x="-26.289" y="22.352" size="1.4224" layer="51" font="vector" ratio="15" rot="R270">AREF</text>
<text x="41.91" y="25.4" size="0.889" layer="51" font="vector" ratio="15">5V</text>
<rectangle x1="39.116" y1="-24.384" x2="39.624" y2="-23.876" layer="51"/>
<rectangle x1="36.576" y1="-24.384" x2="37.084" y2="-23.876" layer="51"/>
<rectangle x1="34.036" y1="-24.384" x2="34.544" y2="-23.876" layer="51"/>
<rectangle x1="31.496" y1="-24.384" x2="32.004" y2="-23.876" layer="51"/>
<rectangle x1="28.956" y1="-24.384" x2="29.464" y2="-23.876" layer="51"/>
<rectangle x1="26.416" y1="-24.384" x2="26.924" y2="-23.876" layer="51"/>
<rectangle x1="23.876" y1="-24.384" x2="24.384" y2="-23.876" layer="51"/>
<rectangle x1="41.656" y1="-24.384" x2="42.164" y2="-23.876" layer="51"/>
<rectangle x1="34.036" y1="23.876" x2="34.544" y2="24.384" layer="51"/>
<rectangle x1="31.496" y1="23.876" x2="32.004" y2="24.384" layer="51"/>
<rectangle x1="28.956" y1="23.876" x2="29.464" y2="24.384" layer="51"/>
<rectangle x1="26.416" y1="23.876" x2="26.924" y2="24.384" layer="51"/>
<rectangle x1="23.876" y1="23.876" x2="24.384" y2="24.384" layer="51"/>
<rectangle x1="21.336" y1="23.876" x2="21.844" y2="24.384" layer="51"/>
<rectangle x1="18.796" y1="23.876" x2="19.304" y2="24.384" layer="51"/>
<rectangle x1="36.576" y1="23.876" x2="37.084" y2="24.384" layer="51"/>
<rectangle x1="16.256" y1="-24.384" x2="16.764" y2="-23.876" layer="51"/>
<rectangle x1="13.716" y1="-24.384" x2="14.224" y2="-23.876" layer="51"/>
<rectangle x1="11.176" y1="-24.384" x2="11.684" y2="-23.876" layer="51"/>
<rectangle x1="8.636" y1="-24.384" x2="9.144" y2="-23.876" layer="51"/>
<rectangle x1="6.096" y1="-24.384" x2="6.604" y2="-23.876" layer="51"/>
<rectangle x1="3.556" y1="-24.384" x2="4.064" y2="-23.876" layer="51"/>
<rectangle x1="1.016" y1="-24.384" x2="1.524" y2="-23.876" layer="51"/>
<rectangle x1="18.796" y1="-24.384" x2="19.304" y2="-23.876" layer="51"/>
<rectangle x1="11.176" y1="23.876" x2="11.684" y2="24.384" layer="51"/>
<rectangle x1="8.636" y1="23.876" x2="9.144" y2="24.384" layer="51"/>
<rectangle x1="6.096" y1="23.876" x2="6.604" y2="24.384" layer="51"/>
<rectangle x1="3.556" y1="23.876" x2="4.064" y2="24.384" layer="51"/>
<rectangle x1="1.016" y1="23.876" x2="1.524" y2="24.384" layer="51"/>
<rectangle x1="-1.524" y1="23.876" x2="-1.016" y2="24.384" layer="51"/>
<rectangle x1="-4.064" y1="23.876" x2="-3.556" y2="24.384" layer="51"/>
<rectangle x1="13.716" y1="23.876" x2="14.224" y2="24.384" layer="51"/>
<rectangle x1="-10.668" y1="23.876" x2="-10.16" y2="24.384" layer="51"/>
<rectangle x1="-13.208" y1="23.876" x2="-12.7" y2="24.384" layer="51"/>
<rectangle x1="-15.748" y1="23.876" x2="-15.24" y2="24.384" layer="51"/>
<rectangle x1="-18.288" y1="23.876" x2="-17.78" y2="24.384" layer="51"/>
<rectangle x1="-20.828" y1="23.876" x2="-20.32" y2="24.384" layer="51"/>
<rectangle x1="-23.368" y1="23.876" x2="-22.86" y2="24.384" layer="51"/>
<rectangle x1="-25.908" y1="23.876" x2="-25.4" y2="24.384" layer="51"/>
<rectangle x1="-8.128" y1="23.876" x2="-7.62" y2="24.384" layer="51"/>
<rectangle x1="13.843" y1="3.556" x2="14.351" y2="4.064" layer="51" rot="R270"/>
<rectangle x1="16.383" y1="3.556" x2="16.891" y2="4.064" layer="51" rot="R270"/>
<rectangle x1="16.383" y1="1.016" x2="16.891" y2="1.524" layer="51" rot="R270"/>
<rectangle x1="13.843" y1="1.016" x2="14.351" y2="1.524" layer="51" rot="R270"/>
<rectangle x1="16.383" y1="-1.524" x2="16.891" y2="-1.016" layer="51" rot="R270"/>
<rectangle x1="13.843" y1="-1.524" x2="14.351" y2="-1.016" layer="51" rot="R270"/>
<rectangle x1="46.736" y1="3.556" x2="47.244" y2="4.064" layer="51" rot="R90"/>
<rectangle x1="44.196" y1="3.556" x2="44.704" y2="4.064" layer="51" rot="R90"/>
<rectangle x1="44.196" y1="6.096" x2="44.704" y2="6.604" layer="51" rot="R90"/>
<rectangle x1="46.736" y1="6.096" x2="47.244" y2="6.604" layer="51" rot="R90"/>
<rectangle x1="44.196" y1="8.636" x2="44.704" y2="9.144" layer="51" rot="R90"/>
<rectangle x1="46.736" y1="8.636" x2="47.244" y2="9.144" layer="51" rot="R90"/>
<rectangle x1="44.196" y1="11.176" x2="44.704" y2="11.684" layer="51" rot="R90"/>
<rectangle x1="44.196" y1="13.716" x2="44.704" y2="14.224" layer="51" rot="R90"/>
<rectangle x1="44.196" y1="16.256" x2="44.704" y2="16.764" layer="51" rot="R90"/>
<rectangle x1="46.736" y1="11.176" x2="47.244" y2="11.684" layer="51" rot="R90"/>
<rectangle x1="46.736" y1="13.716" x2="47.244" y2="14.224" layer="51" rot="R90"/>
<rectangle x1="46.736" y1="16.256" x2="47.244" y2="16.764" layer="51" rot="R90"/>
<rectangle x1="44.196" y1="18.796" x2="44.704" y2="19.304" layer="51" rot="R90"/>
<rectangle x1="46.736" y1="18.796" x2="47.244" y2="19.304" layer="51" rot="R90"/>
<rectangle x1="44.196" y1="21.336" x2="44.704" y2="21.844" layer="51" rot="R90"/>
<rectangle x1="46.736" y1="21.336" x2="47.244" y2="21.844" layer="51" rot="R90"/>
<rectangle x1="46.736" y1="-16.764" x2="47.244" y2="-16.256" layer="51" rot="R90"/>
<rectangle x1="44.196" y1="-16.764" x2="44.704" y2="-16.256" layer="51" rot="R90"/>
<rectangle x1="44.196" y1="-14.224" x2="44.704" y2="-13.716" layer="51" rot="R90"/>
<rectangle x1="46.736" y1="-14.224" x2="47.244" y2="-13.716" layer="51" rot="R90"/>
<rectangle x1="44.196" y1="-11.684" x2="44.704" y2="-11.176" layer="51" rot="R90"/>
<rectangle x1="46.736" y1="-11.684" x2="47.244" y2="-11.176" layer="51" rot="R90"/>
<rectangle x1="44.196" y1="-9.144" x2="44.704" y2="-8.636" layer="51" rot="R90"/>
<rectangle x1="44.196" y1="-6.604" x2="44.704" y2="-6.096" layer="51" rot="R90"/>
<rectangle x1="44.196" y1="-4.064" x2="44.704" y2="-3.556" layer="51" rot="R90"/>
<rectangle x1="46.736" y1="-9.144" x2="47.244" y2="-8.636" layer="51" rot="R90"/>
<rectangle x1="46.736" y1="-6.604" x2="47.244" y2="-6.096" layer="51" rot="R90"/>
<rectangle x1="46.736" y1="-4.064" x2="47.244" y2="-3.556" layer="51" rot="R90"/>
<rectangle x1="44.196" y1="-1.524" x2="44.704" y2="-1.016" layer="51" rot="R90"/>
<rectangle x1="46.736" y1="-1.524" x2="47.244" y2="-1.016" layer="51" rot="R90"/>
<rectangle x1="44.196" y1="1.016" x2="44.704" y2="1.524" layer="51" rot="R90"/>
<rectangle x1="46.736" y1="1.016" x2="47.244" y2="1.524" layer="51" rot="R90"/>
<rectangle x1="46.736" y1="-19.304" x2="47.244" y2="-18.796" layer="51"/>
<rectangle x1="44.196" y1="-19.304" x2="44.704" y2="-18.796" layer="51"/>
<rectangle x1="46.736" y1="23.876" x2="47.244" y2="24.384" layer="51"/>
<rectangle x1="44.196" y1="23.876" x2="44.704" y2="24.384" layer="51"/>
<rectangle x1="-4.064" y1="-24.384" x2="-3.556" y2="-23.876" layer="51"/>
<rectangle x1="-6.604" y1="-24.384" x2="-6.096" y2="-23.876" layer="51"/>
<rectangle x1="-9.144" y1="-24.384" x2="-8.636" y2="-23.876" layer="51"/>
<rectangle x1="-11.684" y1="-24.384" x2="-11.176" y2="-23.876" layer="51"/>
<rectangle x1="-14.224" y1="-24.384" x2="-13.716" y2="-23.876" layer="51"/>
<rectangle x1="-16.764" y1="-24.384" x2="-16.256" y2="-23.876" layer="51"/>
<wire x1="-51.435" y1="-23.495" x2="-38.1" y2="-23.495" width="0.127" layer="51"/>
<wire x1="-38.1" y1="-23.495" x2="-38.1" y2="-14.605" width="0.127" layer="51"/>
<wire x1="-38.1" y1="-14.605" x2="-51.435" y2="-14.605" width="0.127" layer="51"/>
<wire x1="-51.435" y1="-14.605" x2="-51.435" y2="-23.495" width="0.127" layer="51"/>
<wire x1="-40.005" y1="5.715" x2="-40.005" y2="17.145" width="0.127" layer="51"/>
<wire x1="-40.005" y1="17.145" x2="-55.88" y2="17.145" width="0.127" layer="51"/>
<wire x1="-55.88" y1="17.145" x2="-55.88" y2="5.715" width="0.127" layer="51"/>
<wire x1="-55.88" y1="5.715" x2="-40.005" y2="5.715" width="0.127" layer="51"/>
<text x="1.27" y="27.94" size="0.6096" layer="25" font="vector" ratio="20" align="bottom-center">>NAME</text>
<text x="0" y="-27.94" size="0.6096" layer="27" font="vector" ratio="20" align="top-center">>VALUE</text>
<circle x="-34.29" y="24.13" radius="1.905" width="0.127" layer="51"/>
<circle x="-35.56" y="-24.13" radius="1.905" width="0.127" layer="51"/>
<circle x="40.64" y="24.13" radius="1.905" width="0.127" layer="51"/>
<circle x="16.51" y="8.89" radius="2.00804375" width="0.127" layer="51"/>
<circle x="16.51" y="-19.05" radius="1.905" width="0.127" layer="51"/>
<circle x="46.99" y="-24.13" radius="2.00804375" width="0.127" layer="51"/>
</package>
<package name="JST-PH3">
<wire x1="-3.95" y1="-1.7" x2="-0.95" y2="-1.7" width="0.127" layer="21"/>
<wire x1="-0.95" y1="-1.7" x2="0.95" y2="-1.7" width="0.127" layer="21"/>
<wire x1="0.95" y1="-1.7" x2="3.95" y2="-1.7" width="0.127" layer="21"/>
<wire x1="-3.95" y1="2.8" x2="3.95" y2="2.8" width="0.127" layer="21"/>
<wire x1="3.95" y1="2.8" x2="3.95" y2="0.6" width="0.127" layer="21"/>
<wire x1="3.95" y1="0.6" x2="3.95" y2="-0.3" width="0.127" layer="21"/>
<wire x1="3.95" y1="-0.3" x2="3.95" y2="-1.7" width="0.127" layer="21"/>
<wire x1="-3.95" y1="2.8" x2="-3.95" y2="0.6" width="0.127" layer="21"/>
<wire x1="-3.95" y1="0.6" x2="-3.95" y2="-0.3" width="0.127" layer="21"/>
<wire x1="-3.95" y1="-0.3" x2="-3.95" y2="-1.7" width="0.127" layer="21"/>
<wire x1="-3.35" y1="2.2" x2="3.35" y2="2.2" width="0.127" layer="21"/>
<wire x1="-3.35" y1="2.2" x2="-3.35" y2="0.6" width="0.127" layer="21"/>
<wire x1="-3.35" y1="0.6" x2="-3.35" y2="-0.3" width="0.127" layer="21"/>
<wire x1="-3.35" y1="-0.3" x2="-3.35" y2="-1.1" width="0.127" layer="21"/>
<wire x1="-3.35" y1="-1.1" x2="-0.95" y2="-1.1" width="0.127" layer="21"/>
<wire x1="3.35" y1="2.2" x2="3.35" y2="0.6" width="0.127" layer="21"/>
<wire x1="3.35" y1="0.6" x2="3.35" y2="-0.3" width="0.127" layer="21"/>
<wire x1="3.35" y1="-0.3" x2="3.35" y2="-1.1" width="0.127" layer="21"/>
<wire x1="-3.95" y1="-0.3" x2="-3.35" y2="-0.3" width="0.127" layer="21"/>
<wire x1="-3.95" y1="0.6" x2="-3.35" y2="0.6" width="0.127" layer="21"/>
<wire x1="3.35" y1="0.6" x2="3.95" y2="0.6" width="0.127" layer="21"/>
<wire x1="3.35" y1="-0.3" x2="3.95" y2="-0.3" width="0.127" layer="21"/>
<wire x1="-0.95" y1="-1.1" x2="-0.95" y2="-1.7" width="0.127" layer="21"/>
<wire x1="0.95" y1="-1.1" x2="0.95" y2="-1.7" width="0.127" layer="21"/>
<wire x1="0.95" y1="-1.1" x2="3.35" y2="-1.1" width="0.127" layer="21"/>
<pad name="3" x="-2" y="0" drill="0.8128" diameter="1.6764" shape="octagon"/>
<pad name="2" x="0" y="0" drill="0.8128" diameter="1.6764" shape="octagon"/>
<pad name="1" x="2" y="0" drill="0.8128" diameter="1.6764" shape="octagon"/>
<text x="-4" y="3.5001" size="1.27" layer="25">>NAME</text>
<text x="2.302" y="1.27" size="0.6096" layer="21">1</text>
</package>
</packages>
<symbols>
<symbol name="ARDUINO-MEGA">
<description>
Arduino Mega R3

Symbol showing all pin connections for Arduino Mega R3.
</description>
<wire x1="-15.24" y1="-53.34" x2="15.24" y2="-53.34" width="0.254" layer="94"/>
<wire x1="15.24" y1="-53.34" x2="15.24" y2="53.34" width="0.254" layer="94"/>
<wire x1="15.24" y1="53.34" x2="-15.24" y2="53.34" width="0.254" layer="94"/>
<wire x1="-15.24" y1="53.34" x2="-15.24" y2="-53.34" width="0.254" layer="94"/>
<text x="-15.24" y="54.102" size="1.778" layer="95">>NAME</text>
<text x="-15.24" y="-55.88" size="1.778" layer="96">>VALUE</text>
<pin name="5V@0" x="-17.78" y="48.26" length="short"/>
<pin name="RESET" x="-17.78" y="35.56" length="short"/>
<pin name="5V@1" x="-17.78" y="45.72" length="short"/>
<pin name="A0(RX0)" x="-17.78" y="33.02" length="short"/>
<pin name="A1(TX0)" x="-17.78" y="30.48" length="short"/>
<pin name="A2" x="-17.78" y="27.94" length="short"/>
<pin name="A3" x="-17.78" y="25.4" length="short"/>
<pin name="A4" x="-17.78" y="22.86" length="short"/>
<pin name="A5" x="-17.78" y="20.32" length="short"/>
<pin name="A6" x="-17.78" y="17.78" length="short"/>
<pin name="A7" x="-17.78" y="15.24" length="short"/>
<pin name="A8" x="-17.78" y="12.7" length="short"/>
<pin name="A9" x="-17.78" y="10.16" length="short"/>
<pin name="A10" x="-17.78" y="7.62" length="short"/>
<pin name="A11" x="-17.78" y="5.08" length="short"/>
<pin name="A12" x="-17.78" y="2.54" length="short"/>
<pin name="A13" x="-17.78" y="0" length="short"/>
<pin name="A14" x="-17.78" y="-2.54" length="short"/>
<pin name="A15" x="-17.78" y="-5.08" length="short"/>
<pin name="1(TX0)" x="-17.78" y="-10.16" length="short"/>
<pin name="2" x="-17.78" y="-12.7" length="short"/>
<pin name="3" x="-17.78" y="-15.24" length="short"/>
<pin name="4" x="-17.78" y="-17.78" length="short"/>
<pin name="5" x="-17.78" y="-20.32" length="short"/>
<pin name="6" x="-17.78" y="-22.86" length="short"/>
<pin name="7" x="-17.78" y="-25.4" length="short"/>
<pin name="8" x="-17.78" y="-27.94" length="short"/>
<pin name="9" x="-17.78" y="-30.48" length="short"/>
<pin name="10" x="-17.78" y="-33.02" length="short"/>
<pin name="GND@4" x="-17.78" y="-50.8" length="short"/>
<pin name="16(TX2)" x="17.78" y="43.18" length="short" rot="R180"/>
<pin name="17(RX2)" x="17.78" y="40.64" length="short" rot="R180"/>
<pin name="18(TX1)" x="17.78" y="38.1" length="short" rot="R180"/>
<pin name="22" x="17.78" y="27.94" length="short" rot="R180"/>
<pin name="23" x="17.78" y="25.4" length="short" rot="R180"/>
<pin name="24" x="17.78" y="22.86" length="short" rot="R180"/>
<pin name="25" x="17.78" y="20.32" length="short" rot="R180"/>
<pin name="26" x="17.78" y="17.78" length="short" rot="R180"/>
<pin name="27" x="17.78" y="15.24" length="short" rot="R180"/>
<pin name="28" x="17.78" y="12.7" length="short" rot="R180"/>
<pin name="29" x="17.78" y="10.16" length="short" rot="R180"/>
<pin name="30" x="17.78" y="7.62" length="short" rot="R180"/>
<pin name="31" x="17.78" y="5.08" length="short" rot="R180"/>
<pin name="32" x="17.78" y="2.54" length="short" rot="R180"/>
<pin name="33" x="17.78" y="0" length="short" rot="R180"/>
<pin name="34" x="17.78" y="-2.54" length="short" rot="R180"/>
<pin name="35" x="17.78" y="-5.08" length="short" rot="R180"/>
<pin name="36" x="17.78" y="-7.62" length="short" rot="R180"/>
<pin name="37" x="17.78" y="-10.16" length="short" rot="R180"/>
<pin name="38" x="17.78" y="-12.7" length="short" rot="R180"/>
<pin name="40" x="17.78" y="-17.78" length="short" rot="R180"/>
<pin name="39" x="17.78" y="-15.24" length="short" rot="R180"/>
<pin name="41" x="17.78" y="-20.32" length="short" rot="R180"/>
<pin name="42" x="17.78" y="-22.86" length="short" rot="R180"/>
<pin name="43" x="17.78" y="-25.4" length="short" rot="R180"/>
<pin name="44" x="17.78" y="-27.94" length="short" rot="R180"/>
<pin name="45" x="17.78" y="-30.48" length="short" rot="R180"/>
<pin name="46" x="17.78" y="-33.02" length="short" rot="R180"/>
<pin name="47" x="17.78" y="-35.56" length="short" rot="R180"/>
<pin name="48" x="17.78" y="-38.1" length="short" rot="R180"/>
<pin name="11" x="-17.78" y="-35.56" length="short"/>
<pin name="12" x="-17.78" y="-38.1" length="short"/>
<pin name="13" x="17.78" y="50.8" length="short" rot="R180"/>
<pin name="15(RX3)" x="17.78" y="45.72" length="short" rot="R180"/>
<pin name="14(TX3)" x="17.78" y="48.26" length="short" rot="R180"/>
<pin name="GND@0" x="-17.78" y="-40.64" length="short"/>
<pin name="GND@1" x="-17.78" y="-43.18" length="short"/>
<pin name="GND@2" x="-17.78" y="-45.72" length="short"/>
<pin name="GND@3" x="-17.78" y="-48.26" length="short"/>
<pin name="53" x="17.78" y="-50.8" length="short" rot="R180"/>
<pin name="52" x="17.78" y="-48.26" length="short" rot="R180"/>
<pin name="51" x="17.78" y="-45.72" length="short" rot="R180"/>
<pin name="50" x="17.78" y="-43.18" length="short" rot="R180"/>
<pin name="49" x="17.78" y="-40.64" length="short" rot="R180"/>
<pin name="5V@2" x="-17.78" y="43.18" length="short"/>
<pin name="3.3V" x="-17.78" y="40.64" length="short"/>
<pin name="AREF" x="-17.78" y="38.1" length="short"/>
<pin name="21(SCL)" x="17.78" y="30.48" length="short" rot="R180"/>
<pin name="20(SDA)" x="17.78" y="33.02" length="short" rot="R180"/>
<pin name="19(RX1)" x="17.78" y="35.56" length="short" rot="R180"/>
<pin name="VIN" x="-17.78" y="50.8" length="short"/>
<pin name="0(RX0)" x="-17.78" y="-7.62" length="short"/>
</symbol>
<symbol name="CONN_03">
<description>
3 Pin Connection
</description>
<wire x1="3.81" y1="-5.08" x2="-2.54" 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"/>
<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="-2.54" y1="5.08" x2="-2.54" y2="-5.08" width="0.4064" layer="94"/>
<wire x1="3.81" y1="-5.08" x2="3.81" y2="5.08" width="0.4064" layer="94"/>
<wire x1="-2.54" y1="5.08" x2="3.81" y2="5.08" width="0.4064" layer="94"/>
<text x="-2.54" y="-7.366" size="1.778" layer="96" font="vector">>VALUE</text>
<text x="-2.54" y="5.588" size="1.778" layer="95" font="vector">>NAME</text>
<pin name="1" x="7.62" y="-2.54" visible="pad" length="middle" direction="pas" swaplevel="1" rot="R180"/>
<pin name="2" x="7.62" y="0" visible="pad" length="middle" direction="pas" swaplevel="1" rot="R180"/>
<pin name="3" x="7.62" y="2.54" visible="pad" length="middle" direction="pas" swaplevel="1" rot="R180"/>
</symbol>
</symbols>
<devicesets>
<deviceset name="ARDUINO_MEGA_R3" prefix="B">
<description>
Arduino Mega R3

ATmega2560 R3 compatible footprint.

SparkFun Products:

Arduino Mega 2560 R3

</description>
<gates>
<gate name="G$1" symbol="ARDUINO-MEGA" x="0" y="0"/>
</gates>
<devices>
<device name="FULL" package="ARDUINO_MEGA">
<connects>
<connect gate="G$1" pin="0(RX0)" pad="0"/>
<connect gate="G$1" pin="1(TX0)" pad="1"/>
<connect gate="G$1" pin="10" pad="10"/>
<connect gate="G$1" pin="11" pad="11"/>
<connect gate="G$1" pin="12" pad="12"/>
<connect gate="G$1" pin="13" pad="13"/>
<connect gate="G$1" pin="14(TX3)" pad="14"/>
<connect gate="G$1" pin="15(RX3)" pad="15"/>
<connect gate="G$1" pin="16(TX2)" pad="16"/>
<connect gate="G$1" pin="17(RX2)" pad="17"/>
<connect gate="G$1" pin="18(TX1)" pad="18"/>
<connect gate="G$1" pin="19(RX1)" pad="19"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="20(SDA)" pad="20"/>
<connect gate="G$1" pin="21(SCL)" pad="21"/>
<connect gate="G$1" pin="22" pad="22"/>
<connect gate="G$1" pin="23" pad="23"/>
<connect gate="G$1" pin="24" pad="24"/>
<connect gate="G$1" pin="25" pad="25"/>
<connect gate="G$1" pin="26" pad="26"/>
<connect gate="G$1" pin="27" pad="27"/>
<connect gate="G$1" pin="28" pad="28"/>
<connect gate="G$1" pin="29" pad="29"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="3.3V" pad="3.3V"/>
<connect gate="G$1" pin="30" pad="30"/>
<connect gate="G$1" pin="31" pad="31"/>
<connect gate="G$1" pin="32" pad="32"/>
<connect gate="G$1" pin="33" pad="33"/>
<connect gate="G$1" pin="34" pad="34"/>
<connect gate="G$1" pin="35" pad="35"/>
<connect gate="G$1" pin="36" pad="36"/>
<connect gate="G$1" pin="37" pad="37"/>
<connect gate="G$1" pin="38" pad="38"/>
<connect gate="G$1" pin="39" pad="39"/>
<connect gate="G$1" pin="4" pad="4"/>
<connect gate="G$1" pin="40" pad="40"/>
<connect gate="G$1" pin="41" pad="41"/>
<connect gate="G$1" pin="42" pad="42"/>
<connect gate="G$1" pin="43" pad="43"/>
<connect gate="G$1" pin="44" pad="44"/>
<connect gate="G$1" pin="45" pad="45"/>
<connect gate="G$1" pin="46" pad="46"/>
<connect gate="G$1" pin="47" pad="47"/>
<connect gate="G$1" pin="48" pad="48"/>
<connect gate="G$1" pin="49" pad="49"/>
<connect gate="G$1" pin="5" pad="5"/>
<connect gate="G$1" pin="50" pad="50"/>
<connect gate="G$1" pin="51" pad="51"/>
<connect gate="G$1" pin="52" pad="52"/>
<connect gate="G$1" pin="53" pad="53"/>
<connect gate="G$1" pin="5V@0" pad="5V@0"/>
<connect gate="G$1" pin="5V@1" pad="5V@1"/>
<connect gate="G$1" pin="5V@2" pad="5V@2"/>
<connect gate="G$1" pin="6" pad="6"/>
<connect gate="G$1" pin="7" pad="7"/>
<connect gate="G$1" pin="8" pad="8"/>
<connect gate="G$1" pin="9" pad="9"/>
<connect gate="G$1" pin="A0(RX0)" pad="A0"/>
<connect gate="G$1" pin="A1(TX0)" pad="A1"/>
<connect gate="G$1" pin="A10" pad="A10"/>
<connect gate="G$1" pin="A11" pad="A11"/>
<connect gate="G$1" pin="A12" pad="A12"/>
<connect gate="G$1" pin="A13" pad="A13"/>
<connect gate="G$1" pin="A14" pad="A14"/>
<connect gate="G$1" pin="A15" pad="A15"/>
<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="A6" pad="A6"/>
<connect gate="G$1" pin="A7" pad="A7"/>
<connect gate="G$1" pin="A8" pad="A8"/>
<connect gate="G$1" pin="A9" pad="A9"/>
<connect gate="G$1" pin="AREF" pad="AREF"/>
<connect gate="G$1" pin="GND@0" pad="GND@0"/>
<connect gate="G$1" pin="GND@1" pad="GND@1"/>
<connect gate="G$1" pin="GND@2" pad="GND@2"/>
<connect gate="G$1" pin="GND@3" pad="GND@3"/>
<connect gate="G$1" pin="GND@4" pad="GND@4"/>
<connect gate="G$1" pin="RESET" pad="RESET"/>
<connect gate="G$1" pin="VIN" pad="VIN"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
<deviceset name="JST-PH3" prefix="P" uservalue="yes">
<gates>
<gate name="G$1" symbol="CONN_03" x="-2.54" y="2.54"/>
</gates>
<devices>
<device name="" package="JST-PH3">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="MrRobotics-Connectors">
<packages>
<package name="JST-XH-04-PACKAGE-LONG-PAD">
<description>JST XH Connector Long Pads (Package)

Wire to board connector.

Pitch: 2,54 mm, (0.100")

Number of pins: 4

Created by Rembrandt Electronics

www.rembrandtelectronics.com
</description>
<wire x1="10.01" y1="-2.3575" x2="10.01" y2="3.3925" width="0.254" layer="21"/>
<wire x1="10.01" y1="3.3925" x2="-2.39" y2="3.3925" width="0.254" layer="21"/>
<wire x1="-2.39" y1="3.3925" x2="-2.39" y2="-2.3575" width="0.254" layer="21"/>
<wire x1="-2.39" y1="-2.3575" x2="10.01" y2="-2.3575" width="0.254" layer="21"/>
<pad name="3" x="5.08" y="0" drill="1.016" shape="long" rot="R90"/>
<pad name="2" x="2.54" y="0" drill="1.016" shape="long" rot="R90"/>
<pad name="1" x="0" y="0" drill="1.016" shape="long" rot="R90"/>
<pad name="4" x="7.62" y="0" drill="1.016" shape="long" rot="R90"/>
<text x="-2.845" y="-2.04" size="1.016" layer="25" ratio="10" rot="R90">>NAME</text>
<text x="-2.1925" y="3.8925" size="1.016" layer="27" ratio="10">>VALUE</text>
<text x="-1.6575" y="-1.4875" size="1.016" layer="51" ratio="10">1</text>
<wire x1="0.01" y1="-2.3" x2="0.01" y2="-1.8" width="0.254" layer="21"/>
<wire x1="7.71" y1="-2.3" x2="7.71" y2="-1.8" width="0.254" layer="21"/>
</package>
<package name="JST-XH-04-PACKAGE-ROUND-PAD">
<description>JST XH Connector Round Pads (Package)

Wire to board connector.

Pitch: 2,54 mm, (0.100")

Number of pins: 4

Created by Rembrandt Electronics

www.rembrandtelectronics.com
</description>
<wire x1="10.01" y1="-2.3575" x2="10.01" y2="3.3925" width="0.254" layer="21"/>
<wire x1="10.01" y1="3.3925" x2="-2.39" y2="3.3925" width="0.254" layer="21"/>
<wire x1="-2.39" y1="3.3925" x2="-2.39" y2="-2.3575" width="0.254" layer="21"/>
<wire x1="-2.39" y1="-2.3575" x2="10.01" y2="-2.3575" width="0.254" layer="21"/>
<pad name="3" x="5.08" y="0" drill="1.016" rot="R90"/>
<pad name="2" x="2.54" y="0" drill="1.016" rot="R90"/>
<pad name="1" x="0" y="0" drill="1.016" rot="R90"/>
<pad name="4" x="7.62" y="0" drill="1.016" rot="R90"/>
<text x="-2.845" y="-2.04" size="1.016" layer="25" ratio="10" rot="R90">>NAME</text>
<text x="-2.1925" y="3.8925" size="1.016" layer="27" ratio="10">>VALUE</text>
<text x="-1.6575" y="-1.4875" size="1.016" layer="51" ratio="10">1</text>
<wire x1="0.01" y1="-2.3" x2="0.01" y2="-1.8" width="0.254" layer="21"/>
<wire x1="7.71" y1="-2.3" x2="7.71" y2="-1.8" width="0.254" layer="21"/>
</package>
<package name="JST-XH-02-PACKAGE-LONG-PAD">
<description>JST XH Connector Long Pads (Package)

Wire to board connector.

Pitch: 2,54 mm, (0.100")

Number of pins: 2

Created by Rembrandt Electronics

www.rembrandtelectronics.com
</description>
<wire x1="4.97" y1="-2.3575" x2="4.97" y2="3.3925" width="0.254" layer="21"/>
<wire x1="4.97" y1="3.3925" x2="-2.43" y2="3.3925" width="0.254" layer="21"/>
<wire x1="-2.43" y1="3.3925" x2="-2.43" y2="-2.3575" width="0.254" layer="21"/>
<wire x1="-2.43" y1="-2.3575" x2="4.97" y2="-2.3575" width="0.254" layer="21"/>
<pad name="2" x="2.54" y="0" drill="1.016" shape="long" rot="R90"/>
<pad name="1" x="0" y="0" drill="1.016" shape="long" rot="R90"/>
<text x="-2.985" y="-2.04" size="1.016" layer="25" ratio="10" rot="R90">>NAME</text>
<text x="-2.0325" y="3.8925" size="1.016" layer="27" ratio="10">>VALUE</text>
<text x="-1.5975" y="-1.4875" size="1.016" layer="51" ratio="10">1</text>
<wire x1="-0.03" y1="-2.3" x2="-0.03" y2="-1.8" width="0.2" layer="21"/>
<wire x1="2.57" y1="-2.3" x2="2.57" y2="-1.8" width="0.2" layer="21"/>
<wire x1="-0.03" y1="-1.8" x2="2.57" y2="-1.8" width="0.2" layer="21"/>
</package>
<package name="JST-XH-02-PACKAGE-ROUND-PAD">
<description>JST XH Connector Round Pads (Package)

Wire to board connector.

Pitch: 2,54 mm, (0.100")

Number of pins: 2

Created by Rembrandt Electronics

www.rembrandtelectronics.com
</description>
<wire x1="4.97" y1="-2.3575" x2="4.97" y2="3.3925" width="0.254" layer="21"/>
<wire x1="4.97" y1="3.3925" x2="-2.43" y2="3.3925" width="0.254" layer="21"/>
<wire x1="-2.43" y1="3.3925" x2="-2.43" y2="-2.3575" width="0.254" layer="21"/>
<wire x1="-2.43" y1="-2.3575" x2="4.97" y2="-2.3575" width="0.254" layer="21"/>
<pad name="2" x="2.54" y="0" drill="1.016" rot="R90"/>
<pad name="1" x="0" y="0" drill="1.016" rot="R90"/>
<text x="-2.985" y="-2.04" size="1.016" layer="25" ratio="10" rot="R90">>NAME</text>
<text x="-2.0325" y="3.8925" size="1.016" layer="27" ratio="10">>VALUE</text>
<text x="-1.5975" y="-1.4875" size="1.016" layer="51" ratio="10">1</text>
<wire x1="-0.03" y1="-2.3" x2="-0.03" y2="-1.8" width="0.2" layer="21"/>
<wire x1="2.57" y1="-2.3" x2="2.57" y2="-1.8" width="0.2" layer="21"/>
<wire x1="-0.03" y1="-1.8" x2="2.57" y2="-1.8" width="0.2" layer="21"/>
</package>
</packages>
<symbols>
<symbol name="CONN_04">
<description>
4 Pin Connection
</description>
<wire x1="1.27" y1="-5.08" x2="-5.08" y2="-5.08" width="0.4064" layer="94"/>
<wire x1="-1.27" y1="2.54" x2="0" y2="2.54" width="0.6096" layer="94"/>
<wire x1="-1.27" y1="0" x2="0" y2="0" width="0.6096" layer="94"/>
<wire x1="-1.27" y1="-2.54" x2="0" y2="-2.54" width="0.6096" layer="94"/>
<wire x1="-5.08" y1="7.62" x2="-5.08" y2="-5.08" width="0.4064" layer="94"/>
<wire x1="1.27" y1="-5.08" x2="1.27" y2="7.62" width="0.4064" layer="94"/>
<wire x1="-5.08" y1="7.62" x2="1.27" y2="7.62" width="0.4064" layer="94"/>
<wire x1="-1.27" y1="5.08" x2="0" y2="5.08" width="0.6096" layer="94"/>
<text x="-5.08" y="-7.366" size="1.778" layer="96" font="vector">>VALUE</text>
<text x="-5.08" y="8.128" size="1.778" layer="95" font="vector">>NAME</text>
<pin name="1" x="5.08" y="-2.54" visible="pad" length="middle" direction="pas" swaplevel="1" rot="R180"/>
<pin name="2" x="5.08" y="0" visible="pad" length="middle" direction="pas" swaplevel="1" rot="R180"/>
<pin name="3" x="5.08" y="2.54" visible="pad" length="middle" direction="pas" swaplevel="1" rot="R180"/>
<pin name="4" x="5.08" y="5.08" visible="pad" length="middle" direction="pas" swaplevel="1" rot="R180"/>
</symbol>
<symbol name="CONN_02">
<description>
2 Pin Connection
</description>
<wire x1="3.81" y1="-2.54" x2="-2.54" y2="-2.54" width="0.4064" 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="0" x2="2.54" y2="0" width="0.6096" layer="94"/>
<wire x1="-2.54" y1="5.08" x2="-2.54" y2="-2.54" width="0.4064" layer="94"/>
<wire x1="3.81" y1="-2.54" x2="3.81" y2="5.08" width="0.4064" layer="94"/>
<wire x1="-2.54" y1="5.08" x2="3.81" y2="5.08" width="0.4064" layer="94"/>
<text x="-2.54" y="-4.826" size="1.778" layer="96" font="vector">>VALUE</text>
<text x="-2.54" y="5.588" size="1.778" layer="95" font="vector">>NAME</text>
<pin name="1" x="7.62" y="0" 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"/>
</symbol>
</symbols>
<devicesets>
<deviceset name="JST-XH-04-PIN" prefix="X">
<description>JST XH Connector 2 Pin

Wire to board connector.

Pitch: 2,54 mm, (0.100")

Number of pins: 4

Created by Rembrandt Electronics

www.rembrandtelectronics.com
</description>
<gates>
<gate name="G$1" symbol="CONN_04" x="5.08" y="5.08"/>
</gates>
<devices>
<device name="-LONG-PAD" package="JST-XH-04-PACKAGE-LONG-PAD">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="4" pad="4"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="-ROUND-PAD" package="JST-XH-04-PACKAGE-ROUND-PAD">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
<connect gate="G$1" pin="3" pad="3"/>
<connect gate="G$1" pin="4" pad="4"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
<deviceset name="JST-XH-02-PIN" prefix="X">
<description>JST XH Connector 2 Pin

Wire to board connector.

Pitch: 2,54 mm, (0.100")

Number of pins: 2

Created by Rembrandt Electronics

www.rembrandtelectronics.com
</description>
<gates>
<gate name="G$1" symbol="CONN_02" x="2.54" y="2.54"/>
</gates>
<devices>
<device name="-LONG-PAD" package="JST-XH-02-PACKAGE-LONG-PAD">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
<device name="-ROUND-PAD" package="JST-XH-02-PACKAGE-ROUND-PAD">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="SparkFun-Capacitors">
<description>
SparkFun Capacitors

This library contains capacitors.

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

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

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

You are welcome to use this library for commercial purposes. For attribution, we ask that when you begin to sell your device using our footprint, you email us with a link to the product being sold. We want bragging rights that we helped (in a very small part) to create your 8th world wonder. We would like the opportunity to feature your device on our homepage.</description>
<packages>
<package name="0603">
<description>
Generic 1608 (0603) package

0.2mm courtyard excess rounded to nearest 0.05mm.
</description>
<wire x1="-1.6" y1="0.7" x2="1.6" y2="0.7" width="0.0508" layer="39"/>
<wire x1="1.6" y1="0.7" x2="1.6" y2="-0.7" width="0.0508" layer="39"/>
<wire x1="1.6" y1="-0.7" x2="-1.6" y2="-0.7" width="0.0508" layer="39"/>
<wire x1="-1.6" y1="-0.7" x2="-1.6" y2="0.7" width="0.0508" layer="39"/>
<wire x1="-0.356" y1="0.432" x2="0.356" y2="0.432" width="0.1016" layer="51"/>
<wire x1="-0.356" y1="-0.419" x2="0.356" y2="-0.419" width="0.1016" layer="51"/>
<smd name="1" x="-0.85" y="0" dx="1.1" dy="1" layer="1"/>
<smd name="2" x="0.85" y="0" dx="1.1" dy="1" layer="1"/>
<text x="0" y="0.762" size="0.6096" layer="25" font="vector" ratio="20" align="bottom-center">>NAME</text>
<text x="0" y="-0.762" size="0.6096" layer="27" font="vector" ratio="20" align="top-center">>VALUE</text>
<rectangle x1="-0.8382" y1="-0.4699" x2="-0.3381" y2="0.4801" layer="51"/>
<rectangle x1="0.3302" y1="-0.4699" x2="0.8303" y2="0.4801" layer="51"/>
<rectangle x1="-0.1999" y1="-0.3" x2="0.1999" y2="0.3" layer="35"/>
</package>
<package name="0805">
<description>
Generic 2012 (0805) package

0.2mm courtyard excess rounded to nearest 0.05mm.
</description>
<smd name="1" x="-0.9" y="0" dx="0.8" dy="1.2" layer="1"/>
<smd name="2" x="0.9" y="0" dx="0.8" dy="1.2" layer="1"/>
<text x="0" y="0.889" size="0.6096" layer="25" font="vector" ratio="20" align="bottom-center">>NAME</text>
<text x="0" y="-0.889" size="0.6096" layer="27" font="vector" ratio="20" align="top-center">>VALUE</text>
<wire x1="-1.5" y1="0.8" x2="1.5" y2="0.8" width="0.0508" layer="39"/>
<wire x1="1.5" y1="0.8" x2="1.5" y2="-0.8" width="0.0508" layer="39"/>
<wire x1="1.5" y1="-0.8" x2="-1.5" y2="-0.8" width="0.0508" layer="39"/>
<wire x1="-1.5" y1="-0.8" x2="-1.5" y2="0.8" width="0.0508" layer="39"/>
</package>
<package name="1206">
<description>
Generic 3216 (1206) package

0.2mm courtyard excess rounded to nearest 0.05mm.
</description>
<wire x1="-2.4" y1="1.1" x2="2.4" y2="1.1" width="0.0508" layer="39"/>
<wire x1="2.4" y1="-1.1" x2="-2.4" y2="-1.1" width="0.0508" layer="39"/>
<wire x1="-2.4" y1="-1.1" x2="-2.4" y2="1.1" width="0.0508" layer="39"/>
<wire x1="2.4" y1="1.1" x2="2.4" y2="-1.1" width="0.0508" layer="39"/>
<wire x1="-0.965" y1="0.787" x2="0.965" y2="0.787" width="0.1016" layer="51"/>
<wire x1="-0.965" y1="-0.787" x2="0.965" y2="-0.787" width="0.1016" layer="51"/>
<smd name="1" x="-1.4" y="0" dx="1.6" dy="1.8" layer="1"/>
<smd name="2" x="1.4" y="0" dx="1.6" dy="1.8" layer="1"/>
<text x="0" y="1.143" size="0.6096" layer="25" font="vector" ratio="20" align="bottom-center">>NAME</text>
<text x="0" y="-1.143" size="0.6096" layer="27" font="vector" ratio="20" align="top-center">>VALUE</text>
<rectangle x1="-1.7018" y1="-0.8509" x2="-0.9517" y2="0.8491" layer="51"/>
<rectangle x1="0.9517" y1="-0.8491" x2="1.7018" y2="0.8509" layer="51"/>
<rectangle x1="-0.1999" y1="-0.4001" x2="0.1999" y2="0.4001" layer="35"/>
</package>
<package name="1210">
<description>
Generic 3225 (1210) package

0.2mm courtyard excess rounded to nearest 0.05mm.
</description>
<wire x1="-1.5365" y1="1.1865" x2="1.5365" y2="1.1865" width="0.127" layer="51"/>
<wire x1="1.5365" y1="1.1865" x2="1.5365" y2="-1.1865" width="0.127" layer="51"/>
<wire x1="1.5365" y1="-1.1865" x2="-1.5365" y2="-1.1865" width="0.127" layer="51"/>
<wire x1="-1.5365" y1="-1.1865" x2="-1.5365" y2="1.1865" width="0.127" layer="51"/>
<smd name="1" x="-1.755" y="0" dx="1.27" dy="2.06" layer="1"/>
<smd name="2" x="1.755" y="0" dx="1.27" dy="2.06" layer="1"/>
<text x="0" y="1.397" size="0.6096" layer="25" font="vector" ratio="20" align="bottom-center">>NAME</text>
<text x="0" y="-1.397" size="0.6096" layer="27" font="vector" ratio="20" align="top-center">>VALUE</text>
<wire x1="-2.59" y1="1.45" x2="2.59" y2="1.45" width="0.0508" layer="39"/>
<wire x1="2.59" y1="1.45" x2="2.59" y2="-1.45" width="0.0508" layer="39"/>
<wire x1="2.59" y1="-1.45" x2="-2.59" y2="-1.45" width="0.0508" layer="39"/>
<wire x1="-2.59" y1="-1.45" x2="-2.59" y2="1.45" width="0.0508" layer="39"/>
</package>
</packages>
<symbols>
<symbol name="CAP">
<wire x1="0" y1="2.54" x2="0" y2="2.032" width="0.1524" layer="94"/>
<wire x1="0" y1="0" x2="0" y2="0.508" width="0.1524" layer="94"/>
<text x="1.524" y="2.921" size="1.778" layer="95" font="vector">>NAME</text>
<text x="1.524" y="-2.159" size="1.778" layer="96" font="vector">>VALUE</text>
<rectangle x1="-2.032" y1="0.508" x2="2.032" y2="1.016" layer="94"/>
<rectangle x1="-2.032" y1="1.524" x2="2.032" y2="2.032" layer="94"/>
<pin name="1" x="0" y="5.08" visible="off" length="short" direction="pas" swaplevel="1" rot="R270"/>
<pin name="2" x="0" y="-2.54" visible="off" length="short" direction="pas" swaplevel="1" rot="R90"/>
</symbol>
</symbols>
<devicesets>
<deviceset name="10UF" prefix="C">
<description>
10.0µF ceramic capacitors

A capacitor is a passive two-terminal electrical component used to store electrical energy temporarily in an electric field.
</description>
<gates>
<gate name="G$1" symbol="CAP" x="0" y="0"/>
</gates>
<devices>
<device name="-0603-6.3V-20%" package="0603">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
</connects>
<technologies>
<technology name="">
<attribute name="PROD_ID" value="CAP-11015"/>
<attribute name="VALUE" value="10uF"/>
</technology>
</technologies>
</device>
<device name="-1206-6.3V-20%" package="1206">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
</connects>
<technologies>
<technology name="">
<attribute name="PROD_ID" value="CAP-10057"/>
<attribute name="VALUE" value="10uF"/>
</technology>
</technologies>
</device>
<device name="-0805-10V-10%" package="0805">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
</connects>
<technologies>
<technology name="">
<attribute name="PROD_ID" value="CAP-11330"/>
<attribute name="VALUE" value="10uF"/>
</technology>
</technologies>
</device>
<device name="-1210-50V-20%" package="1210">
<connects>
<connect gate="G$1" pin="1" pad="1"/>
<connect gate="G$1" pin="2" pad="2"/>
</connects>
<technologies>
<technology name="">
<attribute name="PROD_ID" value="CAP-09824"/>
<attribute name="VALUE" value="10uF"/>
</technology>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
</libraries>
<attributes>
<attribute name="CNAME" value="KBOT"/>
<attribute name="CREVISION" value="2.0"/>
<attribute name="DESIGNER" value="Y. LABBE & O. LEVEQUE"/>
</attributes>
<variantdefs>
</variantdefs>
<classes>
<class number="0" name="default" width="0" drill="0">
</class>
</classes>
<parts>
<part name="FRAME1" library="SparkFun-Aesthetics" deviceset="FRAME-A4L" device=""/>
<part name="B1" library="KROBOT" deviceset="ARDUINO_MEGA_R3" device="FULL"/>
<part name="SUPPLY1" library="SparkFun-PowerSymbols" deviceset="5V" device=""/>
<part name="GND1" library="SparkFun-PowerSymbols" deviceset="GND" device=""/>
<part name="RST" library="SparkFun-Switches" deviceset="MOMENTARY-SWITCH-SPST" device="-PTH-6.0MM"/>
<part name="START" library="SparkFun-Switches" deviceset="MOMENTARY-SWITCH-SPST" device="-PTH-6.0MM"/>
<part name="D1" library="SparkFun-LED" deviceset="LED-RED" device="1206" value="RED"/>
<part name="D2" library="SparkFun-LED" deviceset="LED-BLUE" device="1206" value="BLUE"/>
<part name="R1" library="SparkFun-Resistors" deviceset="RESISTOR" device="1206" value="470"/>
<part name="R2" library="SparkFun-Resistors" deviceset="RESISTOR" device="1206" value="470"/>
<part name="LED" library="SparkFun-Connectors" deviceset="CONN_05X2" device="SHD"/>
<part name="BTN" library="SparkFun-Connectors" deviceset="CONN_05X2" device="SHD"/>
<part name="SUPPLY2" library="SparkFun-PowerSymbols" deviceset="5V" device=""/>
<part name="GND2" library="SparkFun-PowerSymbols" deviceset="GND" device=""/>
<part name="BLUETOOTH" library="SparkFun-Connectors" deviceset="CONN_04" device=""/>
<part name="SERVO" library="SparkFun-Connectors" deviceset="CONN_03" device=""/>
<part name="I2C" library="SparkFun-Connectors" deviceset="CONN_04" device=""/>
<part name="MOT_LEFT" library="SparkFun-Connectors" deviceset="CONN_02" device=""/>
<part name="MOT_RIGHT" library="SparkFun-Connectors" deviceset="CONN_02" device=""/>
<part name="SUPPLY3" library="SparkFun-PowerSymbols" deviceset="5V" device=""/>
<part name="GND3" library="SparkFun-PowerSymbols" deviceset="GND" device=""/>
<part name="BUZZER" library="SparkFun-Electromechanical" deviceset="BUZZER" device="-PTH"/>
<part name="GND4" library="SparkFun-PowerSymbols" deviceset="GND" device=""/>
<part name="GND5" library="SparkFun-PowerSymbols" deviceset="GND" device=""/>
<part name="GND6" library="SparkFun-PowerSymbols" deviceset="GND" device=""/>
<part name="SHARP" library="KROBOT" deviceset="JST-PH3" device=""/>
<part name="ENC_LEFT" library="MrRobotics-Connectors" deviceset="JST-XH-04-PIN" device="-LONG-PAD"/>
<part name="ENC_RIGHT" library="MrRobotics-Connectors" deviceset="JST-XH-04-PIN" device="-LONG-PAD"/>
<part name="BATT" library="MrRobotics-Connectors" deviceset="JST-XH-04-PIN" device="-LONG-PAD"/>
<part name="POWER" library="MrRobotics-Connectors" deviceset="JST-XH-02-PIN" device="-LONG-PAD"/>
<part name="GND7" library="SparkFun-PowerSymbols" deviceset="GND" device=""/>
<part name="SUPPLY4" library="SparkFun-PowerSymbols" deviceset="5V" device=""/>
<part name="GND8" library="SparkFun-PowerSymbols" deviceset="GND" device=""/>
<part name="GND9" library="SparkFun-PowerSymbols" deviceset="GND" device=""/>
<part name="SUPPLY5" library="SparkFun-PowerSymbols" deviceset="5V" device=""/>
<part name="SUPPLY6" library="SparkFun-PowerSymbols" deviceset="5V" device=""/>
<part name="GND10" library="SparkFun-PowerSymbols" deviceset="GND" device=""/>
<part name="C1" library="SparkFun-Capacitors" deviceset="10UF" device="-1206-6.3V-20%" value="10uF"/>
<part name="SUPPLY7" library="SparkFun-PowerSymbols" deviceset="5V" device=""/>
<part name="GND11" library="SparkFun-PowerSymbols" deviceset="GND" device=""/>
<part name="GND12" library="SparkFun-PowerSymbols" deviceset="GND" device=""/>
<part name="SUPPLY8" library="SparkFun-PowerSymbols" deviceset="5V" device=""/>
<part name="GND13" library="SparkFun-PowerSymbols" deviceset="GND" device=""/>
<part name="SUPPLY9" library="SparkFun-PowerSymbols" deviceset="5V" device=""/>
<part name="R3" library="SparkFun-Resistors" deviceset="RESISTOR" device="1206" value="1k"/>
<part name="R4" library="SparkFun-Resistors" deviceset="RESISTOR" device="1206" value="2k"/>
<part name="R5" library="SparkFun-Resistors" deviceset="RESISTOR" device="1206" value="1k"/>
<part name="R6" library="SparkFun-Resistors" deviceset="RESISTOR" device="1206" value="1k"/>
<part name="R7" library="SparkFun-Resistors" deviceset="RESISTOR" device="1206" value="1k"/>
<part name="R8" library="SparkFun-Resistors" deviceset="RESISTOR" device="1206" value="1k"/>
</parts>
<sheets>
<sheet>
<plain>
<wire x1="7.62" y1="167.64" x2="114.3" y2="167.64" width="0.508" layer="97"/>
<wire x1="114.3" y1="167.64" x2="114.3" y2="132.08" width="0.508" layer="97"/>
<wire x1="114.3" y1="132.08" x2="7.62" y2="132.08" width="0.508" layer="97"/>
<wire x1="7.62" y1="132.08" x2="7.62" y2="167.64" width="0.508" layer="97"/>
<wire x1="7.62" y1="124.46" x2="114.3" y2="124.46" width="0.508" layer="97"/>
<wire x1="114.3" y1="124.46" x2="114.3" y2="93.98" width="0.508" layer="97"/>
<wire x1="114.3" y1="93.98" x2="7.62" y2="93.98" width="0.508" layer="97"/>
<wire x1="7.62" y1="93.98" x2="7.62" y2="124.46" width="0.508" layer="97"/>
<text x="7.62" y="170.18" size="3.81" layer="97">Motors</text>
<text x="7.62" y="127" size="3.81" layer="97">Extensions</text>
<wire x1="7.62" y1="86.36" x2="114.3" y2="86.36" width="0.508" layer="97"/>
<wire x1="114.3" y1="86.36" x2="114.3" y2="53.34" width="0.508" layer="97"/>
<wire x1="114.3" y1="53.34" x2="7.62" y2="53.34" width="0.508" layer="97"/>
<wire x1="7.62" y1="53.34" x2="7.62" y2="86.36" width="0.508" layer="97"/>
<wire x1="7.62" y1="45.72" x2="63.5" y2="45.72" width="0.508" layer="97"/>
<wire x1="63.5" y1="45.72" x2="63.5" y2="12.7" width="0.508" layer="97"/>
<wire x1="63.5" y1="12.7" x2="7.62" y2="12.7" width="0.508" layer="97"/>
<wire x1="7.62" y1="12.7" x2="7.62" y2="45.72" width="0.508" layer="97"/>
<text x="7.62" y="88.9" size="3.81" layer="97">Communications</text>
<text x="7.62" y="48.26" size="3.81" layer="97">Power</text>
<wire x1="71.12" y1="45.72" x2="170.18" y2="45.72" width="0.508" layer="97"/>
<wire x1="170.18" y1="45.72" x2="170.18" y2="12.7" width="0.508" layer="97"/>
<wire x1="170.18" y1="12.7" x2="71.12" y2="12.7" width="0.508" layer="97"/>
<wire x1="71.12" y1="12.7" x2="71.12" y2="45.72" width="0.508" layer="97"/>
<text x="71.12" y="48.26" size="3.81" layer="97">User Interface</text>
</plain>
<instances>
<instance part="FRAME1" gate="G$1" x="0" y="0"/>
<instance part="B1" gate="G$1" x="223.52" y="93.98"/>
<instance part="SUPPLY1" gate="G$1" x="200.66" y="157.48"/>
<instance part="GND1" gate="1" x="200.66" y="35.56"/>
<instance part="RST" gate="G$1" x="190.5" y="129.54" smashed="yes">
<attribute name="NAME" x="190.5" y="131.064" size="1.778" layer="95" font="vector" align="bottom-center"/>
</instance>
<instance part="START" gate="G$1" x="190.5" y="124.46" smashed="yes">
<attribute name="NAME" x="190.5" y="125.984" size="1.778" layer="95" font="vector" align="bottom-center"/>
</instance>
<instance part="D1" gate="G$1" x="215.9" y="154.94" rot="R90"/>
<instance part="D2" gate="G$1" x="246.38" y="144.78" rot="R90"/>
<instance part="R1" gate="G$1" x="228.6" y="154.94"/>
<instance part="R2" gate="G$1" x="256.54" y="144.78"/>
<instance part="LED" gate="G$1" x="142.24" y="30.48"/>
<instance part="BTN" gate="G$1" x="99.06" y="30.48"/>
<instance part="SUPPLY2" gate="G$1" x="111.76" y="38.1"/>
<instance part="GND2" gate="1" x="111.76" y="20.32"/>
<instance part="BLUETOOTH" gate="G$1" x="17.78" y="66.04"/>
<instance part="SERVO" gate="J$1" x="71.12" y="106.68"/>
<instance part="I2C" gate="G$1" x="73.66" y="68.58"/>
<instance part="MOT_LEFT" gate="G$1" x="15.24" y="154.94"/>
<instance part="MOT_RIGHT" gate="G$1" x="66.04" y="154.94"/>
<instance part="SUPPLY3" gate="G$1" x="91.44" y="111.76"/>
<instance part="GND3" gate="1" x="91.44" y="99.06"/>
<instance part="BUZZER" gate="G$1" x="182.88" y="68.58" smashed="yes">
<attribute name="NAME" x="180.34" y="73.406" size="1.778" layer="95" font="vector"/>
</instance>
<instance part="GND4" gate="1" x="182.88" y="63.5"/>
<instance part="GND5" gate="1" x="185.42" y="119.38"/>
<instance part="GND6" gate="1" x="261.62" y="139.7"/>
<instance part="SHARP" gate="G$1" x="15.24" y="106.68" smashed="yes" rot="MR180">
<attribute name="NAME" x="20.32" y="112.268" size="1.778" layer="95" font="vector" rot="MR0"/>
</instance>
<instance part="ENC_LEFT" gate="G$1" x="17.78" y="142.24" smashed="yes" rot="MR180">
<attribute name="NAME" x="12.7" y="149.352" size="1.778" layer="95" font="vector" rot="MR180"/>
</instance>
<instance part="ENC_RIGHT" gate="G$1" x="68.58" y="142.24" smashed="yes" rot="MR180">
<attribute name="NAME" x="63.5" y="149.352" size="1.778" layer="95" font="vector" rot="MR180"/>
</instance>
<instance part="BATT" gate="G$1" x="40.64" y="27.94" smashed="yes">
<attribute name="NAME" x="35.56" y="36.068" size="1.778" layer="95" font="vector"/>
</instance>
<instance part="POWER" gate="G$1" x="15.24" y="33.02" smashed="yes" rot="MR180">
<attribute name="NAME" x="12.7" y="37.592" size="1.778" layer="95" font="vector" rot="MR180" align="top-left"/>
</instance>
<instance part="GND7" gate="1" x="25.4" y="25.4"/>
<instance part="SUPPLY4" gate="G$1" x="25.4" y="35.56"/>
<instance part="GND8" gate="1" x="48.26" y="20.32"/>
<instance part="GND9" gate="1" x="76.2" y="142.24" rot="R90"/>
<instance part="SUPPLY5" gate="G$1" x="91.44" y="149.86"/>
<instance part="SUPPLY6" gate="G$1" x="40.64" y="149.86"/>
<instance part="GND10" gate="1" x="25.4" y="142.24" rot="R90"/>
<instance part="C1" gate="G$1" x="30.48" y="111.76" rot="R90"/>
<instance part="SUPPLY7" gate="G$1" x="25.4" y="116.84"/>
<instance part="GND11" gate="1" x="35.56" y="99.06"/>
<instance part="GND12" gate="1" x="93.98" y="60.96"/>
<instance part="SUPPLY8" gate="G$1" x="93.98" y="76.2"/>
<instance part="GND13" gate="1" x="45.72" y="66.04" rot="R90"/>
<instance part="SUPPLY9" gate="G$1" x="50.8" y="68.58"/>
<instance part="R3" gate="G$1" x="45.72" y="78.74"/>
<instance part="R4" gate="G$1" x="40.64" y="71.12" rot="R90"/>
<instance part="R5" gate="G$1" x="33.02" y="144.78" rot="R90"/>
<instance part="R6" gate="G$1" x="40.64" y="142.24" rot="R90"/>
<instance part="R7" gate="G$1" x="83.82" y="144.78" rot="R90"/>
<instance part="R8" gate="G$1" x="91.44" y="142.24" rot="R90"/>
</instances>
<busses>
</busses>
<nets>
<net name="GND" class="0">
<segment>
<pinref part="B1" gate="G$1" pin="GND@0"/>
<wire x1="205.74" y1="53.34" x2="200.66" y2="53.34" width="0.1524" layer="91"/>
<pinref part="GND1" gate="1" pin="GND"/>
<wire x1="200.66" y1="53.34" x2="200.66" y2="50.8" width="0.1524" layer="91"/>
<pinref part="B1" gate="G$1" pin="GND@1"/>
<wire x1="200.66" y1="50.8" x2="200.66" y2="48.26" width="0.1524" layer="91"/>
<wire x1="200.66" y1="48.26" x2="200.66" y2="45.72" width="0.1524" layer="91"/>
<wire x1="200.66" y1="45.72" x2="200.66" y2="43.18" width="0.1524" layer="91"/>
<wire x1="200.66" y1="43.18" x2="200.66" y2="38.1" width="0.1524" layer="91"/>
<wire x1="205.74" y1="50.8" x2="200.66" y2="50.8" width="0.1524" layer="91"/>
<pinref part="B1" gate="G$1" pin="GND@2"/>
<wire x1="205.74" y1="48.26" x2="200.66" y2="48.26" width="0.1524" layer="91"/>
<pinref part="B1" gate="G$1" pin="GND@3"/>
<wire x1="205.74" y1="45.72" x2="200.66" y2="45.72" width="0.1524" layer="91"/>
<pinref part="B1" gate="G$1" pin="GND@4"/>
<wire x1="205.74" y1="43.18" x2="200.66" y2="43.18" width="0.1524" layer="91"/>
<junction x="200.66" y="50.8"/>
<junction x="200.66" y="48.26"/>
<junction x="200.66" y="45.72"/>
<junction x="200.66" y="43.18"/>
</segment>
<segment>
<pinref part="BTN" gate="G$1" pin="6"/>
<wire x1="106.68" y1="30.48" x2="111.76" y2="30.48" width="0.1524" layer="91"/>
<wire x1="111.76" y1="30.48" x2="111.76" y2="27.94" width="0.1524" layer="91"/>
<pinref part="BTN" gate="G$1" pin="8"/>
<wire x1="111.76" y1="27.94" x2="111.76" y2="25.4" width="0.1524" layer="91"/>
<wire x1="111.76" y1="25.4" x2="111.76" y2="22.86" width="0.1524" layer="91"/>
<wire x1="106.68" y1="27.94" x2="111.76" y2="27.94" width="0.1524" layer="91"/>
<pinref part="BTN" gate="G$1" pin="10"/>
<wire x1="106.68" y1="25.4" x2="111.76" y2="25.4" width="0.1524" layer="91"/>
<junction x="111.76" y="27.94"/>
<junction x="111.76" y="25.4"/>
<pinref part="GND2" gate="1" pin="GND"/>
</segment>
<segment>
<pinref part="BUZZER" gate="G$1" pin="1"/>
<pinref part="GND4" gate="1" pin="GND"/>
</segment>
<segment>
<pinref part="RST" gate="G$1" pin="1"/>
<pinref part="GND5" gate="1" pin="GND"/>
<wire x1="185.42" y1="121.92" x2="185.42" y2="124.46" width="0.1524" layer="91"/>
<pinref part="START" gate="G$1" pin="1"/>
<wire x1="185.42" y1="124.46" x2="185.42" y2="129.54" width="0.1524" layer="91"/>
<junction x="185.42" y="124.46"/>
</segment>
<segment>
<pinref part="R1" gate="G$1" pin="2"/>
<wire x1="233.68" y1="154.94" x2="261.62" y2="154.94" width="0.1524" layer="91"/>
<wire x1="261.62" y1="154.94" x2="261.62" y2="144.78" width="0.1524" layer="91"/>
<pinref part="R2" gate="G$1" pin="2"/>
<wire x1="261.62" y1="144.78" x2="261.62" y2="142.24" width="0.1524" layer="91"/>
<junction x="261.62" y="144.78"/>
<pinref part="GND6" gate="1" pin="GND"/>
</segment>
<segment>
<wire x1="25.4" y1="30.48" x2="25.4" y2="27.94" width="0.1524" layer="91"/>
<pinref part="GND7" gate="1" pin="GND"/>
<pinref part="POWER" gate="G$1" pin="2"/>
<wire x1="22.86" y1="30.48" x2="25.4" y2="30.48" width="0.1524" layer="91"/>
</segment>
<segment>
<pinref part="BATT" gate="G$1" pin="1"/>
<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="22.86" width="0.1524" layer="91"/>
<pinref part="GND8" gate="1" pin="GND"/>
</segment>
<segment>
<pinref part="C1" gate="G$1" pin="2"/>
<wire x1="33.02" y1="111.76" x2="35.56" y2="111.76" width="0.1524" layer="91"/>
<wire x1="35.56" y1="111.76" x2="35.56" y2="106.68" width="0.1524" layer="91"/>
<pinref part="GND11" gate="1" pin="GND"/>
<pinref part="SHARP" gate="G$1" pin="2"/>
<wire x1="35.56" y1="106.68" x2="35.56" y2="101.6" width="0.1524" layer="91"/>
<wire x1="22.86" y1="106.68" x2="35.56" y2="106.68" width="0.1524" layer="91"/>
<junction x="35.56" y="106.68"/>
</segment>
<segment>
<pinref part="I2C" gate="G$1" pin="1"/>
<wire x1="78.74" y1="66.

license: MIT

license_type: permissive

branch_name: refs/heads/master


text:
04" x2="93.98" y2="66.04" width="0.1524" layer="91"/>
<wire x1="93.98" y1="66.04" x2="93.98" y2="63.5" width="0.1524" layer="91"/>
<pinref part="GND12" gate="1" pin="GND"/>
</segment>
<segment>
<pinref part="BLUETOOTH" gate="G$1" pin="2"/>
<wire x1="22.86" y1="66.04" x2="40.64" y2="66.04" width="0.1524" layer="91"/>
<pinref part="GND13" gate="1" pin="GND"/>
<pinref part="R4" gate="G$1" pin="1"/>
<wire x1="40.64" y1="66.04" x2="43.18" y2="66.04" width="0.1524" layer="91"/>
<junction x="40.64" y="66.04"/>
</segment>
<segment>
<pinref part="SERVO" gate="J$1" pin="1"/>
<pinref part="GND3" gate="1" pin="GND"/>
<wire x1="78.74" y1="104.14" x2="91.44" y2="104.14" width="0.1524" layer="91"/>
<wire x1="91.44" y1="104.14" x2="91.44" y2="101.6" width="0.1524" layer="91"/>
</segment>
<segment>
<pinref part="GND10" gate="1" pin="GND"/>
<pinref part="ENC_LEFT" gate="G$1" pin="2"/>
</segment>
<segment>
<pinref part="GND9" gate="1" pin="GND"/>
<pinref part="ENC_RIGHT" gate="G$1" pin="2"/>
</segment>
</net>
<net name="5V" class="0">
<segment>
<pinref part="SUPPLY1" gate="G$1" pin="5V"/>
<wire x1="200.66" y1="157.48" x2="200.66" y2="154.94" width="0.1524" layer="91"/>
<pinref part="B1" gate="G$1" pin="5V@2"/>
<wire x1="200.66" y1="154.94" x2="200.66" y2="142.24" width="0.1524" layer="91"/>
<wire x1="200.66" y1="142.24" x2="200.66" y2="139.7" width="0.1524" layer="91"/>
<wire x1="200.66" y1="139.7" x2="200.66" y2="137.16" width="0.1524" layer="91"/>
<wire x1="200.66" y1="137.16" x2="205.74" y2="137.16" width="0.1524" layer="91"/>
<pinref part="B1" gate="G$1" pin="5V@1"/>
<wire x1="200.66" y1="139.7" x2="205.74" y2="139.7" width="0.1524" layer="91"/>
<pinref part="B1" gate="G$1" pin="5V@0"/>
<wire x1="205.74" y1="142.24" x2="200.66" y2="142.24" width="0.1524" layer="91"/>
<junction x="200.66" y="139.7"/>
<junction x="200.66" y="142.24"/>
<pinref part="D1" gate="G$1" pin="A"/>
<wire x1="200.66" y1="154.94" x2="213.36" y2="154.94" width="0.1524" layer="91"/>
<junction x="200.66" y="154.94"/>
</segment>
<segment>
<pinref part="BTN" gate="G$1" pin="4"/>
<wire x1="106.68" y1="33.02" x2="111.76" y2="33.02" width="0.1524" layer="91"/>
<wire x1="111.76" y1="33.02" x2="111.76" y2="35.56" width="0.1524" layer="91"/>
<pinref part="BTN" gate="G$1" pin="2"/>
<wire x1="111.76" y1="35.56" x2="111.76" y2="38.1" width="0.1524" layer="91"/>
<wire x1="106.68" y1="35.56" x2="111.76" y2="35.56" width="0.1524" layer="91"/>
<junction x="111.76" y="35.56"/>
<pinref part="SUPPLY2" gate="G$1" pin="5V"/>
</segment>
<segment>
<wire x1="25.4" y1="33.02" x2="25.4" y2="35.56" width="0.1524" layer="91"/>
<pinref part="SUPPLY4" gate="G$1" pin="5V"/>
<pinref part="POWER" gate="G$1" pin="1"/>
<wire x1="22.86" y1="33.02" x2="25.4" y2="33.02" width="0.1524" layer="91"/>
</segment>
<segment>
<wire x1="25.4" y1="109.22" x2="25.4" y2="111.76" width="0.1524" layer="91"/>
<pinref part="C1" gate="G$1" pin="1"/>
<junction x="25.4" y="111.76"/>
<wire x1="25.4" y1="111.76" x2="25.4" y2="116.84" width="0.1524" layer="91"/>
<pinref part="SUPPLY7" gate="G$1" pin="5V"/>
<pinref part="SHARP" gate="G$1" pin="1"/>
<wire x1="22.86" y1="109.22" x2="25.4" y2="109.22" width="0.1524" layer="91"/>
</segment>
<segment>
<pinref part="I2C" gate="G$1" pin="2"/>
<wire x1="78.74" y1="68.58" x2="93.98" y2="68.58" width="0.1524" layer="91"/>
<wire x1="93.98" y1="68.58" x2="93.98" y2="76.2" width="0.1524" layer="91"/>
<pinref part="SUPPLY8" gate="G$1" pin="5V"/>
</segment>
<segment>
<pinref part="BLUETOOTH" gate="G$1" pin="1"/>
<wire x1="22.86" y1="63.5" x2="50.8" y2="63.5" width="0.1524" layer="91"/>
<wire x1="50.8" y1="63.5" x2="50.8" y2="68.58" width="0.1524" layer="91"/>
<pinref part="SUPPLY9" gate="G$1" pin="5V"/>
</segment>
<segment>
<wire x1="27.94" y1="144.78" x2="27.94" y2="149.86" width="0.1524" layer="91"/>
<pinref part="R5" gate="G$1" pin="2"/>
<wire x1="27.94" y1="149.86" x2="33.02" y2="149.86" width="0.1524" layer="91"/>
<pinref part="SUPPLY6" gate="G$1" pin="5V"/>
<wire x1="33.02" y1="149.86" x2="40.64" y2="149.86" width="0.1524" layer="91"/>
<pinref part="R6" gate="G$1" pin="2"/>
<wire x1="40.64" y1="149.86" x2="40.64" y2="147.32" width="0.1524" layer="91"/>
<junction x="33.02" y="149.86"/>
<junction x="40.64" y="149.86"/>
<pinref part="ENC_LEFT" gate="G$1" pin="1"/>
<wire x1="22.86" y1="144.78" x2="27.94" y2="144.78" width="0.1524" layer="91"/>
</segment>
<segment>
<wire x1="78.74" y1="144.78" x2="78.74" y2="149.86" width="0.1524" layer="91"/>
<pinref part="R7" gate="G$1" pin="2"/>
<wire x1="78.74" y1="149.86" x2="83.82" y2="149.86" width="0.1524" layer="91"/>
<wire x1="83.82" y1="149.86" x2="91.44" y2="149.86" width="0.1524" layer="91"/>
<pinref part="R8" gate="G$1" pin="2"/>
<wire x1="91.44" y1="149.86" x2="91.44" y2="147.32" width="0.1524" layer="91"/>
<pinref part="SUPPLY5" gate="G$1" pin="5V"/>
<junction x="91.44" y="149.86"/>
<junction x="83.82" y="149.86"/>
<pinref part="ENC_RIGHT" gate="G$1" pin="1"/>
<wire x1="73.66" y1="144.78" x2="78.74" y2="144.78" width="0.1524" layer="91"/>
</segment>
<segment>
<pinref part="SERVO" gate="J$1" pin="2"/>
<pinref part="SUPPLY3" gate="G$1" pin="5V"/>
<wire x1="78.74" y1="106.68" x2="91.44" y2="106.68" width="0.1524" layer="91"/>
<wire x1="91.44" y1="106.68" x2="91.44" y2="111.76" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$1" class="0">
<segment>
<pinref part="RST" gate="G$1" pin="2"/>
<pinref part="B1" gate="G$1" pin="RESET"/>
<wire x1="195.58" y1="129.54" x2="205.74" y2="129.54" width="0.1524" layer="91"/>
</segment>
</net>
<net name="ENC1_A" class="0">
<segment>
<label x="45.72" y="139.7" size="1.778" layer="95"/>
<pinref part="R5" gate="G$1" pin="1"/>
<wire x1="33.02" y1="139.7" x2="45.72" y2="139.7" width="0.1524" layer="91"/>
<pinref part="ENC_LEFT" gate="G$1" pin="3"/>
<wire x1="22.86" y1="139.7" x2="33.02" y2="139.7" width="0.1524" layer="91"/>
<junction x="33.02" y="139.7"/>
</segment>
<segment>
<pinref part="B1" gate="G$1" pin="3"/>
<wire x1="205.74" y1="78.74" x2="203.2" y2="78.74" width="0.1524" layer="91"/>
<label x="203.2" y="78.74" size="1.778" layer="95" rot="R180"/>
</segment>
</net>
<net name="ENC1_B" class="0">
<segment>
<label x="45.72" y="137.16" size="1.778" layer="95"/>
<pinref part="R6" gate="G$1" pin="1"/>
<wire x1="40.64" y1="137.16" x2="45.72" y2="137.16" width="0.1524" layer="91"/>
<pinref part="ENC_LEFT" gate="G$1" pin="4"/>
<wire x1="22.86" y1="137.16" x2="40.64" y2="137.16" width="0.1524" layer="91"/>
<junction x="40.64" y="137.16"/>
</segment>
<segment>
<pinref part="B1" gate="G$1" pin="2"/>
<wire x1="205.74" y1="81.28" x2="203.2" y2="81.28" width="0.1524" layer="91"/>
<label x="203.2" y="81.28" size="1.778" layer="95" rot="R180"/>
</segment>
</net>
<net name="ENC2_A" class="0">
<segment>
<pinref part="B1" gate="G$1" pin="18(TX1)"/>
<wire x1="241.3" y1="132.08" x2="243.84" y2="132.08" width="0.1524" layer="91"/>
<label x="243.84" y="132.08" size="1.778" layer="95"/>
</segment>
<segment>
<label x="96.52" y="139.7" size="1.778" layer="95"/>
<pinref part="R7" gate="G$1" pin="1"/>
<wire x1="83.82" y1="139.7" x2="96.52" y2="139.7" width="0.1524" layer="91"/>
<pinref part="ENC_RIGHT" gate="G$1" pin="3"/>
<wire x1="73.66" y1="139.7" x2="83.82" y2="139.7" width="0.1524" layer="91"/>
<junction x="83.82" y="139.7"/>
</segment>
</net>
<net name="ENC2_B" class="0">
<segment>
<pinref part="B1" gate="G$1" pin="19(RX1)"/>
<wire x1="241.3" y1="129.54" x2="243.84" y2="129.54" width="0.1524" layer="91"/>
<label x="243.84" y="129.54" size="1.778" layer="95"/>
</segment>
<segment>
<label x="96.52" y="137.16" size="1.778" layer="95"/>
<pinref part="R8" gate="G$1" pin="1"/>
<wire x1="91.44" y1="137.16" x2="96.52" y2="137.16" width="0.1524" layer="91"/>
<pinref part="ENC_RIGHT" gate="G$1" pin="4"/>
<wire x1="73.66" y1="137.16" x2="91.44" y2="137.16" width="0.1524" layer="91"/>
<junction x="91.44" y="137.16"/>
</segment>
</net>
<net name="I2C_SDA" class="0">
<segment>
<pinref part="B1" gate="G$1" pin="20(SDA)"/>
<wire x1="241.3" y1="127" x2="243.84" y2="127" width="0.1524" layer="91"/>
<label x="243.84" y="127" size="1.778" layer="95"/>
</segment>
<segment>
<pinref part="I2C" gate="G$1" pin="3"/>
<wire x1="78.74" y1="71.12" x2="81.28" y2="71.12" width="0.1524" layer="91"/>
<label x="81.28" y="71.12" size="1.778" layer="95"/>
</segment>
</net>
<net name="I2C_SCL" class="0">
<segment>
<pinref part="B1" gate="G$1" pin="21(SCL)"/>
<wire x1="241.3" y1="124.46" x2="243.84" y2="124.46" width="0.1524" layer="91"/>
<label x="243.84" y="124.46" size="1.778" layer="95"/>
</segment>
<segment>
<pinref part="I2C" gate="G$1" pin="4"/>
<wire x1="78.74" y1="73.66" x2="81.28" y2="73.66" width="0.1524" layer="91"/>
<label x="81.28" y="73.66" size="1.778" layer="95"/>
</segment>
</net>
<net name="MOT2_2" class="0">
<segment>
<pinref part="MOT_RIGHT" gate="G$1" pin="2"/>
<wire x1="73.66" y1="157.48" x2="76.2" y2="157.48" width="0.1524" layer="91"/>
<label x="76.2" y="157.48" size="1.778" layer="95"/>
</segment>
<segment>
<pinref part="B1" gate="G$1" pin="9"/>
<wire x1="205.74" y1="63.5" x2="203.2" y2="63.5" width="0.1524" layer="91"/>
<label x="203.2" y="63.5" size="1.778" layer="95" rot="R180"/>
</segment>
</net>
<net name="MOT2_1" class="0">
<segment>
<pinref part="MOT_RIGHT" gate="G$1" pin="1"/>
<wire x1="73.66" y1="154.94" x2="76.2" y2="154.94" width="0.1524" layer="91"/>
<label x="76.2" y="154.94" size="1.778" layer="95"/>
</segment>
<segment>
<pinref part="B1" gate="G$1" pin="10"/>
<wire x1="205.74" y1="60.96" x2="203.2" y2="60.96" width="0.1524" layer="91"/>
<label x="203.2" y="60.96" size="1.778" layer="95" rot="R180"/>
</segment>
</net>
<net name="MOT1_1" class="0">
<segment>
<pinref part="MOT_LEFT" gate="G$1" pin="1"/>
<wire x1="22.86" y1="154.94" x2="25.4" y2="154.94" width="0.1524" layer="91"/>
<label x="25.4" y="154.94" size="1.778" layer="95"/>
</segment>
<segment>
<pinref part="B1" gate="G$1" pin="12"/>
<wire x1="205.74" y1="55.88" x2="200.66" y2="55.88" width="0.1524" layer="91"/>
<label x="200.66" y="55.88" size="1.778" layer="95" rot="R180"/>
</segment>
</net>
<net name="MOT1_2" class="0">
<segment>
<pinref part="MOT_LEFT" gate="G$1" pin="2"/>
<wire x1="22.86" y1="157.48" x2="25.4" y2="157.48" width="0.1524" layer="91"/>
<label x="25.4" y="157.48" size="1.778" layer="95"/>
</segment>
<segment>
<pinref part="B1" gate="G$1" pin="11"/>
<wire x1="205.74" y1="58.42" x2="200.66" y2="58.42" width="0.1524" layer="91"/>
<label x="200.66" y="58.42" size="1.778" layer="95" rot="R180"/>
</segment>
</net>
<net name="SHARP" class="0">
<segment>
<pinref part="SHARP" gate="G$1" pin="3"/>
<wire x1="22.86" y1="104.14" x2="25.4" y2="104.14" width="0.1524" layer="91"/>
<label x="25.4" y="104.14" size="1.778" layer="95"/>
</segment>
<segment>
<pinref part="B1" gate="G$1" pin="A7"/>
<wire x1="205.74" y1="109.22" x2="203.2" y2="109.22" width="0.1524" layer="91"/>
<label x="203.2" y="109.22" size="1.778" layer="95" rot="R180"/>
</segment>
</net>
<net name="BUZZER" class="0">
<segment>
<pinref part="B1" gate="G$1" pin="8"/>
<pinref part="BUZZER" gate="G$1" pin="2"/>
<wire x1="185.42" y1="66.04" x2="205.74" y2="66.04" width="0.1524" layer="91"/>
</segment>
</net>
<net name="SERVO" class="0">
<segment>
<pinref part="B1" gate="G$1" pin="5"/>
<wire x1="205.74" y1="73.66" x2="203.2" y2="73.66" width="0.1524" layer="91"/>
<label x="203.2" y="73.66" size="1.778" layer="95" rot="R180"/>
</segment>
<segment>
<pinref part="SERVO" gate="J$1" pin="3"/>
<wire x1="78.74" y1="109.22" x2="81.28" y2="109.22" width="0.1524" layer="91"/>
<label x="81.28" y="109.22" size="1.778" layer="95"/>
</segment>
</net>
<net name="UI_LED0" class="0">
<segment>
<pinref part="LED" gate="G$1" pin="1"/>
<wire x1="134.62" y1="35.56" x2="132.08" y2="35.56" width="0.1524" layer="91"/>
<label x="132.08" y="35.56" size="1.778" layer="95" rot="R180"/>
</segment>
<segment>
<pinref part="B1" gate="G$1" pin="47"/>
<wire x1="241.3" y1="58.42" x2="243.84" y2="58.42" width="0.1524" layer="91"/>
<label x="243.84" y="58.42" size="1.778" layer="95"/>
</segment>
</net>
<net name="UI_LED1" class="0">
<segment>
<pinref part="LED" gate="G$1" pin="3"/>
<wire x1="134.62" y1="33.02" x2="132.08" y2="33.02" width="0.1524" layer="91"/>
<label x="132.08" y="33.02" size="1.778" layer="95" rot="R180"/>
</segment>
<segment>
<pinref part="B1" gate="G$1" pin="45"/>
<wire x1="241.3" y1="63.5" x2="243.84" y2="63.5" width="0.1524" layer="91"/>
<label x="243.84" y="63.5" size="1.778" layer="95"/>
</segment>
</net>
<net name="UI_LED2" class="0">
<segment>
<pinref part="LED" gate="G$1" pin="5"/>
<wire x1="134.62" y1="30.48" x2="132.08" y2="30.48" width="0.1524" layer="91"/>
<label x="132.08" y="30.48" size="1.778" layer="95" rot="R180"/>
</segment>
<segment>
<pinref part="B1" gate="G$1" pin="43"/>
<wire x1="241.3" y1="68.58" x2="243.84" y2="68.58" width="0.1524" layer="91"/>
<label x="243.84" y="68.58" size="1.778" layer="95"/>
</segment>
</net>
<net name="UI_LED3" class="0">
<segment>
<pinref part="LED" gate="G$1" pin="7"/>
<wire x1="134.62" y1="27.94" x2="132.08" y2="27.94" width="0.1524" layer="91"/>
<label x="132.08" y="27.94" size="1.778" layer="95" rot="R180"/>
</segment>
<segment>
<pinref part="B1" gate="G$1" pin="41"/>
<wire x1="241.3" y1="73.66" x2="243.84" y2="73.66" width="0.1524" layer="91"/>
<label x="243.84" y="73.66" size="1.778" layer="95"/>
</segment>
</net>
<net name="UI_LED4" class="0">
<segment>
<pinref part="LED" gate="G$1" pin="9"/>
<wire x1="134.62" y1="25.4" x2="132.08" y2="25.4" width="0.1524" layer="91"/>
<label x="132.08" y="25.4" size="1.778" layer="95" rot="R180"/>
</segment>
<segment>
<pinref part="B1" gate="G$1" pin="39"/>
<wire x1="241.3" y1="78.74" x2="243.84" y2="78.74" width="0.1524" layer="91"/>
<label x="243.84" y="78.74" size="1.778" layer="95"/>
</segment>
</net>
<net name="UI_LED5" class="0">
<segment>
<pinref part="LED" gate="G$1" pin="10"/>
<wire x1="149.86" y1="25.4" x2="152.4" y2="25.4" width="0.1524" layer="91"/>
<label x="152.4" y="25.4" size="1.778" layer="95"/>
</segment>
<segment>
<pinref part="B1" gate="G$1" pin="38"/>
<wire x1="241.3" y1="81.28" x2="243.84" y2="81.28" width="0.1524" layer="91"/>
<label x="243.84" y="81.28" size="1.778" layer="95"/>
</segment>
</net>
<net name="UI_LED6" class="0">
<segment>
<pinref part="LED" gate="G$1" pin="8"/>
<wire x1="149.86" y1="27.94" x2="152.4" y2="27.94" width="0.1524" layer="91"/>
<label x="152.4" y="27.94" size="1.778" layer="95"/>
</segment>
<segment>
<pinref part="B1" gate="G$1" pin="40"/>
<wire x1="241.3" y1="76.2" x2="243.84" y2="76.2" width="0.1524" layer="91"/>
<label x="243.84" y="76.2" size="1.778" layer="95"/>
</segment>
</net>
<net name="UI_LED8" class="0">
<segment>
<pinref part="LED" gate="G$1" pin="4"/>
<wire x1="149.86" y1="33.02" x2="152.4" y2="33.02" width="0.1524" layer="91"/>
<label x="152.4" y="33.02" size="1.778" layer="95"/>
</segment>
<segment>
<pinref part="B1" gate="G$1" pin="44"/>
<wire x1="241.3" y1="66.04" x2="243.84" y2="66.04" width="0.1524" layer="91"/>
<label x="243.84" y="66.04" size="1.778" layer="95"/>
</segment>
</net>
<net name="UI_LED9" class="0">
<segment>
<pinref part="LED" gate="G$1" pin="2"/>
<wire x1="149.86" y1="35.56" x2="152.4" y2="35.56" width="0.1524" layer="91"/>
<label x="152.4" y="35.56" size="1.778" layer="95"/>
</segment>
<segment>
<pinref part="B1" gate="G$1" pin="46"/>
<wire x1="241.3" y1="60.96" x2="243.84" y2="60.96" width="0.1524" layer="91"/>
<label x="243.84" y="60.96" size="1.778" layer="95"/>
</segment>
</net>
<net name="UI_LED7" class="0">
<segment>
<pinref part="LED" gate="G$1" pin="6"/>
<wire x1="149.86" y1="30.48" x2="152.4" y2="30.48" width="0.1524" layer="91"/>
<label x="152.4" y="30.48" size="1.778" layer="95"/>
</segment>
<segment>
<pinref part="B1" gate="G$1" pin="42"/>
<wire x1="241.3" y1="71.12" x2="243.84" y2="71.12" width="0.1524" layer="91"/>
<label x="243.84" y="71.12" size="1.778" layer="95"/>
</segment>
</net>
<net name="BT_TX" class="0">
<segment>
<pinref part="B1" gate="G$1" pin="16(TX2)"/>
<wire x1="241.3" y1="137.16" x2="243.84" y2="137.16" width="0.1524" layer="91"/>
<label x="243.84" y="137.16" size="1.778" layer="95"/>
</segment>
<segment>
<pinref part="R3" gate="G$1" pin="2"/>
<wire x1="50.8" y1="78.74" x2="53.34" y2="78.74" width="0.1524" layer="91"/>
<label x="53.34" y="78.74" size="1.778" layer="95"/>
</segment>
</net>
<net name="BT_RX" class="0">
<segment>
<pinref part="B1" gate="G$1" pin="17(RX2)"/>
<wire x1="241.3" y1="134.62" x2="243.84" y2="134.62" width="0.1524" layer="91"/>
<label x="243.84" y="134.62" size="1.778" layer="95"/>
</segment>
<segment>
<pinref part="BLUETOOTH" gate="G$1" pin="3"/>
<wire x1="22.86" y1="68.58" x2="25.4" y2="68.58" width="0.1524" layer="91"/>
<label x="25.4" y="68.58" size="1.778" layer="95"/>
</segment>
</net>
<net name="S1" class="0">
<segment>
<pinref part="B1" gate="G$1" pin="A4"/>
<wire x1="205.74" y1="116.84" x2="203.2" y2="116.84" width="0.1524" layer="91"/>
<label x="203.2" y="116.84" size="1.778" layer="95" rot="R180"/>
</segment>
<segment>
<pinref part="BATT" gate="G$1" pin="2"/>
<wire x1="45.72" y1="27.94" x2="48.26" y2="27.94" width="0.1524" layer="91"/>
<label x="48.26" y="27.94" size="1.778" layer="95"/>
</segment>
</net>
<net name="S2" class="0">
<segment>
<pinref part="B1" gate="G$1" pin="A5"/>
<wire x1="205.74" y1="114.3" x2="203.2" y2="114.3" width="0.1524" layer="91"/>
<label x="203.2" y="114.3" size="1.778" layer="95" rot="R180"/>
</segment>
<segment>
<pinref part="BATT" gate="G$1" pin="3"/>
<wire x1="45.72" y1="30.48" x2="48.26" y2="30.48" width="0.1524" layer="91"/>
<label x="48.26" y="30.48" size="1.778" layer="95"/>
</segment>
</net>
<net name="S3" class="0">
<segment>
<pinref part="B1" gate="G$1" pin="A6"/>
<wire x1="205.74" y1="111.76" x2="203.2" y2="111.76" width="0.1524" layer="91"/>
<label x="203.2" y="111.76" size="1.778" layer="95" rot="R180"/>
</segment>
<segment>
<pinref part="BATT" gate="G$1" pin="4"/>
<wire x1="45.72" y1="33.02" x2="48.26" y2="33.02" width="0.1524" layer="91"/>
<label x="48.26" y="33.02" size="1.778" layer="95"/>
</segment>
</net>
<net name="N$2" class="0">
<segment>
<pinref part="D1" gate="G$1" pin="C"/>
<pinref part="R1" gate="G$1" pin="1"/>
<wire x1="220.98" y1="154.94" x2="223.52" y2="154.94" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$3" class="0">
<segment>
<pinref part="B1" gate="G$1" pin="13"/>
<pinref part="D2" gate="G$1" pin="A"/>
<wire x1="241.3" y1="144.78" x2="243.84" y2="144.78" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$4" class="0">
<segment>
<pinref part="D2" gate="G$1" pin="C"/>
<pinref part="R2" gate="G$1" pin="1"/>
</segment>
</net>
<net name="N$5" class="0">
<segment>
<pinref part="BLUETOOTH" gate="G$1" pin="4"/>
<wire x1="22.86" y1="71.12" x2="35.56" y2="71.12" width="0.1524" layer="91"/>
<wire x1="35.56" y1="71.12" x2="35.56" y2="78.74" width="0.1524" layer="91"/>
<pinref part="R4" gate="G$1" pin="2"/>
<wire x1="35.56" y1="78.74" x2="40.64" y2="78.74" width="0.1524" layer="91"/>
<pinref part="R3" gate="G$1" pin="1"/>
<junction x="40.64" y="78.74"/>
<wire x1="40.64" y1="78.74" x2="40.64" y2="76.2" width="0.1524" layer="91"/>
</segment>
</net>
<net name="N$6" class="0">
<segment>
<pinref part="B1" gate="G$1" pin="A1(TX0)"/>
<pinref part="START" gate="G$1" pin="2"/>
<wire x1="195.58" y1="124.46" x2="205.74" y2="124.46" width="0.1524" layer="91"/>
</segment>
</net>
<net name="BTN_UP" class="0">
<segment>
<pinref part="BTN" gate="G$1" pin="1"/>
<wire x1="91.44" y1="35.56" x2="88.9" y2="35.56" width="0.1524" layer="91"/>
<label x="88.9" y="35.56" size="1.778" layer="95" rot="R180"/>
</segment>
<segment>
<pinref part="B1" gate="G$1" pin="A9"/>
<wire x1="205.74" y1="104.14" x2="203.2" y2="104.14" width="0.1524" layer="91"/>
<label x="203.2" y="104.14" size="1.778" layer="95" rot="R180"/>
</segment>
</net>
<net name="BTN_DOWN" class="0">
<segment>
<pinref part="BTN" gate="G$1" pin="3"/>
<wire x1="91.44" y1="33.02" x2="88.9" y2="33.02" width="0.1524" layer="91"/>
<label x="88.9" y="33.02" size="1.778" layer="95" rot="R180"/>
</segment>
<segment>
<pinref part="B1" gate="G$1" pin="A10"/>
<wire x1="205.74" y1="101.6" x2="203.2" y2="101.6" width="0.1524" layer="91"/>
<label x="203.2" y="101.6" size="1.778" layer="95" rot="R180"/>
</segment>
</net>
<net name="BTN_LEFT" class="0">
<segment>
<pinref part="BTN" gate="G$1" pin="7"/>
<wire x1="91.44" y1="27.94" x2="88.9" y2="27.94" width="0.1524" layer="91"/>
<label x="88.9" y="27.94" size="1.778" layer="95" rot="R180"/>
</segment>
<segment>
<pinref part="B1" gate="G$1" pin="A12"/>
<wire x1="205.74" y1="96.52" x2="203.2" y2="96.52" width="0.1524" layer="91"/>
<label x="203.2" y="96.52" size="1.778" layer="95" rot="R180"/>
</segment>
</net>
<net name="BTN_RIGHT" class="0">
<segment>
<pinref part="BTN" gate="G$1" pin="9"/>
<wire x1="91.44" y1="25.4" x2="88.9" y2="25.4" width="0.1524" layer="91"/>
<label x="88.9" y="25.4" size="1.778" layer="95" rot="R180"/>
</segment>
<segment>
<pinref part="B1" gate="G$1" pin="A13"/>
<wire x1="205.74" y1="93.98" x2="203.2" y2="93.98" width="0.1524" layer="91"/>
<label x="203.2" y="93.98" size="1.778" layer="95" rot="R180"/>
</segment>
</net>
<net name="BTN_CENTER" class="0">
<segment>
<pinref part="BTN" gate="G$1" pin="5"/>
<wire x1="91.44" y1="30.48" x2="88.9" y2="30.48" width="0.1524" layer="91"/>
<label x="88.9" y="30.48" size="1.778" layer="95" rot="R180"/>
</segment>
<segment>
<pinref part="B1" gate="G$1" pin="A11"/>
<wire x1="205.74" y1="99.06" x2="203.2" y2="99.06" width="0.1524" layer="91"/>
<label x="203.2" y="99.06" size="1.778" layer="95" rot="R180"/>
</segment>
</net>
</nets>
</sheet>
</sheets>
</schematic>
</drawing>
</eagle>

repository: oleveque/KBOT

repo_name: oleveque/KBOT

extension: sch

filename: Propulsion Shield.sch


text:
Automatically generated by Mendeley Desktop 1.19.4
Any changes to this file will be lost if it is regenerated by Mendeley.

BibTeX export options can be customized via Preferences -> BibTeX in Mendeley Desktop

@article{Xiong2015,
author = {Xiong, Hui Y and Alipanahi, Babak and Lee, Leo J and Bretschneider, Hannes and Merico, Daniele and Yuen, Ryan K C and Hua, Yimin and Gueroussov, Serge and Najafabadi, Hamed S and Hughes, Timothy R and Morris, Quaid and Barash, Yoseph and Krainer, Adrian R and Jojic, Nebojsa and Scherer, Stephen W and Blencowe, Benjamin J and Frey, Brendan J},
doi = {10.1126/science.1254806},
file = {:Users/sepmein/Qsync/Papers/Xiong et al.{\_}2015{\_}Determinants of Disease.pdf:pdf},
issn = {0036-8075},
number = {6218},
pmid = {25525159},
title = {{Determinants of Disease}},
volume = {347},
year = {2015}
}

license: Unlicense

repository: sepmein/references

repo_name: sepmein/references

extension: bib


text:
// Code generated by entc, DO NOT EDIT.

package ent

import (
	"context"
	"fmt"

	"github.com/facebook/ent/dialect/sql"
	"github.com/facebook/ent/dialect/sql/sqlgraph"
	"github.com/facebook/ent/schema/field"
	"github.com/gobench-io/gobench/ent/application"
	"github.com/gobench-io/gobench/ent/graph"
	"github.com/gobench-io/gobench/ent/group"
	"github.com/gobench-io/gobench/ent/predicate"
)

// GroupUpdate is the builder for updating Group entities.
type GroupUpdate struct {
	config
	hooks      []Hook
	mutation   *GroupMutation
	predicates []predicate.Group
}

// Where adds a new predicate for the builder.
func (gu *GroupUpdate) Where(ps ...predicate.Group) *GroupUpdate {
	gu.predicates = append(gu.predicates, ps...)
	return gu
}

// SetApplicationID sets the application edge to Application by id.
func (gu *GroupUpdate) SetApplicationID(id int) *GroupUpdate {
	gu.mutation.SetApplicationID(id)
	return gu
}

// SetNillableApplicationID sets the application edge to Application by id if the given value is not nil.
func (gu *GroupUpdate) SetNillableApplicationID(id *int) *GroupUpdate {
	if id != nil {
		gu = gu.SetApplicationID(*id)
	}
	return gu
}

// SetApplication sets the application edge to Application.
func (gu *GroupUpdate) SetApplication(a *Application) *GroupUpdate {
	return gu.SetApplicationID(a.ID)
}

// AddGraphIDs adds the graphs edge to Graph by ids.
func (gu *GroupUpdate) AddGraphIDs(ids ...int) *GroupUpdate {
	gu.mutation.AddGraphIDs(ids...)
	return gu
}

// AddGraphs adds the graphs edges to Graph.
func (gu *GroupUpdate) AddGraphs(g ...*Graph) *GroupUpdate {
	ids := make([]int, len(g))
	for i := range g {
		ids[i] = g[i].ID
	}
	return gu.AddGraphIDs(ids...)
}

// Mutation returns the GroupMutation object of the builder.
func (gu *GroupUpdate) Mutation() *GroupMutation {
	return gu.mutation
}

// ClearApplication clears the "application" edge to type Application.
func (gu *GroupUpdate) ClearApplication() *GroupUpdate {
	gu.mutation.ClearApplication()
	return gu
}

// ClearGraphs clears all "graphs" edges to type Graph.
func (gu *GroupUpdate) ClearGraphs() *GroupUpdate {
	gu.mutation.ClearGraphs()
	return gu
}

// RemoveGraphIDs removes the graphs edge to Graph by ids.
func (gu *GroupUpdate) RemoveGraphIDs(ids ...int) *GroupUpdate {
	gu.mutation.RemoveGraphIDs(ids...)
	return gu
}

// RemoveGraphs removes graphs edges to Graph.
func (gu *GroupUpdate) RemoveGraphs(g ...*Graph) *GroupUpdate {
	ids := make([]int, len(g))
	for i := range g {
		ids[i] = g[i].ID
	}
	return gu.RemoveGraphIDs(ids...)
}

// Save executes the query and returns the number of rows/vertices matched by this operation.
func (gu *GroupUpdate) Save(ctx context.Context) (int, error) {
	var (
		err      error
		affected int
	)
	if len(gu.hooks) == 0 {
		affected, err = gu.sqlSave(ctx)
	} else {
		var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) {
			mutation, ok := m.(*GroupMutation)
			if !ok {
				return nil, fmt.Errorf("unexpected mutation type %T", m)
			}
			gu.mutation = mutation
			affected, err = gu.sqlSave(ctx)
			mutation.done = true
			return affected, err
		})
		for i := len(gu.hooks) - 1; i >= 0; i-- {
			mut = gu.hooks[i](mut)
		}
		if _, err := mut.Mutate(ctx, gu.mutation); err != nil {
			return 0, err
		}
	}
	return affected, err
}

// SaveX is like Save, but panics if an error occurs.
func (gu *GroupUpdate) SaveX(ctx context.Context) int {
	affected, err := gu.Save(ctx)
	if err != nil {
		panic(err)
	}
	return affected
}

// Exec executes the query.
func (gu *GroupUpdate) Exec(ctx context.Context) error {
	_, err := gu.Save(ctx)
	return err
}

// ExecX is like Exec, but panics if an error occurs.
func (gu *GroupUpdate) ExecX(ctx context.Context) {
	if err := gu.Exec(ctx); err != nil {
		panic(err)
	}
}

func (gu *GroupUpdate) sqlSave(ctx context.Context) (n int, err error) {
	_spec := &sqlgraph.UpdateSpec{
		Node: &sqlgraph.NodeSpec{
			Table:   group.Table,
			Columns: group.Columns,
			ID: &sqlgraph.FieldSpec{
				Type:   field.TypeInt,
				Column: group.FieldID,
			},
		},
	}
	if ps := gu.predicates; len(ps) > 0 {
		_spec.Predicate = func(selector *sql.Selector) {
			for i := range ps {
				ps[i](selector)
			}
		}
	}
	if gu.mutation.ApplicationCleared() {
		edge := &sqlgraph.EdgeSpec{
			Rel:     sqlgraph.M2O,
			Inverse: true,
			Table:   group.ApplicationTable,
			Columns: []string{group.ApplicationColumn},
			Bidi:    false,
			Target: &sqlgraph.EdgeTarget{
				IDSpec: &sqlgraph.FieldSpec{
					Type:   field.TypeInt,
					Column: application.FieldID,
				},
			},
		}
		_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
	}
	if nodes := gu.mutation.ApplicationIDs(); len(nodes) > 0 {
		edge := &sqlgraph.EdgeSpec{
			Rel:     sqlgraph.M2O,
			Inverse: true,
			Table:   group.ApplicationTable,
			Columns: []string{group.ApplicationColumn},
			Bidi:    false,
			Target: &sqlgraph.EdgeTarget{
				IDSpec: &sqlgraph.FieldSpec{
					Type:   field.TypeInt,
					Column: application.FieldID,
				},
			},
		}
		for _, k := range nodes {
			edge.Target.Nodes = append(edge.Target.Nodes, k)
		}
		_spec.Edges.Add = append(_spec.Edges.Add, edge)
	}
	if gu.mutation.GraphsCleared() {
		edge := &sqlgraph.EdgeSpec{
			Rel:     sqlgraph.O2M,
			Inverse: false,
			Table:   group.GraphsTable,
			Columns: []string{group.GraphsColumn},
			Bidi:    false,
			Target: &sqlgraph.EdgeTarget{
				IDSpec: &sqlgraph.FieldSpec{
					Type:   field.TypeInt,
					Column: graph.FieldID,
				},
			},
		}
		_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
	}
	if nodes := gu.mutation.RemovedGraphsIDs(); len(nodes) > 0 && !gu.mutation.GraphsCleared() {
		edge := &sqlgraph.EdgeSpec{
			Rel:     sqlgraph.O2M,
			Inverse: false,
			Table:   group.GraphsTable,
			Columns: []string{group.GraphsColumn},
			Bidi:    false,
			Target: &sqlgraph.EdgeTarget{
				IDSpec: &sqlgraph.FieldSpec{
					Type:   field.TypeInt,
					Column: graph.FieldID,
				},
			},
		}
		for _, k := range nodes {
			edge.Target.Nodes = append(edge.Target.Nodes, k)
		}
		_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
	}
	if nodes := gu.mutation.GraphsIDs(); len(nodes) > 0 {
		edge := &sqlgraph.EdgeSpec{
			Rel:     sqlgraph.O2M,
			Inverse: false,
			Table:   group.GraphsTable,
			Columns: []string{group.GraphsColumn},
			Bidi:    false,
			Target: &sqlgraph.EdgeTarget{
				IDSpec: &sqlgraph.FieldSpec{
					Type:   field.TypeInt,
					Column: graph.FieldID,
				},
			},
		}
		for _, k := range nodes {
			edge.Target.Nodes = append(edge.Target.Nodes, k)
		}
		_spec.Edges.Add = append(_spec.Edges.Add, edge)
	}
	if n, err = sqlgraph.UpdateNodes(ctx, gu.driver, _spec); err != nil {
		if _, ok := err.(*sqlgraph.NotFoundError); ok {
			err = &NotFoundError{group.Label}
		} else if cerr, ok := isSQLConstraintError(err); ok {
			err = cerr
		}
		return 0, err
	}
	return n, nil
}

// GroupUpdateOne is the builder for updating a single Group entity.
type GroupUpdateOne struct {
	config
	hooks    []Hook
	mutation *GroupMutation
}

// SetApplicationID sets the application edge to Application by id.
func (guo *GroupUpdateOne) SetApplicationID(id int) *GroupUpdateOne {
	guo.mutation.SetApplicationID(id)
	return guo
}

// SetNillableApplicationID sets the application edge to Application by id if the given value is not nil.
func (guo *GroupUpdateOne) SetNillableApplicationID(id *int) *GroupUpdateOne {
	if id != nil {
		guo = guo.SetApplicationID(*id)
	}
	return guo
}

// SetApplication sets the application edge to Application.
func (guo *GroupUpdateOne) SetApplication(a *Application) *GroupUpdateOne {
	return guo.SetApplicationID(a.ID)
}

// AddGraphIDs adds the graphs edge to Graph by ids.
func (guo *GroupUpdateOne) AddGraphIDs(ids ...int) *GroupUpdateOne {
	guo.mutation.AddGraphIDs(ids...)
	return guo
}

// AddGraphs adds the graphs edges to Graph.
func (guo *GroupUpdateOne) AddGraphs(g ...*Graph) *GroupUpdateOne {
	ids := make([]int, len(g))
	for i := range g {
		ids[i] = g[i].ID
	}
	return guo.AddGraphIDs(ids...)
}

// Mutation returns the GroupMutation object of the builder.
func (guo *GroupUpdateOne) Mutation() *GroupMutation {
	return guo.mutation
}

// ClearApplication clears the "application" edge to type Application.
func (guo *GroupUpdateOne) ClearApplication() *GroupUpdateOne {
	guo.mutation.ClearApplication()
	return guo
}

// ClearGraphs clears all "graphs" edges to type Graph.
func (guo *GroupUpdateOne) ClearGraphs() *GroupUpdateOne {
	guo.mutation.ClearGraphs()
	return guo
}

// RemoveGraphIDs removes the graphs edge to Graph by ids.
func (guo *GroupUpdateOne) RemoveGraphIDs(ids ...int) *GroupUpdateOne {
	guo.mutation.RemoveGraphIDs(ids...)
	return guo
}

// RemoveGraphs removes graphs edges to Graph.
func (guo *GroupUpdateOne) RemoveGraphs(g ...*Graph) *GroupUpdateOne {
	ids := make([]int, len(g))
	for i := range g {
		ids[i] = g[i].ID
	}
	return guo.RemoveGraphIDs(ids...)
}

// Save executes the query and returns the updated entity.
func (guo *GroupUpdateOne) Save(ctx context.Context) (*Group, error) {
	var (
		err  error
		node *Group
	)
	if len(guo.hooks) == 0 {
		node, err = guo.sqlSave(ctx)
	} else {
		var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) {
			mutation, ok := m.(*GroupMutation)
			if !ok {
				return nil, fmt.Errorf("unexpected mutation type %T", m)
			}
			guo.mutation = mutation
			node, err = guo.sqlSave(ctx)
			mutation.done = true
			return node, err
		})
		for i := len(guo.hooks) - 1; i >= 0; i-- {
			mut = guo.hooks[i](mut)
		}
		if _, err := mut.Mutate(ctx, guo.mutation); err != nil {
			return nil, err
		}
	}
	return node, err
}

// SaveX is like Save, but panics if an error occurs.
func (guo *GroupUpdateOne) SaveX(ctx context.Context) *Group {
	node, err := guo.Save(ctx)
	if err != nil {
		panic(err)
	}
	return node
}

// Exec executes the query on the entity.
func (guo *GroupUpdateOne) Exec(ctx context.Context) error {
	_, err := guo.Save(ctx)
	return err
}

// ExecX is like Exec, but panics if an error occurs.
func (guo *GroupUpdateOne) ExecX(ctx context.Context) {
	if err := guo.Exec(ctx); err != nil {
		panic(err)
	}
}

func (guo *GroupUpdateOne) sqlSave(ctx context.Context) (_node *Group, err error) {
	_spec := &sqlgraph.UpdateSpec{
		Node: &sqlgraph.NodeSpec{
			Table:   group.Table,
			Columns: group.Columns,
			ID: &sqlgraph.FieldSpec{
				Type:   field.TypeInt,
				Column: group.FieldID,
			},
		},
	}
	id, ok := guo.mutation.ID()
	if !ok {
		return nil, &ValidationError{Name: "ID", err: fmt.Errorf("missing Group.ID for update")}
	}
	_spec.Node.ID.Value = id
	if guo.mutation.ApplicationCleared() {
		edge := &sqlgraph.EdgeSpec{
			Rel:     sqlgraph.M2O,
			Inverse: true,
			Table:   group.ApplicationTable,
			Columns: []string{group.ApplicationColumn},
			Bidi:    false,
			Target: &sqlgraph.EdgeTarget{
				IDSpec: &sqlgraph.FieldSpec{
					Type:   field.TypeInt,
					Column: application.FieldID,
				},
			},
		}
		_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
	}
	if nodes := guo.mutation.ApplicationIDs(); len(nodes) > 0 {
		edge := &sqlgraph.EdgeSpec{
			Rel:     sqlgraph.M2O,
			Inverse: true,
			Table:   group.ApplicationTable,
			Columns: []string{group.ApplicationColumn},
			Bidi:    false,
			Target: &sqlgraph.EdgeTarget{
				IDSpec: &sqlgraph.FieldSpec{
					Type:   field.TypeInt,
					Column: application.FieldID,
				},
			},
		}
		for _, k := range nodes {
			edge.Target.Nodes = append(edge.Target.Nodes, k)
		}
		_spec.Edges.Add = append(_spec.Edges.Add, edge)
	}
	if guo.mutation.GraphsCleared() {
		edge := &sqlgraph.EdgeSpec{
			Rel:     sqlgraph.O2M,
			Inverse: false,
			Table:   group.GraphsTable,
			Columns: []string{group.GraphsColumn},
			Bidi:    false,
			Target: &sqlgraph.EdgeTarget{
				IDSpec: &sqlgraph.FieldSpec{
					Type:   field.TypeInt,
					Column: graph.FieldID,
				},
			},
		}
		_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
	}
	if nodes := guo.mutation.RemovedGraphsIDs(); len(nodes) > 0 && !guo.mutation.GraphsCleared() {
		edge := &sqlgraph.EdgeSpec{
			Rel:     sqlgraph.O2M,
			Inverse: false,
			Table:   group.GraphsTable,
			Columns: []string{group.GraphsColumn},
			Bidi:    false,
			Target: &sqlgraph.EdgeTarget{
				IDSpec: &sqlgraph.FieldSpec{
					Type:   field.TypeInt,
					Column: graph.FieldID,
				},
			},
		}
		for _, k := range nodes {
			edge.Target.Nodes = append(edge.Target.Nodes, k)
		}
		_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
	}
	if nodes := guo.mutation.GraphsIDs(); len(nodes) > 0 {
		edge := &sqlgraph.EdgeSpec{
			Rel:     sqlgraph.O2M,
			Inverse: false,
			Table:   group.GraphsTable,
			Columns: []string{group.GraphsColumn},
			Bidi:    false,
			Target: &sqlgraph.EdgeTarget{
				IDSpec: &sqlgraph.FieldSpec{
					Type:   field.TypeInt,
					Column: graph.FieldID,
				},
			},
		}
		for _, k := range nodes {
			edge.Target.Nodes = append(edge.Target.Nodes, k)
		}
		_spec.Edges.Add = append(_spec.Edges.Add, edge)
	}
	_node = &Group{config: guo.config}
	_spec.Assign = _node.assignValues
	_spec.ScanValues = _node.scanValues()
	if err = sqlgraph.UpdateNode(ctx, guo.driver, _spec); err != nil {
		if _, ok := err.(*sqlgraph.NotFoundError); ok {
			err = &NotFoundError{group.Label}
		} else if cerr, ok := isSQLConstraintError(err); ok {
			err = cerr
		}
		return nil, err
	}
	return _node, nil
}

repository: go-benchmark/gobench

repo_name: go-benchmark/gobench

gha_language: Go

extension: go