From b4d0799516d84d816166a80f341b76ebeda57310 Mon Sep 17 00:00:00 2001 From: Kyle Isom Date: Sat, 29 Dec 2018 10:49:04 -0800 Subject: [PATCH] TinyAdder: Add docs, organise things, updated EAGLE files. --- fpga/tinyfpga/TinyAdder/README.md | 37 + fpga/tinyfpga/TinyAdder/SegmentLCD.v | 41 + fpga/tinyfpga/TinyAdder/TinyAdder.v | 201 +- fpga/tinyfpga/TinyAdder/tinyadder_r3.brd | 1128 +++++++++ fpga/tinyfpga/TinyAdder/tinyadder_r3.sch | 2777 ++++++++++++++++++++++ 5 files changed, 4082 insertions(+), 102 deletions(-) create mode 100644 fpga/tinyfpga/TinyAdder/README.md create mode 100644 fpga/tinyfpga/TinyAdder/SegmentLCD.v create mode 100644 fpga/tinyfpga/TinyAdder/tinyadder_r3.brd create mode 100644 fpga/tinyfpga/TinyAdder/tinyadder_r3.sch diff --git a/fpga/tinyfpga/TinyAdder/README.md b/fpga/tinyfpga/TinyAdder/README.md new file mode 100644 index 0000000..a93487e --- /dev/null +++ b/fpga/tinyfpga/TinyAdder/README.md @@ -0,0 +1,37 @@ +TinyAdder +======== + +TinyAdder is a 4-bit adder built on the TinyFPGA BX. It connects four +slide switches (I wanted actual toggle switches, but that's how it goes) +to a pair of 7-segment LCD displays. + +Code organisation +----------------- + +Currently there are two modules: + ++ SegmentLCD: a little awkwardly named due to the naming constraints, + but this takes a 4-bit input number and outputs a 7-bit output. The + hookup requirements are described in the module comments. ++ TinyAdder: This is the top-level adder. + +Hardware revisions +------------------ + ++ rev1 (2018-12-22) ++ rev2 (2018-12-22): realised that the LCDs were missing resistors; + I had been looking at a tutorial that used a shift register; the shift + register apparently had an internal current limiter so I assumed the + LCDs didn't need them. This was wrong. Fortunately I was able to cancel + the rev1 order before it went out. ++ rev3 (2018-12-28): after breadboarding the push button, I realised + I'd messed up the schematic (and accordingly, the board) by wiring + both ends of the push buttons to Vcc, which... isn't very useful at + all. I fixed it, but not before the rev2 was sent to the fab. + +TODO +---- + ++ I'd like to have the two displays show the two numbers before adding + them. The 'hi' display could show the first addend, and the 'low' could + show the second addend, with live updating. diff --git a/fpga/tinyfpga/TinyAdder/SegmentLCD.v b/fpga/tinyfpga/TinyAdder/SegmentLCD.v new file mode 100644 index 0000000..b14ff99 --- /dev/null +++ b/fpga/tinyfpga/TinyAdder/SegmentLCD.v @@ -0,0 +1,41 @@ +/// SegmentLCD represents a 7-segment display that takes as input a 4-bit +/// number and outputs the correct pin configuration. The pins need to be +/// wired as {G, F, E, D, C, B, A} for this to work. +/// +/// For example, +/// +/// wire [7:0] sum = 8'b00000000; +/// segment7 low ( +/// .number(sum[3:0]), +/// .out({PIN_15, PIN_14, PIN_13, PIN_12, PIN_11, PIN_10, PIN_9}) +/// ); +module SegmentLCD ( + input [3:0] number, + output [6:0] out = 7'b0000000 +); + + always @(*) + begin + case (number) + 4'b0000: out <= 7'b0111111; // 0 + 4'b0001: out <= 7'b0000110; // 1 + 4'b0010: out <= 7'b1011011; // 2 + 4'b0011: out <= 7'b1001111; // 3 + 4'b0100: out <= 7'b1100110; // 4 + 4'b0101: out <= 7'b1101101; // 5 + 4'b0110: out <= 7'b1111101; // 6 + 4'b0111: out <= 7'b0000111; // 7 + 4'b1000: out <= 7'b1111111; // 8 + 4'b1001: out <= 7'b1100111; // 9 + 4'b1010: out <= 7'b1110111; // A + 4'b1011: out <= 7'b1111100; // B + 4'b1100: out <= 7'b0111001; // C + 4'b1101: out <= 7'b1011110; // D + 4'b1110: out <= 7'b1111001; // E + 4'b1111: out <= 7'b1110001; // F + endcase + end + +endmodule + + diff --git a/fpga/tinyfpga/TinyAdder/TinyAdder.v b/fpga/tinyfpga/TinyAdder/TinyAdder.v index e4a8bca..b262119 100644 --- a/fpga/tinyfpga/TinyAdder/TinyAdder.v +++ b/fpga/tinyfpga/TinyAdder/TinyAdder.v @@ -1,102 +1,99 @@ -module segment7 ( - input [3:0] number, - output [6:0] out = 7'b0000000 -); - - always @(*) - begin - case (number) - 4'b0000: out <= 7'b0111111; // 0 - 4'b0001: out <= 7'b0000110; // 1 - 4'b0010: out <= 7'b1011011; // 2 - 4'b0011: out <= 7'b1001111; // 3 - 4'b0100: out <= 7'b1100110; // 4 - 4'b0101: out <= 7'b1101101; // 5 - 4'b0110: out <= 7'b1111101; // 6 - 4'b0111: out <= 7'b0000111; // 7 - 4'b1000: out <= 7'b1111111; // 8 - 4'b1001: out <= 7'b1100111; // 9 - 4'b1010: out <= 7'b1110111; // A - 4'b1011: out <= 7'b1111100; // B - 4'b1100: out <= 7'b0111001; // C - 4'b1101: out <= 7'b1011110; // D - 4'b1110: out <= 7'b1111001; // E - 4'b1111: out <= 7'b1110001; // F - endcase - end - -endmodule - -// look in pins.pcf for all the pin names on the TinyFPGA BX board -module TinyAdder ( - input CLK, // 16MHz clock - input PIN_1, // A[0] - input PIN_2, // A[1] - input PIN_3, // A[2] - input PIN_4, // A[3] - input PIN_5, // EXEC - input PIN_6, // CLR - - // 7-segment LCD displays - output PIN_9, // LOW/A - output PIN_10, // LOW/B - output PIN_11, // LOW/C - output PIN_12, // LOW/D - output PIN_13, // LOW/E - output PIN_14, // LOW/F - output PIN_15, // LOW/G - output PIN_16, // HI/A - output PIN_17, // HI/B - output PIN_18, // HI/C - output PIN_19, // HI/D - output PIN_20, // HI/E - output PIN_21, // HI/F - output PIN_22, // HI/G - - output LED, // User/boot LED next to power LED - output USBPU // USB pull-up resistor -); - - // drive USB pull-up resistor to '0' to disable USB - assign USBPU = 0; - - wire [7:0] sum = 8'b00000000; - wire [3:0] switches; - - assign switches = {PIN_4, PIN_3, PIN_2, PIN_1}; - // state determines what happens when the button is pressed. - reg [1:0] state = 2'b00; - - assign LED = state[0]; - - segment7 low ( - .number(sum[3:0]), - .out({PIN_15, PIN_14, PIN_13, PIN_12, PIN_11, PIN_10, PIN_9}) - ); - - segment7 hi ( - .number(sum[7:4]), - .out({PIN_22, PIN_21, PIN_20, PIN_19, PIN_18, PIN_17, PIN_16}) - ); - - always @(PIN_5) - begin - case (state) - 2'b00: begin - sum = switches; - state <= 2'b01; - end - 2'b01: begin - sum = sum + switches; - state = 2'b10; - end - endcase - end - - always @(PIN_6) - begin - state <= 2'b00; - sum = 7'b0000000; - end - -endmodule +`include "SegmentLCD.v" + +///////////////////////////////////////////////////////////////////////// +/// TinyAdder.v +/// Author: K. Isom +/// Created: 2018-12-27 +///////////////////////////////////////////////////////////////////////// +/// TinyAdder is a 4-bit adder that displays calculations on a pair of +/// 7-segment LCDs. The EXEC button doubles as a plus and equals button: +/// the first time it is pressed, entry begins with the second number. The +/// second time it is pressed, the sum of the two numbers is shown on the +/// display. +module TinyAdder ( + input PIN_1, // A[0] + input PIN_2, // A[1] + input PIN_3, // A[2] + input PIN_4, // A[3] + input PIN_5, // EXEC + input PIN_6, // CLR + + // There are two 7-segment displays: 'low' shows the 4 LSBs, and 'hi' + // shows the 4 MSBs. That is, given 0x12, 'low' would display '2' and + // 'hi' would show '1'. + output PIN_9, // LOW/A + output PIN_10, // LOW/B + output PIN_11, // LOW/C + output PIN_12, // LOW/D + output PIN_13, // LOW/E + output PIN_14, // LOW/F + output PIN_15, // LOW/G + output PIN_16, // HI/A + output PIN_17, // HI/B + output PIN_18, // HI/C + output PIN_19, // HI/D + output PIN_20, // HI/E + output PIN_21, // HI/F + output PIN_22, // HI/G + + output LED, // User/boot LED next to power LED + output USBPU // USB pull-up resistor +); + + // Drive USB pull-up resistor to '0' to disable USB. This prevents us + // from falling back into the bootloader, I think. + assign USBPU = 0; + + wire [7:0] sum = 8'b00000000; + wire [3:0] switches; + + assign switches = {PIN_4, PIN_3, PIN_2, PIN_1}; + + // state determines what happens when the button is pressed. + reg [1:0] state = 2'b00; + + segment7 low ( + .number(sum[3:0]), + .out({PIN_15, PIN_14, PIN_13, PIN_12, PIN_11, PIN_10, PIN_9}) + ); + + segment7 hi ( + .number(sum[7:4]), + .out({PIN_22, PIN_21, PIN_20, PIN_19, PIN_18, PIN_17, PIN_16}) + ); + + // When EXEC is pressed, the adder's state is advanced. There are + // three states: + // + state 00: entry of the first number. + // + state 01: entry of the second number. + // + state 10: the sum of the two numbers is displayed. Pressing + // exec again resets the display. + always @(negedge PIN_5) + begin + case (state) + 2'b00: begin + sum = switches; + state <= 2'b01; + end + 2'b01: begin + sum = sum + switches; + state = 2'b10; + LED <= 1; + end + 2'b10: begin + sum = 8'b00000000; + state = 2'b00; + LED <= 0; + end + endcase + end + + // When CLEAR is pressed, the adder should go back to its initial + // state. + always @(negedge PIN_6) + begin + state <= 2'b00; + sum = 8'b0000000; + LED <= 0; + end +endmodule diff --git a/fpga/tinyfpga/TinyAdder/tinyadder_r3.brd b/fpga/tinyfpga/TinyAdder/tinyadder_r3.brd new file mode 100644 index 0000000..0c913a5 --- /dev/null +++ b/fpga/tinyfpga/TinyAdder/tinyadder_r3.brd @@ -0,0 +1,1128 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +TinyAdder / K. Isom / Designed in Oakland, CA +2018-12-28 / Rev 3 + + + +<h3>SparkFun Switches, Buttons, Encoders</h3> +In this library you'll find switches, buttons, joysticks, and anything that moves to create or disrupt an electrical connection. +<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>SPDT PTH Slide Switch</h3> +<p>Single-pole, double-throw (SPDT) switch.</p> +<p><a href="https://www.sparkfun.com/datasheets/Components/Buttons/P040040c.pdf">Dimensional Drawing</a></p> + + + + + + + +>Name +>Value + + +<h3>Momentary Switch (Pushbutton) - SPST - PTH, 6.0mm Square</h3> +<p>Normally-open (NO) SPST momentary switches (buttons, pushbuttons).</p> +<p><a href="https://www.omron.com/ecb/products/pdf/en-b3f.pdf">Datasheet</a> (B3F-1000)</p> + + + + + + + + + + + + + + + + + + + + + + + + +>Name +>Value + + + + +<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>ZIF Socket 28-Pin 0.3"</h3> +tDocu shows location of lever when unlocked. +<p>Specifications: +<ul><li>Pin count:28</li> +</ul></p> +<p>Example device(s): +<ul><li>ZIF_SOCKET_28-3</li> +</ul></p> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +>NAME +>VALUE + + + + +<h3>SparkFun Resistors</h3> +This library contains resistors. Reference designator:R. +<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>AXIAL-0.3</h3> +<p>Commonly used for 1/4W through-hole resistors. 0.3" pitch between holes.</p> + + + + + + + + + + +>Name +>Value + + + + +<h3>SparkFun LEDs</h3> +This library contains discrete LEDs for illumination or indication, but no displays. +<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. + + +7 Segment display Storefront SKU#: COM-08546 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +<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: + + + + + + + + + + + + + +<b>EAGLE Design Rules</b> +<p> +Die Standard-Design-Rules sind so gewählt, dass sie für +die meisten Anwendungen passen. Sollte ihre Platine +besondere Anforderungen haben, treffen Sie die erforderlichen +Einstellungen hier und speichern die Design Rules unter +einem neuen Namen ab. +<b>EAGLE Design Rules</b> +<p> +The default Design Rules have been set to cover +a wide range of applications. Your particular design +may have different requirements, so please make the +necessary adjustments and save your customized +design rules under a new name. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/fpga/tinyfpga/TinyAdder/tinyadder_r3.sch b/fpga/tinyfpga/TinyAdder/tinyadder_r3.sch new file mode 100644 index 0000000..977fb62 --- /dev/null +++ b/fpga/tinyfpga/TinyAdder/tinyadder_r3.sch @@ -0,0 +1,2777 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +<h3>SparkFun Switches, Buttons, Encoders</h3> +In this library you'll find switches, buttons, joysticks, and anything that moves to create or disrupt an electrical connection. +<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>Momentary Switch (Pushbutton) - SPST - PTH, 6.0mm Square</h3> +<p>Normally-open (NO) SPST momentary switches (buttons, pushbuttons).</p> +<p><a href="https://www.omron.com/ecb/products/pdf/en-b3f.pdf">Datasheet</a> (B3F-1000)</p> + + + + + + + + + + + + + + + + + + + + + + + + +>Name +>Value + + +<h3>Momentary Switch (Pushbutton) - SPST - SMD, 4.5mm Square</h3> +<p>Normally-open (NO) SPST momentary switches (buttons, pushbuttons).</p> +<p><a href="http://spec_sheets.e-switch.com/specs/P010338.pdf">Dimensional Drawing</a></p> + + + + + + + + + + + + + + + + + + + + +>Name +>Value + + +<h3>Momentary Switch (Pushbutton) - SPST - PTH, 12mm Square</h3> +<p>Normally-open (NO) SPST momentary switches (buttons, pushbuttons).</p> +<p><a href="https://www.omron.com/ecb/products/pdf/en-b3f.pdf">Datasheet</a> (B3F-5050)</p> + + + + + + + + + + + + + + + + + + + + + + + + +>Name +>Value + + +<h3>Momentary Switch (Pushbutton) - SPST - SMD, 6.0 x 3.5 mm</h3> +<p>Normally-open (NO) SPST momentary switches (buttons, pushbuttons).</p> +<p><a href="https://www.sparkfun.com/datasheets/Components/1101.pdf">Datasheet</a></p> + + + + + + + + + + + + + + + + + + + + + +>Name +>Value + + +<h3>Momentary Switch (Pushbutton) - SPST - SMD, 6.2mm Square</h3> +<p>Normally-open (NO) SPST momentary switches (buttons, pushbuttons).</p> +<p><a href="http://www.apem.com/files/apem/brochures/ADTS6-ADTSM-KTSC6.pdf">Datasheet</a> (ADTSM63NVTR)</p> + + + + + + + + + +>Name +>Value + + +<h3>Momentary Switch (Pushbutton) - SPST - PTH, Right-angle</h3> +<p>Normally-open (NO) SPST momentary switches (buttons, pushbuttons).</p> +<p><a href="http://cdn.sparkfun.com/datasheets/Components/Switches/SW016.JPG">Dimensional Drawing</a></p> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +>Name +>Value + + +<h3>Momentary Switch (Pushbutton) - SPST - SMD, 12mm Square</h3> +<p>Normally-open (NO) SPST momentary switches (buttons, pushbuttons).</p> +<p><a href="https://cdn.sparkfun.com/datasheets/Components/Switches/N301102.pdf">Datasheet</a></p> + + + + + + + + + + + + + + + + + + + + + + + + +>Name +>Value + + +<h3>Momentary Switch (Pushbutton) - SPST - PTH, 6.0mm Square</h3> +<p>Normally-open (NO) SPST momentary switches (buttons, pushbuttons).</p> +<p><b>Warning:</b> This is the KIT version of this package. This package has a smaller diameter top stop mask, which doesn't cover the diameter of the pad. This means only the bottom side of the pads' copper will be exposed. You'll only be able to solder to the bottom side.</p> +<p><a href="https://www.omron.com/ecb/products/pdf/en-b3f.pdf">Datasheet</a> (B3F-1000)</p> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +>Name +>Value + + +<h3>Momentary Switch (Pushbutton) - SPST - SMD, 5.2mm Square</h3> +<p>Normally-open (NO) SPST momentary switches (buttons, pushbuttons).</p> +<p><a href="https://www.sparkfun.com/datasheets/Components/Buttons/SMD-Button.pdf">Dimensional Drawing</a></p> + + + + + + + + + + + + + + + + +>Name +>Value + + +<h3>Momentary Switch (Pushbutton) - SPST - SMD, Right-angle</h3> +<p>Normally-open (NO) SPST momentary switches (buttons, pushbuttons).</p> + + + + + + + + + + + + + + + +>Name +>Value + + +<h3>Momentary Switch (Pushbutton) - SPST - SMD, 4.6 x 2.8mm</h3> +<p>Normally-open (NO) SPST momentary switches (buttons, pushbuttons).</p> +<p><a href="http://www.ck-components.com/media/1479/kmr2.pdf">Datasheet</a></p> + + + + + + + + + + + + + + + + + +>Name +>Value + + +<h3>Momentary Switch (Pushbutton) - SPST - PTH, Right-angle</h3> +<p>Normally-open (NO) SPST momentary switches (buttons, pushbuttons).</p> +<p><a href="http://cdn.sparkfun.com/datasheets/Components/Switches/SW016.JPG">Dimensional Drawing</a></p> + + + + + + + + + + + + + + + + + + + + + + + + + +>Name +>Value + + + +Foot + + + + + + + + + + + + +Feet + + +<h3>SPDT PTH Slide Switch</h3> +<p>Single-pole, double-throw (SPDT) switch.</p> +<p><a href="https://www.sparkfun.com/datasheets/Components/Buttons/P040040c.pdf">Dimensional Drawing</a></p> + + + + + + + +>Name +>Value + + +<h3>ITT Industries AYZ0202 DPDT Switch - SMD</h3> +<p>Double-pole, double-throw switches.</p> +<p><a href="https://www.sparkfun.com/datasheets/Components/SW_slide_ayz.pdf">Datasheet</a></p> + + + + + + + + + + + + +>Name +>Value + + +<h3>SPDT PTH Slide Switch - Locking Footprint</h3> +<p>Single-pole, double-throw (SPDT) switch.</p> +<p><b>Warning:</b> This is the LOCK version of this package. This package has offset PTH pins, which help to hold the part in place while soldering.</p> +<p><a href="https://www.sparkfun.com/datasheets/Components/Buttons/P040040c.pdf">Dimensional Drawing</a></p> + + + + + + + + + + +>Name +>Value + + +<h3>SPDT PTH Slide Switch - KIT Footprint</h3> +<p>Single-pole, double-throw (SPDT) switch.</p> +<p><b>Warning:</b> This is the KIT version of this package. This package has a smaller diameter top stop mask, which doesn't cover the diameter of the pad. This means only the bottom side of the pads' copper will be exposed. You'll only be able to solder to the bottom side.</p> +<p><a href="https://www.sparkfun.com/datasheets/Components/Buttons/P040040c.pdf">Dimensional Drawing</a></p> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +>Name +>Value + + +<h3>SPDT Slide Switch - SMD</h3> +<p>Single-pole, double-throw (SPDT) switch.</p> +<p><a href="http://cdn.sparkfun.com/datasheets/Components/Switches/SLIDE.pdf">Datasheet</a></p> + + + + + + + + + + + + + + + + + + + + + + +>Name +>Value + + + + +<h3>Momentary Switch (Pushbutton) - SPST</h3> +<p>Normally-open (NO) SPST momentary switches (buttons, pushbuttons).</p> + + + + +>NAME +>VALUE + + + + +<h3>Single Pole, Double Throw (SPDT) Switch</h3> +<p>Single-pole, double-throw (SPDT) switch.</p> + + + + + + +>NAME +>VALUE + + + + + + + +<h3>Momentary Switch (Pushbutton) - SPST</h3> +<p>Normally-open (NO) SPST momentary switches (buttons, pushbuttons).</p> +<h4>Variants</h4> +<h5>PTH-12MM - 12mm square, through-hole</h5> +<ul><li><a href="https://www.sparkfun.com/products/9190">Momentary Pushbutton Switch - 12mm Square</a> (COM-09190)</li></ul> +<h5>PTH-6.0MM, PTH-6.0MM-KIT - 6.0mm square, through-hole</h5> +<ul><li><a href="https://www.sparkfun.com/products/97">Mini Pushbutton Switch</a> (COM-00097)</li> +<li>KIT package intended for soldering kit's - only one side of pads' copper is exposed.</li></ul> +<h5>PTH-RIGHT-ANGLE-KIT - Right-angle, through-hole</h5> +<ul><li><a href="https://www.sparkfun.com/products/10791">Right Angle Tactile Button</a> - Used on <a href="https://www.sparkfun.com/products/11734"> +SparkFun BigTime Watch Kit</a></li></ul> +<h5>SMD-12MM - 12mm square, surface-mount</h5> +<ul><li><a href="https://www.sparkfun.com/products/12993">Tactile Button - SMD (12mm)</a> (COM-12993)</li> +<li>Used on <a href="https://www.sparkfun.com/products/11888">SparkFun PicoBoard</a></li></ul> +<h5>SMD-4.5MM - 4.5mm Square Trackball Switch</h5> +<ul><li>Used on <a href="https://www.sparkfun.com/products/13169">SparkFun Blackberry Trackballer Breakout</a></li></ul> +<h5>SMD-4.6MMX2.8MM - 4.60mm x 2.80mm, surface mount</h5> +<ul><li>Used on <a href="https://www.sparkfun.com/products/13664">SparkFun SAMD21 Mini Breakout</a></li></ul> +<h5>SMD-5.2MM, SMD-5.2-REDUNDANT - 5.2mm square, surface-mount</h5> +<ul><li><a href="https://www.sparkfun.com/products/8720">Mini Pushbutton Switch - SMD</a> (COM-08720)</li> +<li>Used on <a href="https://www.sparkfun.com/products/11114">Arduino Pro Mini</a></li> +<li>REDUNDANT package connects both switch circuits together</li></ul> +<h5>SMD-6.0X3.5MM - 6.0 x 3.5mm, surface mount</h5> +<ul><li><a href="https://www.sparkfun.com/products/8229">Momentary Reset Switch SMD</a> (COM-08229)</li></ul> +<h5>SMD-6.2MM-TALL - 6.2mm square, surface mount</h5> +<ul><li><a href="https://www.sparkfun.com/products/12992">Tactile Button - SMD (6mm)</a></li> +<li>Used on <a href="https://www.sparkfun.com/products/12651">SparkFun Digital Sandbox</a></li></ul> +<h5>SMD-RIGHT-ANGLE - Right-angle, surface mount</h5> +<ul><li>Used on <a href="https://www.sparkfun.com/products/13036">SparkFun Block for Intel® Edison - Arduino</a></li></ul> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +<h3>Single Pole, Double Throw (SPDT) Switch</h3> +<p>Single-pole, double-throw (SPDT) switch.</p> +<h4>Variant Overview</h4> +<h5>SMD-AYZ0202</h5> +<ul> +<li><a href="https://www.sparkfun.com/products/597">Surface Mount DPDT Switch</a> (COM-00597)</li> +<li>Used on e.g. <a href="https://www.sparkfun.com/products/12049">LilyPad Arduino USB - ATmega32U4 Board</a> +</ul> +<h5>PTH-11.6X4.0MM</h5> +<ul> +<li><a href="https://www.sparkfun.com/products/102">SPDT Mini Power Switch</a> (COM-00102)</li> +<li>Used on e.g. <a href="https://www.sparkfun.com/products/10547">SparkFun Simon Says - Through-Hole Soldering Kit</a> (KIT-10547)</li> +</ul> +<h5>PTH-11.6X4.0MM-KIT</h5> +<ul> +<li>KIT version of SPDT Mini Power Switch - Simplifies soldering by removing tStop of switch pins - only one side can be soldered.</li> +</ul> +<h5>PTH-11.6X4.0MM-LOCK</h5> +<ul> +<li>LOCK version of SPDT Mini Power Switch - Offset pins hold switch in place for easier soldering.</li> +</ul> +<h5>SMD-RIGHT-ANGLE</h5> +<ul> +<li><a href="https://www.sparkfun.com/products/10860">Surface Mount Right Angle Switch</a> (COM-10860)</li> +<li>Used on e.g. <a href="https://www.sparkfun.com/products/13231">SparkFun ESP8266 Thing</a></li> +</ul> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +<h3>SparkFun LEDs</h3> +This library contains discrete LEDs for illumination or indication, but no displays. +<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. + + +7 Segment display Storefront SKU#: COM-08546 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +A +B +C +D +E +F +G +DP + + + + + + + + + + + + + + +<h3>7-Segment Display, single digit, 1"</h3> +<p>EZ is for kits. Pads are only exposed on the bottom side to help prevent soldering in upside down. +</p> +<p><a href="https://cdn.sparkfun.com/datasheets/Components/LED/YSD-160AR4B-8.pdf">Datasheet (Red)</a> +<br> +<a href="https://cdn.sparkfun.com/datasheets/Components/LED/YSD-160AB3C-8.pdf">Datasheet (Blue)</a></p> +<h4>SparkFun Products</h4> +<ul> +<li><a href="https://www.sparkfun.com/products/8546">7-Segment Display - LED (Red)</a> (COM-08546)</li> +<li><a href="https://www.sparkfun.com/products/9191">7-Segment Display - LED (Blue)</a> (COM-09191)</li> +</ul> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +<h3>SparkFun Power Symbols</h3> +This library contains power, ground, and voltage-supply symbols. +<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>VCC Voltage Supply</h3> + + + +>VALUE + + +<h3>Digital Ground Supply</h3> + + +>VALUE + + + + +<h3>VCC Voltage Supply</h3> +<p>Positive voltage supply (traditionally for a BJT device, C=collector).</p> + + + + + + + + + + + + +<h3>Ground Supply Symbol</h3> +<p>Generic signal ground supply symbol.</p> + + + + + + + + + + + + + + +<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>ZIF Socket 28-Pin 0.3"</h3> +tDocu shows location of lever when unlocked. +<p>Specifications: +<ul><li>Pin count:28</li> +</ul></p> +<p>Example device(s): +<ul><li>ZIF_SOCKET_28-3</li> +</ul></p> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +>NAME +>VALUE + + + + +<h3>ZIF Socket 28-Pin 0.3"</h3> +<p>Lever-action ZIF socket for 28-pin ICs</p> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +<h3>ZIF Socket 28-Pin 0.3"</h3> +<p>Lever-action ZIF socket for 28-pin ICs</p> +<p><b>SparkFun Products:</b> +<ul><li><a href="https://www.sparkfun.com/products/9175">ZIF Socket 28-Pin</a></li> +</ul></p> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +<h3>SparkFun Resistors</h3> +This library contains resistors. Reference designator:R. +<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. + + +<p><b>Generic 1608 (0603) package</b></p> +<p>0.2mm courtyard excess rounded to nearest 0.05mm.</p> + + + + + + + + +>NAME +>VALUE + + + + + +<h3>AXIAL-0.3</h3> +<p>Commonly used for 1/4W through-hole resistors. 0.3" pitch between holes.</p> + + + + + + + + + + +>Name +>Value + + +<h3>AXIAL-0.1</h3> +<p>Commonly used for 1/4W through-hole resistors. 0.1" pitch between holes.</p> + + + + + + +>Name +>Value + + +<h3>AXIAL-0.1-KIT</h3> +<p>Commonly used for 1/4W through-hole resistors. 0.1" pitch between holes.</p> +<p><b>Warning:</b> This is the KIT version of the AXIAL-0.1 package. This package has a smaller diameter top stop mask, which doesn't cover the diameter of the pad. This means only the bottom side of the pads' copper will be exposed. You'll only be able to solder to the bottom side.</p> + + + + + + +>Name +>Value + + + + + + + +<h3>AXIAL-0.3-KIT</h3> +<p>Commonly used for 1/4W through-hole resistors. 0.3" pitch between holes.</p> +<p><b>Warning:</b> This is the KIT version of the AXIAL-0.3 package. This package has a smaller diameter top stop mask, which doesn't cover the diameter of the pad. This means only the bottom side of the pads' copper will be exposed. You'll only be able to solder to the bottom side.</p> + + + + + + + + + + +>NAME +>VALUE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +>NAME +>VALUE + + + + + + +<h3>330Ω resistor</h3> +<p>A resistor is a passive two-terminal electrical component that implements electrical resistance as a circuit element. Resistors act to reduce current flow, and, at the same time, act to lower voltage levels within circuits. - Wikipedia</p> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +<h3>10kΩ resistor</h3> +<p>A resistor is a passive two-terminal electrical component that implements electrical resistance as a circuit element. Resistors act to reduce current flow, and, at the same time, act to lower voltage levels within circuits. - Wikipedia</p> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +<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>Dummy Footprint</h3> +<p>NOTHING HERE!!! For when you want a symbol with no package as an option against symbols with a package.</p> + +<p>Devices using: +<ul><li>BADGERHACK_LOGO</li> +<li>FRAME-LETTER</li></ul></p> + + + + +<h3>Schematic Frame - Letter</h3> +<p>Standard 8.5x11 US Ledger frame</p> +<p>Devices using<ul><li>FRAME-LETTER</li></ul></p> + + + + + + +<h3>Schematic Documentation Field</h3> +<p>Autofilling schematic symbol-layer info including board name, designer, revision, and save date.</p> +<p>Devices using: +<ul><li>FRAME-LEDGER</li> +<li>FRAME-LETTER</li></ul></p> + + + + + + + + + + + + + + + + + + + +Date: +>LAST_DATE_TIME +Sheet: +>SHEET +REV: +TITLE: +>DRAWING_NAME +Released under the Creative Commons +Attribution Share-Alike 4.0 License + https://creativecommons.org/licenses/by-sa/4.0/ +Design by: +>DESIGNER +>REV + + + + +<h3>Schematic Frame - Letter</h3> +<p>Standard 8.5x11 US Letter frame</p> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +TinyAdder +K. Isom in Oakland, CA +3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +