diff --git a/flight-panel-2021-11/Flight Panel 2021-11 Board.pdf b/flight-panel-2021-11/Flight Panel 2021-11 Board.pdf
new file mode 100644
index 0000000..4b47739
Binary files /dev/null and b/flight-panel-2021-11/Flight Panel 2021-11 Board.pdf differ
diff --git a/flight-panel-2021-11/Flight Panel 2021-11 Schematic.pdf b/flight-panel-2021-11/Flight Panel 2021-11 Schematic.pdf
index e16985a..d72dba7 100644
Binary files a/flight-panel-2021-11/Flight Panel 2021-11 Schematic.pdf and b/flight-panel-2021-11/Flight Panel 2021-11 Schematic.pdf differ
diff --git a/flight-panel-2021-11/Flight Panel 2021-11.brd b/flight-panel-2021-11/Flight Panel 2021-11.brd
index 6a71362..36b46f6 100644
--- a/flight-panel-2021-11/Flight Panel 2021-11.brd
+++ b/flight-panel-2021-11/Flight Panel 2021-11.brd
@@ -6,7 +6,7 @@
-
+
@@ -78,14 +78,14 @@
-
-
+
+
-
+
-
-
+
+
@@ -174,99 +174,21 @@
-
-
-
-
-
-
-The stars don't look bigger,
-but they do look brighter.
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-<h3>SparkFun Aesthetics</h3>
-This library contiains non-functional items such as logos, build/ordering notes, frame blocks, etc.
-<br>
-<br>
-We've spent an enormous amount of time creating and checking these footprints and parts, but it is <b> the end user's responsibility</b> to ensure correctness and suitablity for a given componet or application.
-<br>
-<br>If you enjoy using this library, please buy one of our products at <a href=" www.sparkfun.com">SparkFun.com</a>.
-<br>
-<br>
-<b>Licensing:</b> Creative Commons ShareAlike 4.0 International - https://creativecommons.org/licenses/by-sa/4.0/
-<br>
-<br>
-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.
-
-
-<h3>Creative Commons License Template</h3>
-<p>CC BY-SA 4.0 License with <a href="https://creativecommons.org/licenses/by-sa/4.0/">link to license</a> and placeholder for designer name.</p>
-<p>Devices using:
-<ul><li>FRAME_LEDGER</li>
-<li>FRAME_LETTER</li></ul></p>
-Released under the Creative Commons Attribution Share-Alike 4.0 License
- https://creativecommons.org/licenses/by-sa/4.0/
-Designed by:
-
-
-
-
-<h3>SparkFun Connectors</h3>
-This library contains electrically-functional connectors.
-<br>
-<br>
-We've spent an enormous amount of time creating and checking these footprints and parts, but it is <b> the end user's responsibility</b> to ensure correctness and suitablity for a given componet or application.
-<br>
-<br>If you enjoy using this library, please buy one of our products at <a href=" www.sparkfun.com">SparkFun.com</a>.
-<br>
-<br>
-<b>Licensing:</b> Creative Commons ShareAlike 4.0 International - https://creativecommons.org/licenses/by-sa/4.0/
-<br>
-<br>
-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.
-
-
-<h3>Plated Through Hole - 3 Pin Locking Footprint</h3>
-Pins are staggered 0.005" off center to lock pins while soldering.
-<p>Specifications:
-<ul><li>Pin count:3</li>
-<li>Pin pitch:0.1"</li>
-</ul></p>
-<p>Example device(s):
-<ul><li>CONN_03</li>
-</ul></p>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
->NAME
->VALUE
-
-
-
<h3>SparkFun Electronics' preferred foot prints</h3>
This library contains footprints for SparkFun breakout boards, microcontrollers (Arduino, Particle, Teensy, etc.), breadboards, non-RF modules, etc.
@@ -411,244 +333,118 @@ Locking footprint for headers.
-
+
+<h3>SparkFun Connectors</h3>
+This library contains electrically-functional connectors.
+<br>
+<br>
+We've spent an enormous amount of time creating and checking these footprints and parts, but it is <b> the end user's responsibility</b> to ensure correctness and suitablity for a given componet or application.
+<br>
+<br>If you enjoy using this library, please buy one of our products at <a href=" www.sparkfun.com">SparkFun.com</a>.
+<br>
+<br>
+<b>Licensing:</b> Creative Commons ShareAlike 4.0 International - https://creativecommons.org/licenses/by-sa/4.0/
+<br>
+<br>
+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.
-
-<h3>CH74HC4067 Breakout Shield</h3>
-Fits the <a href="https://www.sparkfun.com/products/9056">SparkFun 16-channel Analog/Digital Multiplexer Breakout</a>.
-<br/><br/>
-Holes are offset 0.005" to hold pins in place while soldering.
+
+<h3>Plated Through Hole - 3 Pin Locking Footprint</h3>
+Pins are staggered 0.005" off center to lock pins while soldering.
<p>Specifications:
-<ul><li>Pin count:24</li>
+<ul><li>Pin count:3</li>
<li>Pin pitch:0.1"</li>
+</ul></p>
+<p>Example device(s):
+<ul><li>CONN_03</li>
</ul></p>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
->Name
->Value
-
-
-
-
-chan0
-chan1
-chan2
-chan3
-chan4
-chan5
-chan6
-chan7
-chan8
-chan9
-chan10
-chan11
-chan12
-chan13
-chan14
-chan15
-com
-vcc
-gnd
-en
-s0
-s1
-s2
-s3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<h3>SparkFun Discrete Semiconductors</h3>
+This library contains diodes, optoisolators, TRIACs, MOSFETs, transistors, etc.
+<br>
+<br>
+We've spent an enormous amount of time creating and checking these footprints and parts, but it is <b> the end user's responsibility</b> to ensure correctness and suitablity for a given componet or application.
+<br>
+<br>If you enjoy using this library, please buy one of our products at <a href=" www.sparkfun.com">SparkFun.com</a>.
+<br>
+<br>
+<b>Licensing:</b> Creative Commons ShareAlike 4.0 International - https://creativecommons.org/licenses/by-sa/4.0/
+<br>
+<br>
+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.
+
+
+
+
+
+
+
+
+
+
+
+
+
+>Name
+>Value
+
+
+
+
+<h3>SparkFun Aesthetics</h3>
+This library contiains non-functional items such as logos, build/ordering notes, frame blocks, etc.
+<br>
+<br>
+We've spent an enormous amount of time creating and checking these footprints and parts, but it is <b> the end user's responsibility</b> to ensure correctness and suitablity for a given componet or application.
+<br>
+<br>If you enjoy using this library, please buy one of our products at <a href=" www.sparkfun.com">SparkFun.com</a>.
+<br>
+<br>
+<b>Licensing:</b> Creative Commons ShareAlike 4.0 International - https://creativecommons.org/licenses/by-sa/4.0/
+<br>
+<br>
+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.
+
+
+<h3>Creative Commons License Template</h3>
+<p>CC BY-SA 4.0 License with <a href="https://creativecommons.org/licenses/by-sa/4.0/">link to license</a> and placeholder for designer name.</p>
+<p>Devices using:
+<ul><li>FRAME_LEDGER</li>
+<li>FRAME_LETTER</li></ul></p>
+Released under the Creative Commons Attribution Share-Alike 4.0 License
+ https://creativecommons.org/licenses/by-sa/4.0/
+Designed by:
@@ -845,557 +641,612 @@ design rules under a new name.
-
-
-
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/flight-panel-2021-11/Flight Panel 2021-11.sch b/flight-panel-2021-11/Flight Panel 2021-11.sch
index c69d921..114cd97 100644
--- a/flight-panel-2021-11/Flight Panel 2021-11.sch
+++ b/flight-panel-2021-11/Flight Panel 2021-11.sch
@@ -22,7 +22,7 @@
-
+
@@ -78,14 +78,14 @@
-
-
+
+
-
+
-
-
+
+
@@ -173,11 +173,6 @@
-<h3>Flight Panel Connection Shield - 2021-11 edition</h3>
-
-<p>A "shield" board for combining an Arduino Uno Rev3 and a <a href="https://www.sparkfun.com/products/9056">16-channel sparkfun multiplexer breakout board</a> into a flight control panel. Provides support for 22 "standard" buttons, (momentary or toggle) 2 rotary encoders, and 3 buttons guarded behind a 2-stage key/lock switch.</p>
-
-<p>Note the idiosyncratic layout of the header pins - they are all 3 pin headers. This is due to the original wiring for this project using a standard Arduino "sensor shield" and is not actually ideal.</p>
<h3>SparkFun Aesthetics</h3>
@@ -292,6 +287,677 @@ You are welcome to use this library for commercial purposes. For attribution, we
+
+<h3>SparkFun Electronics' preferred foot prints</h3>
+This library contains footprints for SparkFun breakout boards, microcontrollers (Arduino, Particle, Teensy, etc.), breadboards, non-RF modules, etc.
+<br>
+<br>
+We've spent an enormous amount of time creating and checking these footprints and parts, but it is <b> the end user's responsibility</b> to ensure correctness and suitablity for a given componet or application.
+<br>
+<br>If you enjoy using this library, please buy one of our products at <a href=" www.sparkfun.com">SparkFun.com</a>.
+<br>
+<br>
+<b>Licensing:</b> Creative Commons ShareAlike 4.0 International - https://creativecommons.org/licenses/by-sa/4.0/
+<br>
+<br>
+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.
+
+
+<h3>Arduino Uno-Compatible Footprint</h3>
+No holes, no ICSP connections.
+<p>Specifications:
+<ul><li>Pin count: 32</li>
+<li>Pin pitch: 0.1"</li>
+<li>Area:2.1x2.35"</li>
+</ul></p>
+<p>Example device(s):
+<ul><li>Arduino Uno R3 Shield</li>
+</ul></p>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+GND
+GND
++5V
+RST
+VIN
++3.3V
+0
+1
+2
+3
+4
+5
+GND
+13
+12
+11
+AREF
+10
+9
+8
+7
+6
+5
+4
+3
+2
+TX
+RX
+
+
+SDA
+SCL
+
+
+IOREF
+
+
+
+
+
+
+
+
+RST
+ISP
+
+USB
+POWER JACK
+>NAME
+>VALUE
+
+
+<h3>Arduino Uno-Compatible Footprint</h3>
+No holes, no ICSP connections, no silk labels.
+<p>Specifications:
+<ul><li>Pin count: 32</li>
+<li>Pin pitch: 0.1"</li>
+<li>Area:2.1x2.35"</li>
+</ul></p>
+<p>Example device(s):
+<ul><li>Arduino Uno R3 Shield</li>
+</ul></p>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+RST
+ISP
+
+
+>NAME
+>VALUE
+USB
+PWR JACK
+
+
+<h3>Arduino Uno-Compatible Footprint</h3>
+No holes, no ICSP connections.
+Locking footprint for headers.
+<p>Specifications:
+<ul><li>Pin count: 32</li>
+<li>Pin pitch: 0.1"</li>
+<li>Area:2.1x2.35"</li>
+</ul></p>
+<p>Example device(s):
+<ul><li>Arduino Uno R3 Shield</li>
+</ul></p>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+GND
+GND
++5V
+RST
+VIN
++3.3V
+0
+1
+2
+3
+4
+5
+Analog In
+GND
+13
+12
+11
+AREF
+10
+9
+8
+7
+6
+5
+4
+3
+2
+TX
+RX
+
+
+SDA
+SCL
+
+
+IOREF
+
+
+
+
+
+
+
+
+RST
+ISP
+
+>NAME
+>VALUE
+USB
+PWR JACK
+
+
+<h3>Arduino Uno-Compatible Footprint</h3>
+No holes, no ICSP connections, no silk labels.
+Looking footprint for headers.
+<p>Specifications:
+<ul><li>Pin count: 32</li>
+<li>Pin pitch: 0.1"</li>
+<li>Area:2.1x2.35"</li>
+</ul></p>
+<p>Example device(s):
+<ul><li>Arduino Uno R3 Shield</li>
+</ul></p>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+RST
+ISP
+
+>NAME
+>VALUE
+USB
+PWR JACK
+
+
+
+
+<h3>Arduino Uno R3-No ICSP</h3>
+<p>Symbol showing all standard pins on Arduino Uno R3 footprint (no ICSP pins)</p>
+
+
+
+
+>Name
+>Value
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<h3>Arduino R3 Shield Footprint</h3>
+
+Shield form compatible with the Arduino Uno R3.
+
+<p>SparkFun Products:
+<ul><li><a href=https://www.sparkfun.com/products/13120>MG2639 Cellular Shield</a></li>
+<li><a href=https://www.sparkfun.com/products/12898>MIDI Shield</a>
+<li><a href=https://www.sparkfun.com/products/11417>R3 Stackable Headers Kit</a>
+</ul></p>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
<h3>SparkFun Connectors</h3>
This library contains electrically-functional connectors.
@@ -1314,9 +1980,9 @@ Part Number: HA-522
-
-<h3>SparkFun Electronics' preferred foot prints</h3>
-This library contains footprints for SparkFun breakout boards, microcontrollers (Arduino, Particle, Teensy, etc.), breadboards, non-RF modules, etc.
+
+<h3>SparkFun Discrete Semiconductors</h3>
+This library contains diodes, optoisolators, TRIACs, MOSFETs, transistors, etc.
<br>
<br>
We've spent an enormous amount of time creating and checking these footprints and parts, but it is <b> the end user's responsibility</b> to ensure correctness and suitablity for a given componet or application.
@@ -1329,973 +1995,182 @@ We've spent an enormous amount of time creating and checking these footprints an
<br>
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.
-
-<h3>Arduino Uno-Compatible Footprint</h3>
-No holes, no ICSP connections.
-<p>Specifications:
-<ul><li>Pin count: 32</li>
-<li>Pin pitch: 0.1"</li>
-<li>Area:2.1x2.35"</li>
-</ul></p>
-<p>Example device(s):
-<ul><li>Arduino Uno R3 Shield</li>
-</ul></p>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-GND
-GND
-+5V
-RST
-VIN
-+3.3V
-0
-1
-2
-3
-4
-5
-GND
-13
-12
-11
-AREF
-10
-9
-8
-7
-6
-5
-4
-3
-2
-TX
-RX
-
-
-SDA
-SCL
-
-
-IOREF
-
-
-
-
-
-
-
-
-RST
-ISP
-
-USB
-POWER JACK
->NAME
->VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>Name
+>Value
-
-<h3>Arduino Uno-Compatible Footprint</h3>
-No holes, no ICSP connections, no silk labels.
-<p>Specifications:
-<ul><li>Pin count: 32</li>
-<li>Pin pitch: 0.1"</li>
-<li>Area:2.1x2.35"</li>
-</ul></p>
-<p>Example device(s):
-<ul><li>Arduino Uno R3 Shield</li>
-</ul></p>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-RST
-ISP
-
-
->NAME
->VALUE
-USB
-PWR JACK
+
+SOD-323 (Small Outline Diode)
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
-
-<h3>Arduino Uno-Compatible Footprint</h3>
-No holes, no ICSP connections.
-Locking footprint for headers.
-<p>Specifications:
-<ul><li>Pin count: 32</li>
-<li>Pin pitch: 0.1"</li>
-<li>Area:2.1x2.35"</li>
-</ul></p>
-<p>Example device(s):
-<ul><li>Arduino Uno R3 Shield</li>
-</ul></p>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-GND
-GND
-+5V
-RST
-VIN
-+3.3V
-0
-1
-2
-3
-4
-5
-Analog In
-GND
-13
-12
-11
-AREF
-10
-9
-8
-7
-6
-5
-4
-3
-2
-TX
-RX
-
-
-SDA
-SCL
-
-
-IOREF
-
-
-
-
-
-
-
-
-RST
-ISP
-
->NAME
->VALUE
-USB
-PWR JACK
+
+
+
+
+
+
+
+
+
+
+
+
+>Name
+>Value
-
-<h3>Arduino Uno-Compatible Footprint</h3>
-No holes, no ICSP connections, no silk labels.
-Looking footprint for headers.
-<p>Specifications:
-<ul><li>Pin count: 32</li>
-<li>Pin pitch: 0.1"</li>
-<li>Area:2.1x2.35"</li>
-</ul></p>
-<p>Example device(s):
-<ul><li>Arduino Uno R3 Shield</li>
-</ul></p>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-RST
-ISP
-
->NAME
->VALUE
-USB
-PWR JACK
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>Name
+>Value
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>Name
+>Value
+
+
+
+
-
-<h3>Arduino Uno R3-No ICSP</h3>
-<p>Symbol showing all standard pins on Arduino Uno R3 footprint (no ICSP pins)</p>
-
-
-
-
->Name
->Value
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+Conventional Si diode
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
-
-<h3>Arduino R3 Shield Footprint</h3>
-
-Shield form compatible with the Arduino Uno R3.
-
-<p>SparkFun Products:
-<ul><li><a href=https://www.sparkfun.com/products/13120>MG2639 Cellular Shield</a></li>
-<li><a href=https://www.sparkfun.com/products/12898>MIDI Shield</a>
-<li><a href=https://www.sparkfun.com/products/11417>R3 Stackable Headers Kit</a>
+
+<h3>Diode</h3>
+<p>These are standard reverse protection diodes and small signal diodes.</p>
+<p><b>SparkFun Products:</b>
+<ul><li><a href=”https://www.sparkfun.com/products/11177”>SparkFun SparkPunk Sound Kit</a></li>
+<li><a href=”https://www.sparkfun.com/products/13231”>SparkFun ESP8266 Thing</a></li>
</ul></p>
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
+
+
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
+
+
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
+
+
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
+
+
+
+
-
-
-
-
-
-
-
-<h3>CH74HC4067 Breakout Shield</h3>
-Fits the <a href="https://www.sparkfun.com/products/9056">SparkFun 16-channel Analog/Digital Multiplexer Breakout</a>.
-<br/><br/>
-Holes are offset 0.005" to hold pins in place while soldering.
-<p>Specifications:
-<ul><li>Pin count:24</li>
-<li>Pin pitch:0.1"</li>
-</ul></p>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
->Name
->Value
-
-
-
-
-chan0
-chan1
-chan2
-chan3
-chan4
-chan5
-chan6
-chan7
-chan8
-chan9
-chan10
-chan11
-chan12
-chan13
-chan14
-chan15
-com
-vcc
-gnd
-en
-s0
-s1
-s2
-s3
-
-
-
-
-CD74HC4067 breakout board
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
->Name
->Value
-
-
-
-
-Sparkfun CD74HC4067 breakout board shield footprint
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
+
+
+
+
@@ -2319,14 +2194,6 @@ You are welcome to use this library for commercial purposes. For attribution, we
-
-<h3>Ground Supply (Earth Ground Symbol)</h3>
-
-
-
-
->VALUE
-
<h3>Digital Ground Supply</h3>
@@ -2335,20 +2202,6 @@ You are welcome to use this library for commercial purposes. For attribution, we
-
-<h3>Ground Supply (Earth Ground style)</h3>
-<p>Ground supply with a traditional "earth ground" symbol.</p>
-
-
-
-
-
-
-
-
-
-
-
<h3>Ground Supply Symbol</h3>
<p>Generic signal ground supply symbol.</p>
@@ -2377,65 +2230,55 @@ You are welcome to use this library for commercial purposes. For attribution, we
-
+
-
-
-
-
-
+
-
-
-
-
-
-
-
+
+
+
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -2450,674 +2293,689 @@ You are welcome to use this library for commercial purposes. For attribution, we
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
-
-
-
+
+
+
-
-
-
+
+
-
-
-
+
+
+
-
-
-
+
+
-
-
-
+
+
+
-
-
-
+
+
-
-
-
+
+
+
-
-
-
+
+
-
-
+
+
+
-
-
-
+
+
-
-
-
+
+
+
-
-
-
+
+
-
-
-
+
+
+
-
-
-
+
+
-
-
-
+
+
+
-
-
-
+
+
-
-
-
+
+
+
-
-
-
+
+
-
-
-
+
+
+
-
-
-
+
+
-
-
-
+
+
+
-
-
-
+
+
-
-
-
+
+
+
-
-
-
+
+
-
-
-
+
+
+
-
-
-
+
+
-
-
-
+
+
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
-
+
-
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
-
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/flight-panel-2021-11/flight-panel.ino b/flight-panel-2021-11/flight-panel.ino
index 97a74bf..8a14fa3 100644
--- a/flight-panel-2021-11/flight-panel.ino
+++ b/flight-panel-2021-11/flight-panel.ino
@@ -1,75 +1,82 @@
#include
-#include
+#include
Joystick joystick(false);
// These defines match the board schematic
-#define ENC1 2, 3
-#define ENC2 4, 5
-#define BTN1 6
-#define BTN2 7
-#define BTN3 8
-#define BTN4 9
-#define BTN5 10
-#define BTN6 11
-#define BTN7 12
-#define BTN8 13
-#define BTN9 A0
+#define ENC1 2, 4
+#define ENC2 3, 5
-// Buttons 10 and higher are all on A1 (the MUX signal pin), these are multiplexer channel IDs
-#define BTN10 0
-#define BTN11 1
-#define BTN12 2
-#define BTN13 3
-#define BTN14 4
-#define BTN15 5
-#define BTN16 6
-#define BTN17 7
-#define BTN18 8
-#define BTN19 9
-#define BTN20 10
-#define BTN21 11
-#define BTN22 12
-#define KBTN1 13
-#define KBTN2 14
-#define KBTN3 15
+// Matrix defines
+#define R0 6
+#define R1 7
+#define R2 8
+#define R3 9
+#define R4 10
+#define C0 A3
+#define C1 A2
+#define C2 A1
+#define C3 A0
+
+#define BTN1 R0,C0
+#define BTN2 R1,C0
+#define BTN3 R2,C0
+#define BTN4 R3,C0
+#define BTN5 R4,C0
+#define BTN6 R0,C1
+#define BTN7 R1,C1
+#define BTN8 R2,C1
+#define BTN9 R3,C1
+#define BTN10 R0,C2
+#define BTN11 R1,C2
+#define BTN12 R2,C2
+#define BTN13 R3,C2
+#define BTN14 R0,C3
+#define BTN15 R1,C3
+#define BTN16 R2,C3
+#define BTN17 R3,C3
+#define KBTN1 R4,C1
+#define KBTN2 R4,C2
+#define KBTN3 R4,C3
void setup() {
// Encoders
joystick.AddEncoder(ENC1, ENCODER_PULSED_SPLIT);
joystick.AddEncoder(ENC2, ENCODER_PULSED_SPLIT);
- // // Power switches
- joystick.AddButton(BTN1, BUTTON_PULSED_DOUBLE_ACTION_SPLIT);
- joystick.AddButton(BTN2, BUTTON_PULSED_DOUBLE_ACTION_SPLIT);
- joystick.AddButton(BTN3, BUTTON_PULSED_DOUBLE_ACTION_SPLIT);
- joystick.AddButton(BTN4, BUTTON_PULSED_DOUBLE_ACTION_SPLIT);
-
- // // HUD modes
- joystick.AddButton(BTN5, BUTTON_PASSTHRU);
- joystick.AddButton(BTN6, BUTTON_PASSTHRU);
- joystick.AddButton(BTN7, BUTTON_PASSTHRU);
-
- // // Mining Modules
- joystick.AddButton(BTN8, BUTTON_PASSTHRU);
- joystick.AddButton(BTN9, BUTTON_PASSTHRU);
- joystick.AddButton(BTN10, BUTTON_PASSTHRU, true, mux);
-
- // // Flight Modes
- joystick.AddButton(BTN11, BUTTON_PASSTHRU, true, mux);
- joystick.AddButton(BTN12, BUTTON_PASSTHRU, true, mux);
- joystick.AddButton(BTN13, BUTTON_PASSTHRU, true, mux);
- joystick.AddButton(BTN14, BUTTON_PASSTHRU, true, mux);
-
- // // Doors & Lights
- joystick.AddButton(BTN15, BUTTON_PULSED_DOUBLE_ACTION, true, mux);
- joystick.AddButton(BTN16, BUTTON_PULSED_DOUBLE_ACTION_SPLIT, true, mux);
- joystick.AddButton(BTN17, BUTTON_PULSED_DOUBLE_ACTION_SPLIT, true, mux);
+ // We will add the 2-stage "key buttons" in a slightly odd order
+ // in order to keep columns together for faster scanning.
+ Matrix* matrix = new Matrix({C0, C1, C2, C3}, 4);
- // // Emergency Panel
- joystick.AddButton(KBTN1, BUTTON_PASSTHRU);
- joystick.AddButton(KBTN2, BUTTON_PASSTHRU);
- joystick.AddButton(KBTN3, BUTTON_PASSTHRU);
+ // Flight modes
+ joystick.AddMatrixButton(BTN1, matrix, BUTTON_PASSTHRU);
+ joystick.AddMatrixButton(BTN2, matrix, BUTTON_PASSTHRU);
+ joystick.AddMatrixButton(BTN3, matrix, BUTTON_PASSTHRU);
+ joystick.AddMatrixButton(BTN4, matrix, BUTTON_PASSTHRU);
+
+ // Lights and Doors
+ joystick.AddMatrixButton(BTN5, matrix, BUTTON_PULSED_DOUBLE_ACTION);
+ joystick.AddMatrixButton(BTN6, matrix, BUTTON_PULSED_DOUBLE_ACTION_SPLIT);
+ joystick.AddMatrixButton(BTN7, matrix, BUTTON_PULSED_DOUBLE_ACTION_SPLIT);
+
+ // Mining modules (plus first keybutton)
+ joystick.AddMatrixButton(BTN8, matrix, BUTTON_PASSTHRU);
+ joystick.AddMatrixButton(BTN9, matrix, BUTTON_PASSTHRU);
+ joystick.AddMatrixButton(KBTN1, matrix, BUTTON_PASSTHRU);
+ joystick.AddMatrixButton(BTN10, matrix, BUTTON_PASSTHRU);
+
+ // HUD modes
+ joystick.AddMatrixButton(BTN11, matrix, BUTTON_PASSTHRU);
+ joystick.AddMatrixButton(BTN12, matrix, BUTTON_PASSTHRU);
+ joystick.AddMatrixButton(BTN13, matrix, BUTTON_PASSTHRU);
+
+ // Flight modes (and latter 2 keybuttons)
+ joystick.AddMatrixButton(KBTN2, matrix, BUTTON_PASSTHRU);
+ joystick.AddMatrixButton(BTN14, matrix, BUTTON_PULSED_DOUBLE_ACTION_SPLIT);
+ joystick.AddMatrixButton(BTN15, matrix, BUTTON_PULSED_DOUBLE_ACTION_SPLIT);
+ joystick.AddMatrixButton(BTN16, matrix, BUTTON_PULSED_DOUBLE_ACTION_SPLIT);
+ joystick.AddMatrixButton(BTN17, matrix, BUTTON_PULSED_DOUBLE_ACTION_SPLIT);
+ joystick.AddMatrixButton(KBTN3, matrix, BUTTON_PASSTHRU);
joystick.Init();
}