From cfc517c15ed02c258abc48a073faedbc5b72f888 Mon Sep 17 00:00:00 2001 From: Edith Boles Date: Thu, 8 May 2025 19:38:48 -0700 Subject: [PATCH] init --- .gitignore | 42 + 2AAA.lib | 6 + BAT54WS.sub | 19 + DFE201612E-2R2M.mod | 29 + LM741-2.lib | 41 + LP.kicad_sch | 1152 ++++++++++ MCP6001.lib | 175 ++ RC.lib | 6 + audio_gain.kicad_sch | 1372 +++++++++++ c1608x5r1a226m080ac_s.sub | 50 + ece223_project.kicad_pcb | 2 + ece223_project.kicad_pro | 645 ++++++ ece223_project.kicad_sch | 4529 +++++++++++++++++++++++++++++++++++++ ece223_project.wbk | 38 + input_gain.kicad_sch | 1372 +++++++++++ led.lib | 1 + led_gain.kicad_sch | 984 ++++++++ lm741.lib | 111 + rail_gen.kicad_sch | 2345 +++++++++++++++++++ startup | Bin 0 -> 184713 bytes tps613222A_trans.lib | 586 +++++ uA741.sub | 44 + 22 files changed, 13549 insertions(+) create mode 100644 .gitignore create mode 100644 2AAA.lib create mode 100644 BAT54WS.sub create mode 100644 DFE201612E-2R2M.mod create mode 100644 LM741-2.lib create mode 100644 LP.kicad_sch create mode 100644 MCP6001.lib create mode 100644 RC.lib create mode 100644 audio_gain.kicad_sch create mode 100644 c1608x5r1a226m080ac_s.sub create mode 100644 ece223_project.kicad_pcb create mode 100644 ece223_project.kicad_pro create mode 100644 ece223_project.kicad_sch create mode 100644 ece223_project.wbk create mode 100644 input_gain.kicad_sch create mode 100644 led.lib create mode 100644 led_gain.kicad_sch create mode 100644 lm741.lib create mode 100644 rail_gen.kicad_sch create mode 100644 startup create mode 100644 tps613222A_trans.lib create mode 100644 uA741.sub diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4a8b5ab --- /dev/null +++ b/.gitignore @@ -0,0 +1,42 @@ +# Adapted from: +# https://github.com/github/gitignore/blob/master/KiCad.gitignore + +# For PCBs designed using KiCad: http://www.kicad-pcb.org/ +# Format documentation: http://kicad-pcb.org/help/file-formats/ + +# Temporary files +*.000 +*.bak +*.bck +*.kicad_pcb-bak +*.kicad_sch-bak +*.kicad_prl +*.sch-bak +*~ +_autosave-* +*.tmp +*-save.pro +*-save.kicad_pcb +*_project-backups/ +fp-info-cache +/build + +# Netlist files (exported from Eeschema) +*.net + +# Autorouter files (exported from Pcbnew) +*.dsn +*.ses + +# Footprint association file (exported from Pcbnew) +*.cmp + +# Exported BOM files +*.xml +*.csv +*.tsv + +# Misc +*.log +*.raw +.svg2shenzhen-cache diff --git a/2AAA.lib b/2AAA.lib new file mode 100644 index 0000000..7364f35 --- /dev/null +++ b/2AAA.lib @@ -0,0 +1,6 @@ +.SUBCKT 2AAA + - + +R1 + 1 400m +V1 1 - PWL(0 0 1u 0 0.1m 3) + +.ENDS 2AAA diff --git a/BAT54WS.sub b/BAT54WS.sub new file mode 100644 index 0000000..3516860 --- /dev/null +++ b/BAT54WS.sub @@ -0,0 +1,19 @@ +* DIODES INCORPORATED AND ITS AFFILIATED COMPANIES AND SUBSIDIARIES (COLLECTIVELY, "DIODES") +* PROVIDE THESE SPICE MODELS AND DATA (COLLECTIVELY, THE "SM DATA") "AS IS" AND WITHOUT ANY +* REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING ANY WARRANTY OF MERCHANTABILITY +* OR FITNESS FOR A PARTICULAR PURPOSE, ANY WARRANTY ARISING FROM COURSE OF DEALING OR COURSE OF +* PERFORMANCE, OR ANY WARRANTY THAT ACCESS TO OR OPERATION OF THE SM DATA WILL BE UNINTERRUPTED, +* OR THAT THE SM DATA OR ANY SIMULATION USING THE SM DATA WILL BE ERROR FREE. TO THE MAXIMUM +* EXTENT PERMITTED BY LAW, IN NO EVENT WILL DIODES BE LIABLE FOR ANY DIRECT OR INDIRECT, +* SPECIAL, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR IN CONNECTION WITH +* THE PRODUCTION OR USE OF SM DATA, HOWEVER CAUSED AND UNDER WHATEVER CAUSE OF ACTION OR THEORY +* OF LIABILITY BROUGHT (INCLUDING, WITHOUT LIMITATION, UNDER ANY CONTRACT, NEGLIGENCE OR OTHER +* TORT THEORY OF LIABILITY), EVEN IF DIODES HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, +* AND DIODES' TOTAL LIABILITY (WHETHER IN CONTRACT, TORT OR OTHERWISE) WITH REGARD TO THE SM +* DATA WILL NOT, IN THE AGGREGATE, EXCEED ANY SUMS PAID BY YOU TO DIODES FOR THE SM DATA. + + + +*SRC=BAT54WS;DI_BAT54WS;Diodes;Si; 30.0V 0.200A 5.00ns Diodes Inc. Schottky diode +.MODEL DI_BAT54WS D ( IS=34.9u RS=0.210 BV=30.0 IBV=2.00u ++ CJO=13.3p M=0.333 N=2.28 TT=7.20n ) \ No newline at end of file diff --git a/DFE201612E-2R2M.mod b/DFE201612E-2R2M.mod new file mode 100644 index 0000000..45aaf0a --- /dev/null +++ b/DFE201612E-2R2M.mod @@ -0,0 +1,29 @@ +*---------------------------------------------------------------------- +* SPICE Model generated by Murata Manufacturing Co., Ltd. +* Copyright(C) Murata Manufacturing Co., Ltd. +* MURATA P/N : DFE201612E-2R2M +* Property : L = 2.2uH +*---------------------------------------------------------------------- +* Applicable Conditions: +* Frequency Range = 100000Hz - 1000000000Hz +* Temperature = 25 degC +* DC Bias Current = 0 A +* Small Signal Operation +*---------------------------------------------------------------------- +.SUBCKT DFE201612E-2R2M port1 port2 +C1 port1 port2 2.69e-12 +L2 port1 1 2.27e-6 +R2 1 port2 9.63e-2 +R3 port1 port2 5.59e+3 +L4 port1 2 1.32e-5 +R4 2 port2 3.19e+3 +L5 port1 3 7.78e-5 +R5 3 port2 9.63e+2 +C6 port1 4 3.18e-12 +L6 4 5 5.40e-9 +R6 5 port2 1.97e+1 +C7 port1 6 6.35e-13 +L7 6 7 6.80e-9 +R7 7 port2 4.30e+1 +.ENDS DFE201612E-2R2M +*---------------------------------------------------------------------- diff --git a/LM741-2.lib b/LM741-2.lib new file mode 100644 index 0000000..5984cfe --- /dev/null +++ b/LM741-2.lib @@ -0,0 +1,41 @@ +.subckt LM741 +NULL -IN +IN VEE -NULL OUT VCC +* Single 44V 1MHz general purpose operational amplifier +* +* PINOUT ORDER 1 2 3 4 5 6 7 +* PINOUT ORDER +NULL -IN +IN VEE -NULL OUT VCC +* +Q1 N001 +IN N007 0 NP +Q2 N001 -IN N008 0 NP +Q5 N010 N009 N008 0 PN +Q6 N012 N009 N007 0 PN +Q7 N012 N015 +NULL 0 NP +Q8 N010 N015 -NULL 0 NP +Q3 VCC N012 N015 0 NP +Q4 N001 N001 VCC 0 PN +R1 +NULL VEE 1K +R2 N015 VEE 50K +R3 -NULL VEE 1K +Q9 N009 N001 VCC 0 PN +Q10 N002 N002 VCC 0 PN +Q11 N003 N002 VCC 0 PN +Q12 N013 N013 VEE 0 NP +Q13 N009 N013 N017 0 NP +R4 N017 VEE 5K +Q14 N003 N004 N006 0 NP +Q15 N006 N014 N016 0 NP +Q16 N006 N010 N014 0 NP +R5 N014 VEE 50K +R6 N016 VEE 50 +Q17 N010 N016 VEE 0 NP +C1 N003 N010 30p +R7 N006 N004 7.5K +R8 N003 N004 4.5K +Q18 VCC N003 N005 0 NP +Q19 VEE N006 N011 0 PN +R9 N005 OUT 25 +R10 OUT N011 50 +Q20 N003 N005 OUT 0 NP +R13 N002 N013 39K +.model NP NPN(BF=125 Cje=0.5p Cjc=0.5p Rb=500) +.model PN PNP(BF=25 Cje=0.3p Cjc=1.5p Rb=250) +.ends diff --git a/LP.kicad_sch b/LP.kicad_sch new file mode 100644 index 0000000..1532f7e --- /dev/null +++ b/LP.kicad_sch @@ -0,0 +1,1152 @@ +(kicad_sch + (version 20250114) + (generator "eeschema") + (generator_version "9.0") + (uuid "a18ea684-61c3-4005-a50b-6f721c53937e") + (paper "A4") + (lib_symbols + (symbol "Amplifier_Operational:MCP6004" + (pin_names + (offset 0.127) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "U" + (at 0 5.08 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Value" "MCP6004" + (at 0 -5.08 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "" + (at -1.27 2.54 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "http://ww1.microchip.com/downloads/en/DeviceDoc/21733j.pdf" + (at 1.27 5.08 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "1MHz, Low-Power Op Amp, DIP-14/SOIC-14/TSSOP-14" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_locked" "" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "ki_keywords" "quad opamp" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_fp_filters" "SOIC*3.9x8.7mm*P1.27mm* DIP*W7.62mm* TSSOP*4.4x5mm*P0.65mm* SSOP*5.3x6.2mm*P0.65mm* MSOP*3x3mm*P0.5mm*" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "MCP6004_1_1" + (polyline + (pts + (xy -5.08 5.08) (xy 5.08 0) (xy -5.08 -5.08) (xy -5.08 5.08) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (pin input line + (at -7.62 2.54 0) + (length 2.54) + (name "+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -7.62 -2.54 0) + (length 2.54) + (name "-" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin output line + (at 7.62 0 180) + (length 2.54) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (symbol "MCP6004_2_1" + (polyline + (pts + (xy -5.08 5.08) (xy 5.08 0) (xy -5.08 -5.08) (xy -5.08 5.08) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (pin input line + (at -7.62 2.54 0) + (length 2.54) + (name "+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "5" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -7.62 -2.54 0) + (length 2.54) + (name "-" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "6" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin output line + (at 7.62 0 180) + (length 2.54) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "7" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (symbol "MCP6004_3_1" + (polyline + (pts + (xy -5.08 5.08) (xy 5.08 0) (xy -5.08 -5.08) (xy -5.08 5.08) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (pin input line + (at -7.62 2.54 0) + (length 2.54) + (name "+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "10" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -7.62 -2.54 0) + (length 2.54) + (name "-" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "9" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin output line + (at 7.62 0 180) + (length 2.54) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "8" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (symbol "MCP6004_4_1" + (polyline + (pts + (xy -5.08 5.08) (xy 5.08 0) (xy -5.08 -5.08) (xy -5.08 5.08) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (pin input line + (at -7.62 2.54 0) + (length 2.54) + (name "+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "12" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -7.62 -2.54 0) + (length 2.54) + (name "-" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "13" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin output line + (at 7.62 0 180) + (length 2.54) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "14" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (symbol "MCP6004_5_1" + (pin power_in line + (at -2.54 7.62 270) + (length 3.81) + (name "V+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin power_in line + (at -2.54 -7.62 90) + (length 3.81) + (name "V-" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "11" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "Device:C" + (pin_numbers + (hide yes) + ) + (pin_names + (offset 0.254) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "C" + (at 0.635 2.54 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Value" "C" + (at 0.635 -2.54 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "" + (at 0.9652 -3.81 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Unpolarized capacitor" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_keywords" "cap capacitor" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_fp_filters" "C_*" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "C_0_1" + (polyline + (pts + (xy -2.032 0.762) (xy 2.032 0.762) + ) + (stroke + (width 0.508) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -2.032 -0.762) (xy 2.032 -0.762) + ) + (stroke + (width 0.508) + (type default) + ) + (fill + (type none) + ) + ) + ) + (symbol "C_1_1" + (pin passive line + (at 0 3.81 270) + (length 2.794) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 0 -3.81 90) + (length 2.794) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "Device:R_US" + (pin_numbers + (hide yes) + ) + (pin_names + (offset 0) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "R" + (at 2.54 0 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "R_US" + (at -2.54 0 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 1.016 -0.254 90) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Resistor, US symbol" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_keywords" "R res resistor" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_fp_filters" "R_*" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "R_US_0_1" + (polyline + (pts + (xy 0 2.286) (xy 0 2.54) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 2.286) (xy 1.016 1.905) (xy 0 1.524) (xy -1.016 1.143) (xy 0 0.762) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 0.762) (xy 1.016 0.381) (xy 0 0) (xy -1.016 -0.381) (xy 0 -0.762) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 -0.762) (xy 1.016 -1.143) (xy 0 -1.524) (xy -1.016 -1.905) (xy 0 -2.286) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 -2.286) (xy 0 -2.54) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + ) + (symbol "R_US_1_1" + (pin passive line + (at 0 3.81 270) + (length 1.27) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 0 -3.81 90) + (length 1.27) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + ) + (junction + (at 45.72 33.02) + (diameter 0) + (color 0 0 0 0) + (uuid "62097255-2b54-43dd-9eed-27863890e436") + ) + (junction + (at 74.93 35.56) + (diameter 0) + (color 0 0 0 0) + (uuid "9e19676a-9d89-4ea4-9010-07a09d85281f") + ) + (wire + (pts + (xy 74.93 46.99) (xy 74.93 35.56) + ) + (stroke + (width 0) + (type default) + ) + (uuid "1d816f36-7e03-4bf0-98a2-d1698c6f0c06") + ) + (wire + (pts + (xy 45.72 36.83) (xy 45.72 33.02) + ) + (stroke + (width 0) + (type default) + ) + (uuid "2a41f7d9-9de2-48d6-872b-50c931c51888") + ) + (wire + (pts + (xy 53.34 46.99) (xy 74.93 46.99) + ) + (stroke + (width 0) + (type default) + ) + (uuid "340afc13-21bd-4abe-9aff-06b70826cd34") + ) + (wire + (pts + (xy 26.67 33.02) (xy 31.75 33.02) + ) + (stroke + (width 0) + (type default) + ) + (uuid "35a4d32f-b0aa-4d93-9cca-3c49ed5e998e") + ) + (wire + (pts + (xy 53.34 38.1) (xy 53.34 46.99) + ) + (stroke + (width 0) + (type default) + ) + (uuid "77cd572f-7911-48ed-94fa-c79b714303e4") + ) + (wire + (pts + (xy 74.93 35.56) (xy 72.39 35.56) + ) + (stroke + (width 0) + (type default) + ) + (uuid "8a1a4712-ab21-47f7-9024-d7d524364d5a") + ) + (wire + (pts + (xy 74.93 35.56) (xy 85.09 35.56) + ) + (stroke + (width 0) + (type default) + ) + (uuid "a1017698-6d38-4800-8df8-e3e809748f84") + ) + (wire + (pts + (xy 45.72 33.02) (xy 57.15 33.02) + ) + (stroke + (width 0) + (type default) + ) + (uuid "a6afa0af-ed27-4442-a234-c82e56be756c") + ) + (wire + (pts + (xy 45.72 44.45) (xy 45.72 48.26) + ) + (stroke + (width 0) + (type default) + ) + (uuid "b81cfe9f-d5c2-478b-8991-a602ebd83aa9") + ) + (wire + (pts + (xy 57.15 38.1) (xy 53.34 38.1) + ) + (stroke + (width 0) + (type default) + ) + (uuid "bafc6cb6-9169-40cf-a3f7-cf7036b0403d") + ) + (wire + (pts + (xy 39.37 33.02) (xy 45.72 33.02) + ) + (stroke + (width 0) + (type default) + ) + (uuid "e59fe4ba-d82c-4985-9261-da97b2011c8e") + ) + (global_label "VREF" + (shape input) + (at 45.72 48.26 270) + (fields_autoplaced yes) + (effects + (font + (size 1.27 1.27) + ) + (justify right) + ) + (uuid "39245abe-bcd0-4a65-ab10-b3fa1ea078aa") + (property "Intersheetrefs" "${INTERSHEET_REFS}" + (at 45.72 55.8414 90) + (effects + (font + (size 1.27 1.27) + ) + (justify right) + (hide yes) + ) + ) + ) + (hierarchical_label "OUT" + (shape input) + (at 85.09 35.56 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + (uuid "7363e43d-33f0-4164-b327-d94c95b3f967") + ) + (hierarchical_label "IN" + (shape input) + (at 26.67 33.02 180) + (effects + (font + (size 1.27 1.27) + ) + (justify right) + ) + (uuid "d499b7d8-60a9-4cd9-b96c-01829f0d1feb") + ) + (symbol + (lib_id "Device:R_US") + (at 35.56 33.02 90) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "02f2ae26-a267-482d-89df-ff6f66bc7e92") + (property "Reference" "R2" + (at 35.56 26.67 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "220" + (at 35.56 29.21 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 35.814 32.004 90) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 35.56 33.02 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Resistor, US symbol" + (at 35.56 33.02 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "d04cb93d-c0e2-41df-9ccd-a447dac5220e") + ) + (pin "2" + (uuid "b0170958-f33e-4e22-aae7-356f1d55f952") + ) + (instances + (project "" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396/471db3e4-e213-4827-95bb-9215dfa99989" + (reference "R2") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Device:C") + (at 45.72 40.64 180) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (uuid "60205ae9-6583-4a2d-bd82-7ce554c41d3b") + (property "Reference" "C1" + (at 40.64 39.878 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "1.5u" + (at 40.894 42.418 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 44.7548 36.83 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 45.72 40.64 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Unpolarized capacitor" + (at 45.72 40.64 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "c82feb9e-802e-44c0-8635-9f932fe05d31") + ) + (pin "2" + (uuid "d128514f-8543-490b-af69-11858397713b") + ) + (instances + (project "" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396/471db3e4-e213-4827-95bb-9215dfa99989" + (reference "C1") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Amplifier_Operational:MCP6004") + (at 64.77 35.56 0) + (unit 2) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "7e666ada-4bfe-4b1d-aee0-fba4d403af14") + (property "Reference" "U7" + (at 64.77 25.4 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "MCP6004" + (at 64.77 27.94 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 63.5 33.02 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "http://ww1.microchip.com/downloads/en/DeviceDoc/21733j.pdf" + (at 66.04 30.48 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "1MHz, Low-Power Op Amp, DIP-14/SOIC-14/TSSOP-14" + (at 64.77 35.56 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Library" "MCP6001.lib" + (at 64.77 35.56 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Name" "MCP6004" + (at 64.77 35.56 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Device" "SUBCKT" + (at 64.77 35.56 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Pins" "1=OUTA 2=A- 3=A+ 4=VDD 5=B+ 6=B- 7=OUTB 8=OUTC 9=C- 10=C+ 11=VSS 12=D+ 13=D- 14=OUTD" + (at 64.77 35.56 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "13" + (uuid "5fdca11d-2734-4e6e-807e-9dcb8998d831") + ) + (pin "8" + (uuid "30f5683a-d75d-472c-ae7c-ae7e62ac6e69") + ) + (pin "10" + (uuid "2acf4fa4-7993-4464-b7ca-577fd6301819") + ) + (pin "2" + (uuid "198220aa-585b-47c9-aa90-04bdee71f59a") + ) + (pin "3" + (uuid "92257fd3-d5ba-4b08-9997-dd833f089e4a") + ) + (pin "14" + (uuid "03c0f5cb-d291-4d4a-bd25-e333f4398241") + ) + (pin "4" + (uuid "eb281645-8f36-4040-979f-3aaa2dc6413c") + ) + (pin "7" + (uuid "8bfbddb6-b6e0-4acb-b3c6-d994bb476ac9") + ) + (pin "9" + (uuid "270b9ac1-f4ad-4341-af54-699650b53537") + ) + (pin "6" + (uuid "dbb6afd0-c0a8-4ac0-b29a-470e61ff48a7") + ) + (pin "1" + (uuid "d938bc20-94b3-4b57-bae8-dfd38ef0d125") + ) + (pin "5" + (uuid "d53a8912-fde7-46a7-a7d1-4ed504a3a21e") + ) + (pin "11" + (uuid "bbb76668-a696-4f17-a42c-96f1401a31f2") + ) + (pin "12" + (uuid "089a5141-05eb-4eae-807f-00e48fdee24c") + ) + (instances + (project "ece223_project" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396/471db3e4-e213-4827-95bb-9215dfa99989" + (reference "U7") + (unit 2) + ) + ) + ) + ) +) diff --git a/MCP6001.lib b/MCP6001.lib new file mode 100644 index 0000000..d429b99 --- /dev/null +++ b/MCP6001.lib @@ -0,0 +1,175 @@ +.SUBCKT MCP6001 1 2 3 4 5 +* | | | | | +* | | | | Output +* | | | Negative Supply +* | | Positive Supply +* | Inverting Input +* Non-inverting Input +* +******************************************************************************** +* Software License Agreement * +* * +* The software supplied herewith by Microchip Technology Incorporated (the * +* "Company") is intended and supplied to you, the Company's customer, for use * +* soley and exclusively on Microchip products. * +* * +* The software is owned by the Company and/or its supplier, and is protected * +* under applicable copyright laws. All rights are reserved. Any use in * +* violation of the foregoing restrictions may subject the user to criminal * +* sanctions under applicable laws, as well as to civil liability for the * +* breach of the terms and conditions of this license. * +* * +* THIS SOFTWARE IS PROVIDED IN AN "AS IS" CONDITION. NO WARRANTIES, WHETHER * +* EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED * +* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO * +* THIS SOFTWARE. THE COMPANY SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR * +* SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. * +******************************************************************************** +* +* Macromodel for the MCP6001/2/4 op amp family: +* MCP6001, MCP6001R, MCP6001U, MCP6002, MCP6004 +* +* Revision History: +* REV A: 21-Jun-02, Created model +* REV B: 16-Jul-02, Improved output stage +* REV C: 03-Jan-03, Added MCP6001 +* REV D: 19-Aug-06, Added over temperature, improved output stage, +* fixed overdrive recovery time +* REV E: 27-Jul-07, Updated output impedance for better model stability w/cap load +* REV F: 09-Jul-12, Added MCP6001R, MCP6001U +* REV G: Fix syntax extra bracket G35, G36 +* +* Recommendations: +* Use PSPICE (other simulators may require translation) +* For a quick, effective design, use a combination of: data sheet +* specs, bench testing, and simulations with this macromodel +* For high impedance circuits, set GMIN=100F in .OPTIONS +* +* Supported: +* Typical performance for temperature range (-40 to 125) degrees Celsius +* DC, AC, Transient, and Noise analyses. +* Most specs, including: offsets, DC PSRR, DC CMRR, input impedance, +* open loop gain, voltage ranges, supply current, ... , etc. +* Temperature effects for Ibias, Iquiescent, Iout short circuit +* current, Vsat on both rails, Slew Rate vs. Temp and P.S. +* +* Not Supported: +* Some Variation in specs vs. Power Supply Voltage +* Monte Carlo (Vos, Ib), Process variation +* Distortion (detailed non-linear behavior) +* Behavior outside normal operating region +* +* Input Stage +V10 3 10 -500M +R10 10 11 6.90K +R11 10 12 6.90K +C11 11 12 0.2p +C12 1 0 6.00P +E12 71 14 POLY(4) 20 0 21 0 26 0 27 0 1.00M 20.1 20.1 1 1 +G12 1 0 62 0 1m +M12 11 14 15 15 NMI L=2.00U W=42.0U +M14 12 2 15 15 NMI L=2.00U W=42.0U +G14 2 0 62 0 1m +C14 2 0 6.00P +I15 15 4 50.0U +V16 16 4 -300M +GD16 16 1 TABLE {V(16,1)} ((-100,-1p)(0,0)(1m,1n)(2m,1m)(3m,1)) +V13 3 13 -300M +GD13 2 13 TABLE {V(2,13)} ((-100,-1p)(0,0)(1m,1n)(2m,1m)(3m,1)) +R70 1 0 20.6T +R71 2 0 20.6T +R72 1 2 20T +I80 1 2 0.5p +* +* Noise, PSRR, and CMRR +I20 21 20 423U +D20 20 0 DN1 +D21 0 21 DN1 +G26 0 26 POLY(1) 3 4 110U -49U +R26 26 0 1 +G27 0 27 POLY(2) 1 0 2 0 -440U 39.7U 39.7U +R27 27 0 1 +* +* Open Loop Gain, Slew Rate +G30 0 30 POLY(1) 12 11 0 1 +R30 30 0 1K +G31 0 31 POLY(1) 3 4 86 5.25 +R31 31 0 1 TC=2.8m +GD31 30 31 TABLE {V(30,31)} ((-11,-1)(-10,-10n)(0,0)(1m,1000)) +G32 32 0 POLY(1) 3 4 113.7 3.5 +R32 32 0 1 TC=2.65m +GD32 30 32 TABLE {V(30,32)} ((-1m,-1000)(0,0)(10,10n)(11,1)) +G33 0 33 30 0 1m +R33 33 0 1k +G34 0 34 33 0 425M +R34 34 0 1K +C34 34 0 74U +G37 0 37 34 0 1m +R37 37 0 1K +C37 37 0 41.6P +G38 0 38 37 0 1m +R38 39 0 1K +L38 38 39 100U +E38 35 0 38 0 1 +G35 33 0 TABLE {V(35,3)} ((-1,-1n)(0,0)(16,1n)(16.1,1)) +G36 33 0 TABLE {V(35,4)} ((-16.1,-1)(-16,-1n)(0,0)(1,1n)) +* +* Output Stage +R80 50 0 100MEG +G50 0 50 57 96 2 +R58 57 96 0.50 +R57 57 0 750 +C58 5 0 2.00P +G57 0 57 POLY(3) 3 0 4 0 35 0 0 0.67M 0.67M 1.5M +GD55 55 57 TABLE {V(55,57)} ((-2m,-1)(-1m,-1m)(0,0)(10,1n)) +GD56 57 56 TABLE {V(57,56)} ((-2m,-1)(-1m,-1m)(0,0)(10,1n)) +E55 55 0 POLY(2) 3 0 51 0 -0.7m 1 -40.0M +E56 56 0 POLY(2) 4 0 52 0 1.2m 1 -37.0M +R51 51 0 1k +R52 52 0 1k +GD51 50 51 TABLE {V(50,51)} ((-10,-1n)(0,0)(1m,1m)(2m,1)) +GD52 50 52 TABLE {V(50,52)} ((-2m,-1)(-1m,-1m)(0,0)(10,1n)) +G53 3 0 POLY(1) 51 0 -49U 1M +G54 0 4 POLY(1) 52 0 -49U -1M +* +* Current Limit +G99 96 5 99 0 1 +R98 0 98 1 TC=-2.8M,2.63U +G97 0 98 TABLE { V(96,5) } ((-11.0,-10.0M)(-1.00M,-9.9M)(0,0)(1.00M,9.9M)(11.0,10.0M)) +E97 99 0 VALUE { V(98)*((V(3)-V(4))*359M + 310M)} +D98 4 5 DESD +D99 5 3 DESD +* +* Temperature / Voltage Sensitive IQuiscent +R61 0 61 100 TC 3.11M 4.51U +G61 3 4 61 0 1 +G60 0 61 TABLE {V(3, 4)} ++ ((0,0)(900M,0.0106U)(1.00,0.20U)(1.3,0.63U) ++ (1.5,0.66U)(1.6,1.06U)(5.5,1.10U)) +* +* Temp Sensitive offset voltage +I73 0 70 DC 1uA +R74 0 70 1 TC=2 +E75 1 71 70 0 1 +* +* Temp Sensistive IBias +I62 0 62 DC 1uA +R62 0 62 REXP 58.2u +* Voltage on R62 used for G12, G14 in input stage +* +* Models +.MODEL NMI NMOS +.MODEL DESD D N=1 IS=1.00E-15 +.MODEL DL D N=1 IS=1F +.MODEL DN1 D IS=1P KF=146E-18 AF=1 +.MODEL REXP RES TCE=10.1 +.ENDS MCP6001 + +.SUBCKT MCP6004 OUTA A- A+ VDD B+ B- OUTB OUTC C- C+ VSS D+ D- OUTD + +X1 A+ A- VDD VSS OUTA MCP6001 +X2 B+ B- VDD VSS OUTB MCP6001 +X3 C+ C- VDD VSS OUTC MCP6001 +X4 D+ D- VDD VSS OUTD MCP6001 + +.ENDS MCP6004 diff --git a/RC.lib b/RC.lib new file mode 100644 index 0000000..e1c8157 --- /dev/null +++ b/RC.lib @@ -0,0 +1,6 @@ +.SUBCKT RC + - + +R1 + 1 3.7m +C1 1 - 22u + +.ENDS RC diff --git a/audio_gain.kicad_sch b/audio_gain.kicad_sch new file mode 100644 index 0000000..7c5004d --- /dev/null +++ b/audio_gain.kicad_sch @@ -0,0 +1,1372 @@ +(kicad_sch + (version 20250114) + (generator "eeschema") + (generator_version "9.0") + (uuid "e8ea0e98-76fb-4fc6-b23e-90888600fedf") + (paper "A4") + (lib_symbols + (symbol "Amplifier_Operational:MCP6004" + (pin_names + (offset 0.127) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "U" + (at 0 5.08 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Value" "MCP6004" + (at 0 -5.08 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "" + (at -1.27 2.54 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "http://ww1.microchip.com/downloads/en/DeviceDoc/21733j.pdf" + (at 1.27 5.08 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "1MHz, Low-Power Op Amp, DIP-14/SOIC-14/TSSOP-14" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_locked" "" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "ki_keywords" "quad opamp" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_fp_filters" "SOIC*3.9x8.7mm*P1.27mm* DIP*W7.62mm* TSSOP*4.4x5mm*P0.65mm* SSOP*5.3x6.2mm*P0.65mm* MSOP*3x3mm*P0.5mm*" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "MCP6004_1_1" + (polyline + (pts + (xy -5.08 5.08) (xy 5.08 0) (xy -5.08 -5.08) (xy -5.08 5.08) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (pin input line + (at -7.62 2.54 0) + (length 2.54) + (name "+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -7.62 -2.54 0) + (length 2.54) + (name "-" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin output line + (at 7.62 0 180) + (length 2.54) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (symbol "MCP6004_2_1" + (polyline + (pts + (xy -5.08 5.08) (xy 5.08 0) (xy -5.08 -5.08) (xy -5.08 5.08) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (pin input line + (at -7.62 2.54 0) + (length 2.54) + (name "+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "5" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -7.62 -2.54 0) + (length 2.54) + (name "-" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "6" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin output line + (at 7.62 0 180) + (length 2.54) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "7" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (symbol "MCP6004_3_1" + (polyline + (pts + (xy -5.08 5.08) (xy 5.08 0) (xy -5.08 -5.08) (xy -5.08 5.08) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (pin input line + (at -7.62 2.54 0) + (length 2.54) + (name "+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "10" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -7.62 -2.54 0) + (length 2.54) + (name "-" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "9" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin output line + (at 7.62 0 180) + (length 2.54) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "8" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (symbol "MCP6004_4_1" + (polyline + (pts + (xy -5.08 5.08) (xy 5.08 0) (xy -5.08 -5.08) (xy -5.08 5.08) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (pin input line + (at -7.62 2.54 0) + (length 2.54) + (name "+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "12" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -7.62 -2.54 0) + (length 2.54) + (name "-" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "13" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin output line + (at 7.62 0 180) + (length 2.54) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "14" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (symbol "MCP6004_5_1" + (pin power_in line + (at -2.54 7.62 270) + (length 3.81) + (name "V+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin power_in line + (at -2.54 -7.62 90) + (length 3.81) + (name "V-" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "11" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "Device:R_Potentiometer_US" + (pin_names + (offset 1.016) + (hide yes) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "RV" + (at -4.445 0 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "R_Potentiometer_US" + (at -2.54 0 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Potentiometer, US symbol" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_keywords" "resistor variable" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_fp_filters" "Potentiometer*" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "R_Potentiometer_US_0_1" + (polyline + (pts + (xy 0 2.54) (xy 0 2.286) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 2.286) (xy 1.016 1.905) (xy 0 1.524) (xy -1.016 1.143) (xy 0 0.762) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 0.762) (xy 1.016 0.381) (xy 0 0) (xy -1.016 -0.381) (xy 0 -0.762) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 -0.762) (xy 1.016 -1.143) (xy 0 -1.524) (xy -1.016 -1.905) (xy 0 -2.286) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 -2.286) (xy 0 -2.54) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 1.143 0) (xy 2.286 0.508) (xy 2.286 -0.508) (xy 1.143 0) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type outline) + ) + ) + (polyline + (pts + (xy 2.54 0) (xy 1.524 0) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + ) + (symbol "R_Potentiometer_US_1_1" + (pin passive line + (at 0 3.81 270) + (length 1.27) + (name "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 0 -3.81 90) + (length 1.27) + (name "3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 3.81 0 180) + (length 1.27) + (name "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "Device:R_US" + (pin_numbers + (hide yes) + ) + (pin_names + (offset 0) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "R" + (at 2.54 0 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "R_US" + (at -2.54 0 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 1.016 -0.254 90) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Resistor, US symbol" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_keywords" "R res resistor" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_fp_filters" "R_*" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "R_US_0_1" + (polyline + (pts + (xy 0 2.286) (xy 0 2.54) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 2.286) (xy 1.016 1.905) (xy 0 1.524) (xy -1.016 1.143) (xy 0 0.762) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 0.762) (xy 1.016 0.381) (xy 0 0) (xy -1.016 -0.381) (xy 0 -0.762) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 -0.762) (xy 1.016 -1.143) (xy 0 -1.524) (xy -1.016 -1.905) (xy 0 -2.286) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 -2.286) (xy 0 -2.54) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + ) + (symbol "R_US_1_1" + (pin passive line + (at 0 3.81 270) + (length 1.27) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 0 -3.81 90) + (length 1.27) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + ) + (junction + (at 45.72 50.8) + (diameter 0) + (color 0 0 0 0) + (uuid "44680ec5-2a3e-4d88-b277-f2ff281bb45e") + ) + (junction + (at 68.58 34.29) + (diameter 0) + (color 0 0 0 0) + (uuid "7690d4e9-bb1b-493a-b1f5-5071a050ce72") + ) + (junction + (at 31.75 50.8) + (diameter 0) + (color 0 0 0 0) + (uuid "cc38a2f8-1639-4d5d-bd05-6de043ddece2") + ) + (wire + (pts + (xy 31.75 24.13) (xy 31.75 27.94) + ) + (stroke + (width 0) + (type default) + ) + (uuid "1effaa2b-f99b-45f7-a7a6-fff32057c701") + ) + (wire + (pts + (xy 45.72 36.83) (xy 48.26 36.83) + ) + (stroke + (width 0) + (type default) + ) + (uuid "23ea1311-80dc-456c-947c-d29c53e75aba") + ) + (wire + (pts + (xy 68.58 50.8) (xy 68.58 34.29) + ) + (stroke + (width 0) + (type default) + ) + (uuid "34d64e41-dd59-4221-b024-d47665e014da") + ) + (wire + (pts + (xy 68.58 34.29) (xy 76.2 34.29) + ) + (stroke + (width 0) + (type default) + ) + (uuid "3557f91f-faf4-48e1-888a-25f70f4f6632") + ) + (wire + (pts + (xy 35.56 31.75) (xy 48.26 31.75) + ) + (stroke + (width 0) + (type default) + ) + (uuid "44fb37e0-e8e6-4041-a8fd-d428c3cbc423") + ) + (wire + (pts + (xy 35.56 50.8) (xy 31.75 50.8) + ) + (stroke + (width 0) + (type default) + ) + (uuid "5115e97a-c0f1-4af4-88a1-631cb1cdab8c") + ) + (wire + (pts + (xy 31.75 53.34) (xy 31.75 50.8) + ) + (stroke + (width 0) + (type default) + ) + (uuid "53eebce3-1999-41ef-b85f-fac70d8908c0") + ) + (wire + (pts + (xy 25.4 24.13) (xy 31.75 24.13) + ) + (stroke + (width 0) + (type default) + ) + (uuid "87921b5b-c240-4f6b-b7d7-e6c6fb7209e0") + ) + (wire + (pts + (xy 45.72 50.8) (xy 53.34 50.8) + ) + (stroke + (width 0) + (type default) + ) + (uuid "93d2d676-23ae-4181-95ea-11871719e6f4") + ) + (wire + (pts + (xy 63.5 34.29) (xy 68.58 34.29) + ) + (stroke + (width 0) + (type default) + ) + (uuid "b77bcc1e-fad7-4585-8cef-5b935cdedb68") + ) + (wire + (pts + (xy 43.18 50.8) (xy 45.72 50.8) + ) + (stroke + (width 0) + (type default) + ) + (uuid "c0aa92f6-f391-446b-9b52-4fc05aecca2b") + ) + (wire + (pts + (xy 45.72 50.8) (xy 45.72 36.83) + ) + (stroke + (width 0) + (type default) + ) + (uuid "cff051d8-669c-4229-b068-bd812f5efd8d") + ) + (wire + (pts + (xy 31.75 35.56) (xy 31.75 50.8) + ) + (stroke + (width 0) + (type default) + ) + (uuid "e82cd769-0582-4125-8981-71cf08a2c046") + ) + (wire + (pts + (xy 60.96 50.8) (xy 68.58 50.8) + ) + (stroke + (width 0) + (type default) + ) + (uuid "e8c818ba-df62-4ba4-81bd-7430db22376e") + ) + (global_label "VREF" + (shape input) + (at 31.75 53.34 270) + (fields_autoplaced yes) + (effects + (font + (size 1.27 1.27) + ) + (justify right) + ) + (uuid "20590858-c840-4c0c-86f1-9d99785982f1") + (property "Intersheetrefs" "${INTERSHEET_REFS}" + (at 31.75 60.9214 90) + (effects + (font + (size 1.27 1.27) + ) + (justify right) + (hide yes) + ) + ) + ) + (hierarchical_label "IN" + (shape input) + (at 25.4 24.13 180) + (effects + (font + (size 1.27 1.27) + ) + (justify right) + ) + (uuid "145b7da1-30ef-44cc-a22c-a1ad5541e4d3") + ) + (hierarchical_label "OUT" + (shape input) + (at 76.2 34.29 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + (uuid "ec7290fd-8b11-41b3-b8cb-cba5066f869c") + ) + (symbol + (lib_id "Amplifier_Operational:MCP6004") + (at 55.88 34.29 0) + (unit 3) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "3555664e-135a-4615-b753-53326d2d9172") + (property "Reference" "U7" + (at 55.88 24.13 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "MCP6004" + (at 55.88 26.67 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 54.61 31.75 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "http://ww1.microchip.com/downloads/en/DeviceDoc/21733j.pdf" + (at 57.15 29.21 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "1MHz, Low-Power Op Amp, DIP-14/SOIC-14/TSSOP-14" + (at 55.88 34.29 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Library" "MCP6001.lib" + (at 55.88 34.29 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Name" "MCP6004" + (at 55.88 34.29 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Device" "SUBCKT" + (at 55.88 34.29 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Pins" "1=OUTA 2=A- 3=A+ 4=VDD 5=B+ 6=B- 7=OUTB 8=OUTC 9=C- 10=C+ 11=VSS 12=D+ 13=D- 14=OUTD" + (at 55.88 34.29 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "13" + (uuid "5fdca11d-2734-4e6e-807e-9dcb8998d831") + ) + (pin "8" + (uuid "e0685e79-f649-44ef-9b10-e50dafe2abef") + ) + (pin "10" + (uuid "72fa88aa-a1b7-45a3-9dc5-314332fd4ace") + ) + (pin "2" + (uuid "198220aa-585b-47c9-aa90-04bdee71f59a") + ) + (pin "3" + (uuid "92257fd3-d5ba-4b08-9997-dd833f089e4a") + ) + (pin "14" + (uuid "03c0f5cb-d291-4d4a-bd25-e333f4398241") + ) + (pin "4" + (uuid "eb281645-8f36-4040-979f-3aaa2dc6413c") + ) + (pin "7" + (uuid "280c5749-90d5-4212-9c8d-2e8cd0cd3c01") + ) + (pin "9" + (uuid "4f66890c-a1fc-4f6b-80d5-9f841c57c92c") + ) + (pin "6" + (uuid "481802bf-8574-4fd0-a3b4-633e10b6c282") + ) + (pin "1" + (uuid "d938bc20-94b3-4b57-bae8-dfd38ef0d125") + ) + (pin "5" + (uuid "658addb7-8557-4d3d-b9de-1cda143928f2") + ) + (pin "11" + (uuid "bbb76668-a696-4f17-a42c-96f1401a31f2") + ) + (pin "12" + (uuid "089a5141-05eb-4eae-807f-00e48fdee24c") + ) + (instances + (project "ece223_project" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396/1f3891d7-9ed5-413e-b758-2e8f45955b50" + (reference "U7") + (unit 3) + ) + ) + ) + ) + (symbol + (lib_id "Device:R_Potentiometer_US") + (at 31.75 31.75 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "78db22f2-47ae-4d7e-a67e-26665d34e16a") + (property "Reference" "RV2" + (at 29.21 30.4799 0) + (effects + (font + (size 1.27 1.27) + ) + (justify right) + ) + ) + (property "Value" "5k" + (at 29.21 33.0199 0) + (effects + (font + (size 1.27 1.27) + ) + (justify right) + ) + ) + (property "Footprint" "" + (at 31.75 31.75 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 31.75 31.75 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Potentiometer, US symbol" + (at 31.75 31.75 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Device" "R" + (at 31.75 31.75 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Type" "POT" + (at 31.75 31.75 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Pins" "1=r0 2=wiper 3=r1" + (at 31.75 31.75 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Params" "pos=0.5" + (at 31.75 31.75 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "2" + (uuid "b143581d-ad60-4aa2-9af0-417e548a3869") + ) + (pin "3" + (uuid "baf78f2d-0527-4ada-a927-e8b145d8dff9") + ) + (pin "1" + (uuid "b3b8fc39-0bb5-4861-8c39-5e5392d35052") + ) + (instances + (project "" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396/1f3891d7-9ed5-413e-b758-2e8f45955b50" + (reference "RV2") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Device:R_US") + (at 39.37 50.8 90) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "a87c4466-b97b-49f6-972e-0a8733c8b65c") + (property "Reference" "R7" + (at 39.37 44.45 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "10k" + (at 39.37 46.99 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 39.624 49.784 90) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 39.37 50.8 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Resistor, US symbol" + (at 39.37 50.8 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "17d4b3b5-9d40-4ed7-b852-12f334f8d761") + ) + (pin "2" + (uuid "41ae0255-5897-4eb4-be38-066044fe31f1") + ) + (instances + (project "" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396/1f3891d7-9ed5-413e-b758-2e8f45955b50" + (reference "R7") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Device:R_US") + (at 57.15 50.8 90) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "b34cccc6-0850-4ae0-9681-a854e214d449") + (property "Reference" "R8" + (at 57.15 44.45 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "30k" + (at 57.15 46.99 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 57.404 49.784 90) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 57.15 50.8 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Resistor, US symbol" + (at 57.15 50.8 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "9c737f48-ec89-4e29-8d19-4fd6bb7362d1") + ) + (pin "2" + (uuid "0f167025-c3d4-4ec8-9193-615f11a09576") + ) + (instances + (project "ece223_project" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396/1f3891d7-9ed5-413e-b758-2e8f45955b50" + (reference "R8") + (unit 1) + ) + ) + ) + ) +) diff --git a/c1608x5r1a226m080ac_s.sub b/c1608x5r1a226m080ac_s.sub new file mode 100644 index 0000000..3bb9775 --- /dev/null +++ b/c1608x5r1a226m080ac_s.sub @@ -0,0 +1,50 @@ +*---------------------------------------------------------------------- +* SPICE Netlist Generated by TDK Corporation +* Copyright(C) 2015 TDK Corporation. +* All Rights Reserved. +*---------------------------------------------------------------------- +* TDK P/N: C1608X5R1A226M080AC (Multilayer Ceramic Chip Capacitor) +* Property: C=22uF +* Size(LxWxT): 1.6x0.8x0.8mm, 0.063x0.031x0.031inches +* Model Type: Simple Model +* Model Generated on June 29, 2015 +*---------------------------------------------------------------------- +* Terms and conditions regarding TDK Simulation Models: +* 1)This simulation model is being provided solely for informational +* purposes. Please refer to the specifications of the products in +* terms of detailed characteristics of such products. +* 2)In no event shall TDK Corporation of any of its subsidiaries be +* liable for any loss or damage arising, directly or indirectly, +* from any information contained in this simulation model, including, +* but not limited to loss or damages arising from any inaccuracies, +* omissions or errors in connection with such information. +* 3)Any and all copyrights on this simulation model are owned by +* TDK Corporation. Duplication or redistribution of this simulation +* model without prior written permission from TDK Corporation +* is prohibited. +* 4)This simulation model is subject to any modification or change +* without any prior notice. +* 5)Neither TDK Corporation nor any of its subsidiaries shall make any +* warranty, express or implied, including but not limited to the +* correctness, implied warranties of merchantability and fitness for +* a particular purpose with respect to this simulation models. +* 6)The use of this simulation model shall be deemed to have consented +* to the terms and conditions hereof. +*---------------------------------------------------------------------- +* External Node Assignments: +* +* n1 ---| |--- n2 +* +*---------------------------------------------------------------------- +* Applicable Conditions: +* Temperature = 25 degC +* DC Bias Voltage = 0 V +* Small Signal Operation +*---------------------------------------------------------------------- +.SUBCKT C1608X5R1A226M080AC_s n1 n2 +C1 n1 11 2.20000000E-05 +L1 n2 12 4.20000000E-10 +R1 11 12 3.88960070E-03 +R2 n1 11 4.00000000E+06 +.ENDS C1608X5R1A226M080AC_s +*---------------------------------------------------------------------- diff --git a/ece223_project.kicad_pcb b/ece223_project.kicad_pcb new file mode 100644 index 0000000..c547853 --- /dev/null +++ b/ece223_project.kicad_pcb @@ -0,0 +1,2 @@ +(kicad_pcb (version 20241229) (generator "pcbnew") (generator_version "9.0") +) \ No newline at end of file diff --git a/ece223_project.kicad_pro b/ece223_project.kicad_pro new file mode 100644 index 0000000..8ae0d71 --- /dev/null +++ b/ece223_project.kicad_pro @@ -0,0 +1,645 @@ +{ + "board": { + "3dviewports": [], + "design_settings": { + "defaults": { + "apply_defaults_to_fp_fields": false, + "apply_defaults_to_fp_shapes": false, + "apply_defaults_to_fp_text": false, + "board_outline_line_width": 0.05, + "copper_line_width": 0.2, + "copper_text_italic": false, + "copper_text_size_h": 1.5, + "copper_text_size_v": 1.5, + "copper_text_thickness": 0.3, + "copper_text_upright": false, + "courtyard_line_width": 0.05, + "dimension_precision": 4, + "dimension_units": 3, + "dimensions": { + "arrow_length": 1270000, + "extension_offset": 500000, + "keep_text_aligned": true, + "suppress_zeroes": true, + "text_position": 0, + "units_format": 0 + }, + "fab_line_width": 0.1, + "fab_text_italic": false, + "fab_text_size_h": 1.0, + "fab_text_size_v": 1.0, + "fab_text_thickness": 0.15, + "fab_text_upright": false, + "other_line_width": 0.1, + "other_text_italic": false, + "other_text_size_h": 1.0, + "other_text_size_v": 1.0, + "other_text_thickness": 0.15, + "other_text_upright": false, + "pads": { + "drill": 0.8, + "height": 1.27, + "width": 2.54 + }, + "silk_line_width": 0.1, + "silk_text_italic": false, + "silk_text_size_h": 1.0, + "silk_text_size_v": 1.0, + "silk_text_thickness": 0.1, + "silk_text_upright": false, + "zones": { + "min_clearance": 0.5 + } + }, + "diff_pair_dimensions": [], + "drc_exclusions": [], + "meta": { + "version": 2 + }, + "rule_severities": { + "annular_width": "error", + "clearance": "error", + "connection_width": "warning", + "copper_edge_clearance": "error", + "copper_sliver": "warning", + "courtyards_overlap": "error", + "creepage": "error", + "diff_pair_gap_out_of_range": "error", + "diff_pair_uncoupled_length_too_long": "error", + "drill_out_of_range": "error", + "duplicate_footprints": "warning", + "extra_footprint": "warning", + "footprint": "error", + "footprint_filters_mismatch": "ignore", + "footprint_symbol_mismatch": "warning", + "footprint_type_mismatch": "ignore", + "hole_clearance": "error", + "hole_to_hole": "warning", + "holes_co_located": "warning", + "invalid_outline": "error", + "isolated_copper": "warning", + "item_on_disabled_layer": "error", + "items_not_allowed": "error", + "length_out_of_range": "error", + "lib_footprint_issues": "warning", + "lib_footprint_mismatch": "warning", + "malformed_courtyard": "error", + "microvia_drill_out_of_range": "error", + "mirrored_text_on_front_layer": "warning", + "missing_courtyard": "ignore", + "missing_footprint": "warning", + "net_conflict": "warning", + "nonmirrored_text_on_back_layer": "warning", + "npth_inside_courtyard": "ignore", + "padstack": "warning", + "pth_inside_courtyard": "ignore", + "shorting_items": "error", + "silk_edge_clearance": "warning", + "silk_over_copper": "warning", + "silk_overlap": "warning", + "skew_out_of_range": "error", + "solder_mask_bridge": "error", + "starved_thermal": "error", + "text_height": "warning", + "text_thickness": "warning", + "through_hole_pad_without_hole": "error", + "too_many_vias": "error", + "track_angle": "error", + "track_dangling": "warning", + "track_segment_length": "error", + "track_width": "error", + "tracks_crossing": "error", + "unconnected_items": "error", + "unresolved_variable": "error", + "via_dangling": "warning", + "zones_intersect": "error" + }, + "rules": { + "max_error": 0.005, + "min_clearance": 0.0, + "min_connection": 0.0, + "min_copper_edge_clearance": 0.5, + "min_groove_width": 0.0, + "min_hole_clearance": 0.25, + "min_hole_to_hole": 0.25, + "min_microvia_diameter": 0.2, + "min_microvia_drill": 0.1, + "min_resolved_spokes": 2, + "min_silk_clearance": 0.0, + "min_text_height": 0.8, + "min_text_thickness": 0.08, + "min_through_hole_diameter": 0.3, + "min_track_width": 0.0, + "min_via_annular_width": 0.1, + "min_via_diameter": 0.5, + "solder_mask_to_copper_clearance": 0.0, + "use_height_for_length_calcs": true + }, + "teardrop_options": [ + { + "td_onpthpad": true, + "td_onroundshapesonly": false, + "td_onsmdpad": true, + "td_ontrackend": false, + "td_onvia": true + } + ], + "teardrop_parameters": [ + { + "td_allow_use_two_tracks": true, + "td_curve_segcount": 0, + "td_height_ratio": 1.0, + "td_length_ratio": 0.5, + "td_maxheight": 2.0, + "td_maxlen": 1.0, + "td_on_pad_in_zone": false, + "td_target_name": "td_round_shape", + "td_width_to_size_filter_ratio": 0.9 + }, + { + "td_allow_use_two_tracks": true, + "td_curve_segcount": 0, + "td_height_ratio": 1.0, + "td_length_ratio": 0.5, + "td_maxheight": 2.0, + "td_maxlen": 1.0, + "td_on_pad_in_zone": false, + "td_target_name": "td_rect_shape", + "td_width_to_size_filter_ratio": 0.9 + }, + { + "td_allow_use_two_tracks": true, + "td_curve_segcount": 0, + "td_height_ratio": 1.0, + "td_length_ratio": 0.5, + "td_maxheight": 2.0, + "td_maxlen": 1.0, + "td_on_pad_in_zone": false, + "td_target_name": "td_track_end", + "td_width_to_size_filter_ratio": 0.9 + } + ], + "track_widths": [], + "tuning_pattern_settings": { + "diff_pair_defaults": { + "corner_radius_percentage": 80, + "corner_style": 1, + "max_amplitude": 1.0, + "min_amplitude": 0.2, + "single_sided": false, + "spacing": 1.0 + }, + "diff_pair_skew_defaults": { + "corner_radius_percentage": 80, + "corner_style": 1, + "max_amplitude": 1.0, + "min_amplitude": 0.2, + "single_sided": false, + "spacing": 0.6 + }, + "single_track_defaults": { + "corner_radius_percentage": 80, + "corner_style": 1, + "max_amplitude": 1.0, + "min_amplitude": 0.2, + "single_sided": false, + "spacing": 0.6 + } + }, + "via_dimensions": [], + "zones_allow_external_fillets": false + }, + "ipc2581": { + "dist": "", + "distpn": "", + "internal_id": "", + "mfg": "", + "mpn": "" + }, + "layer_pairs": [], + "layer_presets": [], + "viewports": [] + }, + "boards": [], + "cvpcb": { + "equivalence_files": [] + }, + "erc": { + "erc_exclusions": [], + "meta": { + "version": 0 + }, + "pin_map": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 2 + ], + [ + 0, + 2, + 0, + 1, + 0, + 0, + 1, + 0, + 2, + 2, + 2, + 2 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 2 + ], + [ + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 1, + 2, + 1, + 1, + 2 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 2 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2 + ], + [ + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 2 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 2 + ], + [ + 0, + 2, + 1, + 2, + 0, + 0, + 1, + 0, + 2, + 2, + 2, + 2 + ], + [ + 0, + 2, + 0, + 1, + 0, + 0, + 1, + 0, + 2, + 0, + 0, + 2 + ], + [ + 0, + 2, + 1, + 1, + 0, + 0, + 1, + 0, + 2, + 0, + 0, + 2 + ], + [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ] + ], + "rule_severities": { + "bus_definition_conflict": "error", + "bus_entry_needed": "error", + "bus_to_bus_conflict": "error", + "bus_to_net_conflict": "error", + "different_unit_footprint": "error", + "different_unit_net": "error", + "duplicate_reference": "error", + "duplicate_sheet_names": "error", + "endpoint_off_grid": "warning", + "extra_units": "error", + "footprint_filter": "ignore", + "footprint_link_issues": "warning", + "four_way_junction": "ignore", + "global_label_dangling": "warning", + "hier_label_mismatch": "error", + "label_dangling": "error", + "label_multiple_wires": "warning", + "lib_symbol_issues": "warning", + "lib_symbol_mismatch": "warning", + "missing_bidi_pin": "warning", + "missing_input_pin": "warning", + "missing_power_pin": "error", + "missing_unit": "warning", + "multiple_net_names": "warning", + "net_not_bus_member": "warning", + "no_connect_connected": "warning", + "no_connect_dangling": "warning", + "pin_not_connected": "error", + "pin_not_driven": "error", + "pin_to_pin": "warning", + "power_pin_not_driven": "error", + "same_local_global_label": "warning", + "similar_label_and_power": "warning", + "similar_labels": "warning", + "similar_power": "warning", + "simulation_model_issue": "ignore", + "single_global_label": "ignore", + "unannotated": "error", + "unconnected_wire_endpoint": "warning", + "unit_value_mismatch": "error", + "unresolved_variable": "error", + "wire_dangling": "error" + } + }, + "libraries": { + "pinned_footprint_libs": [], + "pinned_symbol_libs": [] + }, + "meta": { + "filename": "ece223_project.kicad_pro", + "version": 3 + }, + "net_settings": { + "classes": [ + { + "bus_width": 12, + "clearance": 0.2, + "diff_pair_gap": 0.25, + "diff_pair_via_gap": 0.25, + "diff_pair_width": 0.2, + "line_style": 0, + "microvia_diameter": 0.3, + "microvia_drill": 0.1, + "name": "Default", + "pcb_color": "rgba(0, 0, 0, 0.000)", + "priority": 2147483647, + "schematic_color": "rgba(0, 0, 0, 0.000)", + "track_width": 0.2, + "via_diameter": 0.6, + "via_drill": 0.3, + "wire_width": 6 + } + ], + "meta": { + "version": 4 + }, + "net_colors": null, + "netclass_assignments": null, + "netclass_patterns": [] + }, + "pcbnew": { + "last_paths": { + "gencad": "", + "idf": "", + "netlist": "", + "plot": "", + "pos_files": "", + "specctra_dsn": "", + "step": "", + "svg": "", + "vrml": "" + }, + "page_layout_descr_file": "" + }, + "schematic": { + "annotate_start_num": 0, + "bom_export_filename": "${PROJECTNAME}.csv", + "bom_fmt_presets": [], + "bom_fmt_settings": { + "field_delimiter": ",", + "keep_line_breaks": false, + "keep_tabs": false, + "name": "CSV", + "ref_delimiter": ",", + "ref_range_delimiter": "", + "string_delimiter": "\"" + }, + "bom_presets": [], + "bom_settings": { + "exclude_dnp": false, + "fields_ordered": [ + { + "group_by": false, + "label": "Reference", + "name": "Reference", + "show": true + }, + { + "group_by": false, + "label": "Qty", + "name": "${QUANTITY}", + "show": true + }, + { + "group_by": true, + "label": "Value", + "name": "Value", + "show": true + }, + { + "group_by": true, + "label": "DNP", + "name": "${DNP}", + "show": true + }, + { + "group_by": true, + "label": "Exclude from BOM", + "name": "${EXCLUDE_FROM_BOM}", + "show": true + }, + { + "group_by": true, + "label": "Exclude from Board", + "name": "${EXCLUDE_FROM_BOARD}", + "show": true + }, + { + "group_by": true, + "label": "Footprint", + "name": "Footprint", + "show": true + }, + { + "group_by": false, + "label": "Datasheet", + "name": "Datasheet", + "show": true + } + ], + "filter_string": "", + "group_symbols": true, + "include_excluded_from_bom": true, + "name": "Default Editing", + "sort_asc": true, + "sort_field": "Reference" + }, + "connection_grid_size": 50.0, + "drawing": { + "dashed_lines_dash_length_ratio": 12.0, + "dashed_lines_gap_length_ratio": 3.0, + "default_line_thickness": 6.0, + "default_text_size": 50.0, + "field_names": [], + "intersheets_ref_own_page": false, + "intersheets_ref_prefix": "", + "intersheets_ref_short": false, + "intersheets_ref_show": false, + "intersheets_ref_suffix": "", + "junction_size_choice": 3, + "label_size_ratio": 0.375, + "operating_point_overlay_i_precision": 3, + "operating_point_overlay_i_range": "~A", + "operating_point_overlay_v_precision": 3, + "operating_point_overlay_v_range": "~V", + "overbar_offset_ratio": 1.23, + "pin_symbol_size": 25.0, + "text_offset_ratio": 0.15 + }, + "legacy_lib_dir": "", + "legacy_lib_list": [], + "meta": { + "version": 1 + }, + "net_format_name": "", + "ngspice": { + "fix_include_paths": true, + "meta": { + "version": 0 + }, + "model_mode": 4, + "workbook_filename": "ece223_project.wbk" + }, + "page_layout_descr_file": "", + "plot_directory": "", + "space_save_all_events": true, + "spice_current_sheet_as_root": false, + "spice_external_command": "spice \"%I\"", + "spice_model_current_sheet_as_root": true, + "spice_save_all_currents": false, + "spice_save_all_dissipations": false, + "spice_save_all_voltages": false, + "subpart_first_id": 65, + "subpart_id_separator": 0 + }, + "sheets": [ + [ + "3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396", + "Root" + ], + [ + "471db3e4-e213-4827-95bb-9215dfa99989", + "LP" + ], + [ + "d9a3b005-3318-4b28-ad94-fa560a1f4e7a", + "LED_GAIN1" + ], + [ + "7683adc3-3937-403f-8f34-7becfe72007f", + "RAIL_GEN" + ], + [ + "1f3891d7-9ed5-413e-b758-2e8f45955b50", + "OUTPUT_GAIN" + ], + [ + "92a045e3-bee5-40f5-b5ce-8fe433234af4", + "INPUT_GAIN" + ] + ], + "text_variables": {} +} diff --git a/ece223_project.kicad_sch b/ece223_project.kicad_sch new file mode 100644 index 0000000..47bb588 --- /dev/null +++ b/ece223_project.kicad_sch @@ -0,0 +1,4529 @@ +(kicad_sch + (version 20250114) + (generator "eeschema") + (generator_version "9.0") + (uuid "3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396") + (paper "A4") + (lib_symbols + (symbol "Amplifier_Operational:MCP6004" + (pin_names + (offset 0.127) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "U" + (at 0 5.08 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Value" "MCP6004" + (at 0 -5.08 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "" + (at -1.27 2.54 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "http://ww1.microchip.com/downloads/en/DeviceDoc/21733j.pdf" + (at 1.27 5.08 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "1MHz, Low-Power Op Amp, DIP-14/SOIC-14/TSSOP-14" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_locked" "" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "ki_keywords" "quad opamp" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_fp_filters" "SOIC*3.9x8.7mm*P1.27mm* DIP*W7.62mm* TSSOP*4.4x5mm*P0.65mm* SSOP*5.3x6.2mm*P0.65mm* MSOP*3x3mm*P0.5mm*" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "MCP6004_1_1" + (polyline + (pts + (xy -5.08 5.08) (xy 5.08 0) (xy -5.08 -5.08) (xy -5.08 5.08) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (pin input line + (at -7.62 2.54 0) + (length 2.54) + (name "+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -7.62 -2.54 0) + (length 2.54) + (name "-" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin output line + (at 7.62 0 180) + (length 2.54) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (symbol "MCP6004_2_1" + (polyline + (pts + (xy -5.08 5.08) (xy 5.08 0) (xy -5.08 -5.08) (xy -5.08 5.08) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (pin input line + (at -7.62 2.54 0) + (length 2.54) + (name "+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "5" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -7.62 -2.54 0) + (length 2.54) + (name "-" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "6" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin output line + (at 7.62 0 180) + (length 2.54) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "7" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (symbol "MCP6004_3_1" + (polyline + (pts + (xy -5.08 5.08) (xy 5.08 0) (xy -5.08 -5.08) (xy -5.08 5.08) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (pin input line + (at -7.62 2.54 0) + (length 2.54) + (name "+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "10" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -7.62 -2.54 0) + (length 2.54) + (name "-" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "9" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin output line + (at 7.62 0 180) + (length 2.54) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "8" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (symbol "MCP6004_4_1" + (polyline + (pts + (xy -5.08 5.08) (xy 5.08 0) (xy -5.08 -5.08) (xy -5.08 5.08) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (pin input line + (at -7.62 2.54 0) + (length 2.54) + (name "+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "12" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -7.62 -2.54 0) + (length 2.54) + (name "-" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "13" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin output line + (at 7.62 0 180) + (length 2.54) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "14" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (symbol "MCP6004_5_1" + (pin power_in line + (at -2.54 7.62 270) + (length 3.81) + (name "V+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin power_in line + (at -2.54 -7.62 90) + (length 3.81) + (name "V-" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "11" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "Connector:Conn_01x06_Pin" + (pin_names + (offset 1.016) + (hide yes) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "J" + (at 0 7.62 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "Conn_01x06_Pin" + (at 0 -10.16 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Generic connector, single row, 01x06, script generated" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_locked" "" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "ki_keywords" "connector" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_fp_filters" "Connector*:*_1x??_*" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "Conn_01x06_Pin_1_1" + (rectangle + (start 0.8636 5.207) + (end 0 4.953) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type outline) + ) + ) + (rectangle + (start 0.8636 2.667) + (end 0 2.413) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type outline) + ) + ) + (rectangle + (start 0.8636 0.127) + (end 0 -0.127) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type outline) + ) + ) + (rectangle + (start 0.8636 -2.413) + (end 0 -2.667) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type outline) + ) + ) + (rectangle + (start 0.8636 -4.953) + (end 0 -5.207) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type outline) + ) + ) + (rectangle + (start 0.8636 -7.493) + (end 0 -7.747) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type outline) + ) + ) + (polyline + (pts + (xy 1.27 5.08) (xy 0.8636 5.08) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 1.27 2.54) (xy 0.8636 2.54) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 1.27 0) (xy 0.8636 0) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 1.27 -2.54) (xy 0.8636 -2.54) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 1.27 -5.08) (xy 0.8636 -5.08) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 1.27 -7.62) (xy 0.8636 -7.62) + ) + (stroke + (width 0.1524) + (type default) + ) + (fill + (type none) + ) + ) + (pin passive line + (at 5.08 5.08 180) + (length 3.81) + (name "Pin_1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 5.08 2.54 180) + (length 3.81) + (name "Pin_2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 5.08 0 180) + (length 3.81) + (name "Pin_3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 5.08 -2.54 180) + (length 3.81) + (name "Pin_4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 5.08 -5.08 180) + (length 3.81) + (name "Pin_5" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "5" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 5.08 -7.62 180) + (length 3.81) + (name "Pin_6" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "6" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "Device:Battery" + (pin_numbers + (hide yes) + ) + (pin_names + (offset 0) + (hide yes) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "BT" + (at 2.54 2.54 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Value" "Battery" + (at 2.54 0 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "" + (at 0 1.524 90) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 0 1.524 90) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Multiple-cell battery" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_keywords" "batt voltage-source cell" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "Battery_0_1" + (rectangle + (start -2.286 1.778) + (end 2.286 1.524) + (stroke + (width 0) + (type default) + ) + (fill + (type outline) + ) + ) + (rectangle + (start -2.286 -1.27) + (end 2.286 -1.524) + (stroke + (width 0) + (type default) + ) + (fill + (type outline) + ) + ) + (rectangle + (start -1.524 1.016) + (end 1.524 0.508) + (stroke + (width 0) + (type default) + ) + (fill + (type outline) + ) + ) + (rectangle + (start -1.524 -2.032) + (end 1.524 -2.54) + (stroke + (width 0) + (type default) + ) + (fill + (type outline) + ) + ) + (polyline + (pts + (xy 0 1.778) (xy 0 2.54) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 0) (xy 0 0.254) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 -0.508) (xy 0 -0.254) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 -1.016) (xy 0 -0.762) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0.762 3.048) (xy 1.778 3.048) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 1.27 3.556) (xy 1.27 2.54) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type none) + ) + ) + ) + (symbol "Battery_1_1" + (pin passive line + (at 0 5.08 270) + (length 2.54) + (name "+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 0 -5.08 90) + (length 2.54) + (name "-" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "Device:LED" + (pin_numbers + (hide yes) + ) + (pin_names + (offset 1.016) + (hide yes) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "D" + (at 0 2.54 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "LED" + (at 0 -2.54 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Light emitting diode" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Pins" "1=K 2=A" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_keywords" "LED diode" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_fp_filters" "LED* LED_SMD:* LED_THT:*" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "LED_0_1" + (polyline + (pts + (xy -3.048 -0.762) (xy -4.572 -2.286) (xy -3.81 -2.286) (xy -4.572 -2.286) (xy -4.572 -1.524) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.778 -0.762) (xy -3.302 -2.286) (xy -2.54 -2.286) (xy -3.302 -2.286) (xy -3.302 -1.524) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 0) (xy 1.27 0) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 -1.27) (xy -1.27 1.27) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 1.27 -1.27) (xy 1.27 1.27) (xy -1.27 0) (xy 1.27 -1.27) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type none) + ) + ) + ) + (symbol "LED_1_1" + (pin passive line + (at -3.81 0 0) + (length 2.54) + (name "K" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 3.81 0 180) + (length 2.54) + (name "A" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "Device:R_US" + (pin_numbers + (hide yes) + ) + (pin_names + (offset 0) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "R" + (at 2.54 0 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "R_US" + (at -2.54 0 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 1.016 -0.254 90) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Resistor, US symbol" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_keywords" "R res resistor" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_fp_filters" "R_*" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "R_US_0_1" + (polyline + (pts + (xy 0 2.286) (xy 0 2.54) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 2.286) (xy 1.016 1.905) (xy 0 1.524) (xy -1.016 1.143) (xy 0 0.762) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 0.762) (xy 1.016 0.381) (xy 0 0) (xy -1.016 -0.381) (xy 0 -0.762) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 -0.762) (xy 1.016 -1.143) (xy 0 -1.524) (xy -1.016 -1.905) (xy 0 -2.286) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 -2.286) (xy 0 -2.54) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + ) + (symbol "R_US_1_1" + (pin passive line + (at 0 3.81 270) + (length 1.27) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 0 -3.81 90) + (length 1.27) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "Simulation_SPICE:VSIN" + (pin_numbers + (hide yes) + ) + (pin_names + (offset 0.0254) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "V" + (at 2.54 2.54 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Value" "VSIN" + (at 2.54 0 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "https://ngspice.sourceforge.io/docs/ngspice-html-manual/manual.xhtml#sec_Independent_Sources_for" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Voltage source, sinusoidal" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Pins" "1=+ 2=-" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Params" "dc=0 ampl=1 f=1k ac=1" + (at 2.54 -2.54 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Sim.Type" "SIN" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Device" "V" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + (hide yes) + ) + ) + (property "ki_keywords" "simulation ac vac" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "VSIN_0_0" + (arc + (start -1.27 0) + (mid -0.635 0.6323) + (end 0 0) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 1.27 0) + (mid 0.635 -0.6323) + (end 0 0) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (text "+" + (at 0 1.905 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (symbol "VSIN_0_1" + (circle + (center 0 0) + (radius 2.54) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + ) + (symbol "VSIN_1_1" + (pin passive line + (at 0 5.08 270) + (length 2.54) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 0 -5.08 90) + (length 2.54) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "power:GND" + (power) + (pin_numbers + (hide yes) + ) + (pin_names + (offset 0) + (hide yes) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "#PWR" + (at 0 -6.35 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "GND" + (at 0 -3.81 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_keywords" "global power" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "GND_0_1" + (polyline + (pts + (xy 0 0) (xy 0 -1.27) (xy 1.27 -1.27) (xy 0 -2.54) (xy -1.27 -1.27) (xy 0 -1.27) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + ) + (symbol "GND_1_1" + (pin power_in line + (at 0 0 270) + (length 0) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "power:PWR_FLAG" + (power) + (pin_numbers + (hide yes) + ) + (pin_names + (offset 0) + (hide yes) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "#FLG" + (at 0 1.905 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "PWR_FLAG" + (at 0 3.81 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Special symbol for telling ERC where power comes from" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_keywords" "flag power" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "PWR_FLAG_0_0" + (pin power_out line + (at 0 0 90) + (length 0) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (symbol "PWR_FLAG_0_1" + (polyline + (pts + (xy 0 0) (xy 0 1.27) (xy -1.016 1.905) (xy 0 2.54) (xy 1.016 1.905) (xy 0 1.27) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + ) + (embedded_fonts no) + ) + ) + (junction + (at 39.37 25.4) + (diameter 0) + (color 0 0 0 0) + (uuid "317890c2-b4cd-4661-a2b2-7f413d0a5eba") + ) + (junction + (at 66.04 64.77) + (diameter 0) + (color 0 0 0 0) + (uuid "44973a21-8be7-475c-bea1-b1a855160085") + ) + (junction + (at 41.91 35.56) + (diameter 0) + (color 0 0 0 0) + (uuid "5f0f212f-87a2-4630-8eed-ceba5b8e5e31") + ) + (junction + (at 66.04 49.53) + (diameter 0) + (color 0 0 0 0) + (uuid "b82cdab8-0127-451f-9ec3-d3671671a6b4") + ) + (junction + (at 29.21 35.56) + (diameter 0) + (color 0 0 0 0) + (uuid "d2f12377-b910-40ed-9d91-3ab0b38a5ca8") + ) + (junction + (at 129.54 29.21) + (diameter 0) + (color 0 0 0 0) + (uuid "f0570500-47f9-4300-ba1a-4f92c5d60af7") + ) + (junction + (at 29.21 25.4) + (diameter 0) + (color 0 0 0 0) + (uuid "fbe44a91-cf6b-498d-9e8d-721d237f8cae") + ) + (wire + (pts + (xy 147.32 29.21) (xy 156.21 29.21) + ) + (stroke + (width 0) + (type default) + ) + (uuid "01f51fca-9b88-4ecf-9f4e-2c873854ba11") + ) + (wire + (pts + (xy 71.12 85.09) (xy 72.39 85.09) + ) + (stroke + (width 0) + (type default) + ) + (uuid "03b71434-2b72-4bae-b57f-d98e4fd1cefe") + ) + (wire + (pts + (xy 76.2 34.29) (xy 87.63 34.29) + ) + (stroke + (width 0) + (type default) + ) + (uuid "08661a5e-9857-4ce0-8d0f-e057c700f168") + ) + (wire + (pts + (xy 80.01 91.44) (xy 80.01 87.63) + ) + (stroke + (width 0) + (type default) + ) + (uuid "0f8c43d8-14b7-4b39-b158-42676523c94f") + ) + (wire + (pts + (xy 105.41 87.63) (xy 106.68 87.63) + ) + (stroke + (width 0) + (type default) + ) + (uuid "0ff3baf4-3521-4dc2-a911-5528b7bb2eeb") + ) + (wire + (pts + (xy 22.86 25.4) (xy 29.21 25.4) + ) + (stroke + (width 0) + (type default) + ) + (uuid "1198ac0f-2da5-4fdf-b4b6-0b3bf482dfe2") + ) + (wire + (pts + (xy 29.21 35.56) (xy 41.91 35.56) + ) + (stroke + (width 0) + (type default) + ) + (uuid "12d78c0b-f57d-4d69-9379-95661cdef456") + ) + (wire + (pts + (xy 120.65 29.21) (xy 129.54 29.21) + ) + (stroke + (width 0) + (type default) + ) + (uuid "13c19215-24c5-4025-b5cf-cb530d145cf5") + ) + (wire + (pts + (xy 76.2 30.48) (xy 77.47 30.48) + ) + (stroke + (width 0) + (type default) + ) + (uuid "14a45848-f360-4213-bfae-83fa1ea5044a") + ) + (wire + (pts + (xy 72.39 91.44) (xy 54.61 91.44) + ) + (stroke + (width 0) + (type default) + ) + (uuid "15b067e5-5026-407d-b82b-80c2d72d8576") + ) + (wire + (pts + (xy 54.61 87.63) (xy 55.88 87.63) + ) + (stroke + (width 0) + (type default) + ) + (uuid "1e32193e-ec53-46b2-b74b-7fcfd3daff9a") + ) + (wire + (pts + (xy 41.91 35.56) (xy 48.26 35.56) + ) + (stroke + (width 0) + (type default) + ) + (uuid "241d5905-6325-4d21-afcb-41169ce37030") + ) + (wire + (pts + (xy 186.69 29.21) (xy 193.04 29.21) + ) + (stroke + (width 0) + (type default) + ) + (uuid "2904101b-7b44-4087-86f1-4d1f071442a5") + ) + (wire + (pts + (xy 22.86 35.56) (xy 29.21 35.56) + ) + (stroke + (width 0) + (type default) + ) + (uuid "2bbcceb9-f32a-44c2-abe8-64a2cb78132c") + ) + (wire + (pts + (xy 55.88 82.55) (xy 50.8 82.55) + ) + (stroke + (width 0) + (type default) + ) + (uuid "343087d4-7e1b-44cd-a370-587a5f9d7a8b") + ) + (wire + (pts + (xy 121.92 85.09) (xy 123.19 85.09) + ) + (stroke + (width 0) + (type default) + ) + (uuid "3d8092b6-406d-4df2-b84d-f968069dde01") + ) + (wire + (pts + (xy 66.04 64.77) (xy 78.74 64.77) + ) + (stroke + (width 0) + (type default) + ) + (uuid "607c0f9b-d858-4b68-987c-9a5192748150") + ) + (wire + (pts + (xy 123.19 85.09) (xy 123.19 91.44) + ) + (stroke + (width 0) + (type default) + ) + (uuid "60e2fd4c-7066-400d-932d-b4c4dafe81aa") + ) + (wire + (pts + (xy 97.79 91.44) (xy 80.01 91.44) + ) + (stroke + (width 0) + (type default) + ) + (uuid "62bb9ee7-f615-48f5-a3ca-396caf7f6f12") + ) + (wire + (pts + (xy 105.41 91.44) (xy 105.41 87.63) + ) + (stroke + (width 0) + (type default) + ) + (uuid "6529bdf8-b46d-4ff4-b16e-7a599a8bcbae") + ) + (wire + (pts + (xy 53.34 27.94) (xy 48.26 27.94) + ) + (stroke + (width 0) + (type default) + ) + (uuid "69ffbd62-0f2d-4408-b636-2649398af11c") + ) + (wire + (pts + (xy 29.21 25.4) (xy 39.37 25.4) + ) + (stroke + (width 0) + (type default) + ) + (uuid "6f975ae2-57f1-4e3a-8ea2-b3fb4727b19b") + ) + (wire + (pts + (xy 97.79 85.09) (xy 97.79 91.44) + ) + (stroke + (width 0) + (type default) + ) + (uuid "76709e46-68a0-40a2-a2c0-f1c033c5e8c5") + ) + (wire + (pts + (xy 50.8 82.55) (xy 50.8 83.82) + ) + (stroke + (width 0) + (type default) + ) + (uuid "77f4b254-f97a-41fb-9fdb-511bea2e0b5f") + ) + (wire + (pts + (xy 129.54 29.21) (xy 129.54 52.07) + ) + (stroke + (width 0) + (type default) + ) + (uuid "7e1b2dca-6453-4599-876e-de56e4c3abc2") + ) + (wire + (pts + (xy 60.96 49.53) (xy 66.04 49.53) + ) + (stroke + (width 0) + (type default) + ) + (uuid "814f8c48-a922-4c41-a0bf-76abf64cb47d") + ) + (wire + (pts + (xy 41.91 52.07) (xy 27.94 52.07) + ) + (stroke + (width 0) + (type default) + ) + (uuid "8833cdda-74c7-4995-98af-f90d1d674892") + ) + (wire + (pts + (xy 72.39 85.09) (xy 72.39 91.44) + ) + (stroke + (width 0) + (type default) + ) + (uuid "8f38f8e2-dca0-4e06-bac1-6434115dcdfc") + ) + (wire + (pts + (xy 48.26 27.94) (xy 48.26 25.4) + ) + (stroke + (width 0) + (type default) + ) + (uuid "9243d771-d8f8-4f71-9d0f-366241ecb9b3") + ) + (wire + (pts + (xy 101.6 82.55) (xy 101.6 83.82) + ) + (stroke + (width 0) + (type default) + ) + (uuid "960629cc-f16a-4869-99fa-bba5a38edeef") + ) + (wire + (pts + (xy 60.96 64.77) (xy 66.04 64.77) + ) + (stroke + (width 0) + (type default) + ) + (uuid "96327e4d-2575-483c-ab19-bdcafd11f081") + ) + (wire + (pts + (xy 171.45 29.21) (xy 179.07 29.21) + ) + (stroke + (width 0) + (type default) + ) + (uuid "97b1b7e5-9279-4621-881e-cb6122885d78") + ) + (wire + (pts + (xy 39.37 49.53) (xy 27.94 49.53) + ) + (stroke + (width 0) + (type default) + ) + (uuid "9ba3f234-be89-45f3-9b21-27fce02fe786") + ) + (wire + (pts + (xy 81.28 82.55) (xy 76.2 82.55) + ) + (stroke + (width 0) + (type default) + ) + (uuid "aade5cb7-d056-498f-9606-4d9bb3bebc52") + ) + (wire + (pts + (xy 129.54 52.07) (xy 134.62 52.07) + ) + (stroke + (width 0) + (type default) + ) + (uuid "b615bc3f-0f47-4c69-b081-2e5352f6213d") + ) + (wire + (pts + (xy 48.26 33.02) (xy 53.34 33.02) + ) + (stroke + (width 0) + (type default) + ) + (uuid "b73a31b6-cab9-474a-b121-07ceef4e72e3") + ) + (wire + (pts + (xy 76.2 82.55) (xy 76.2 83.82) + ) + (stroke + (width 0) + (type default) + ) + (uuid "b8c3349e-1293-46a3-9f22-20e138ddf719") + ) + (wire + (pts + (xy 54.61 91.44) (xy 54.61 87.63) + ) + (stroke + (width 0) + (type default) + ) + (uuid "ba5ac7a1-29ce-4385-9e08-be77e5a17776") + ) + (wire + (pts + (xy 39.37 25.4) (xy 39.37 49.53) + ) + (stroke + (width 0) + (type default) + ) + (uuid "bf01cd9c-acc2-4288-b1d9-8d21b4b5de4f") + ) + (wire + (pts + (xy 101.6 29.21) (xy 107.95 29.21) + ) + (stroke + (width 0) + (type default) + ) + (uuid "bf6f329c-3e94-4cb5-a65e-e0077864785c") + ) + (wire + (pts + (xy 80.01 87.63) (xy 81.28 87.63) + ) + (stroke + (width 0) + (type default) + ) + (uuid "c2912a06-3551-476e-816f-5e1ccec38b3f") + ) + (wire + (pts + (xy 96.52 85.09) (xy 97.79 85.09) + ) + (stroke + (width 0) + (type default) + ) + (uuid "c42f2a28-11bb-44b6-998b-554e23f4320e") + ) + (wire + (pts + (xy 39.37 25.4) (xy 48.26 25.4) + ) + (stroke + (width 0) + (type default) + ) + (uuid "d1c9e7af-429b-44db-8434-3444aba14016") + ) + (wire + (pts + (xy 123.19 91.44) (xy 105.41 91.44) + ) + (stroke + (width 0) + (type default) + ) + (uuid "d41c4b6e-a5a8-4c6a-8419-988905dfa2b0") + ) + (wire + (pts + (xy 106.68 82.55) (xy 101.6 82.55) + ) + (stroke + (width 0) + (type default) + ) + (uuid "d8aae246-e86b-4525-9aa4-6c439e9a64ae") + ) + (wire + (pts + (xy 48.26 35.56) (xy 48.26 33.02) + ) + (stroke + (width 0) + (type default) + ) + (uuid "df9b9b6c-10ac-44d2-b3b8-59303c3b7a65") + ) + (wire + (pts + (xy 76.2 26.67) (xy 77.47 26.67) + ) + (stroke + (width 0) + (type default) + ) + (uuid "e11cefab-f120-46d4-8050-fbeb55e81b73") + ) + (wire + (pts + (xy 149.86 52.07) (xy 147.32 52.07) + ) + (stroke + (width 0) + (type default) + ) + (uuid "e3050052-1bc6-4122-b115-3588e02ba5e4") + ) + (wire + (pts + (xy 129.54 29.21) (xy 134.62 29.21) + ) + (stroke + (width 0) + (type default) + ) + (uuid "e4faeca9-5ccc-4ada-a66e-f090657533e9") + ) + (wire + (pts + (xy 66.04 49.53) (xy 78.74 49.53) + ) + (stroke + (width 0) + (type default) + ) + (uuid "e82a81d6-f856-4806-8af6-f1e37a2bad58") + ) + (wire + (pts + (xy 41.91 35.56) (xy 41.91 52.07) + ) + (stroke + (width 0) + (type default) + ) + (uuid "ffd4afa3-6a0b-4c41-bae2-1d62873a0109") + ) + (global_label "VREF" + (shape input) + (at 25.4 80.01 180) + (fields_autoplaced yes) + (effects + (font + (size 1.27 1.27) + ) + (justify right) + ) + (uuid "1bb912e0-c6dc-479c-b253-17a8cd2ebbf3") + (property "Intersheetrefs" "${INTERSHEET_REFS}" + (at 17.8186 80.01 0) + (effects + (font + (size 1.27 1.27) + ) + (justify right) + (hide yes) + ) + ) + ) + (global_label "VREF" + (shape input) + (at 27.94 59.69 0) + (fields_autoplaced yes) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + (uuid "20ebc1d4-bbdf-45fa-ad35-2e0d7d33c77a") + (property "Intersheetrefs" "${INTERSHEET_REFS}" + (at 35.5214 59.69 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + (hide yes) + ) + ) + ) + (global_label "VCC" + (shape input) + (at 60.96 49.53 180) + (fields_autoplaced yes) + (effects + (font + (size 1.27 1.27) + ) + (justify right) + ) + (uuid "27083316-84d5-496c-b907-8b43214f667f") + (property "Intersheetrefs" "${INTERSHEET_REFS}" + (at 54.3462 49.53 0) + (effects + (font + (size 1.27 1.27) + ) + (justify right) + (hide yes) + ) + ) + ) + (global_label "VCC" + (shape input) + (at 77.47 26.67 0) + (fields_autoplaced yes) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + (uuid "41daeef6-3782-44c6-a600-3035db10808f") + (property "Intersheetrefs" "${INTERSHEET_REFS}" + (at 84.0838 26.67 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + (hide yes) + ) + ) + ) + (global_label "OUT" + (shape input) + (at 27.94 57.15 0) + (fields_autoplaced yes) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + (uuid "59a3d4b9-a3bb-4d80-9cd5-75c70455160e") + (property "Intersheetrefs" "${INTERSHEET_REFS}" + (at 34.5538 57.15 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + (hide yes) + ) + ) + ) + (global_label "VREF" + (shape input) + (at 77.47 30.48 0) + (fields_autoplaced yes) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + (uuid "5a9eeae8-6693-483d-933b-d3bed6115fdf") + (property "Intersheetrefs" "${INTERSHEET_REFS}" + (at 85.0514 30.48 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + (hide yes) + ) + ) + ) + (global_label "IN" + (shape input) + (at 101.6 29.21 180) + (fields_autoplaced yes) + (effects + (font + (size 1.27 1.27) + ) + (justify right) + ) + (uuid "9b148e7f-9fde-4176-809a-44ffbc7361fb") + (property "Intersheetrefs" "${INTERSHEET_REFS}" + (at 96.6795 29.21 0) + (effects + (font + (size 1.27 1.27) + ) + (justify right) + (hide yes) + ) + ) + ) + (global_label "VREF" + (shape input) + (at 27.94 62.23 0) + (fields_autoplaced yes) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + (uuid "b049fb58-9728-41a3-8a2a-b604c3be45c5") + (property "Intersheetrefs" "${INTERSHEET_REFS}" + (at 35.5214 62.23 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + (hide yes) + ) + ) + ) + (global_label "OUT" + (shape input) + (at 149.86 52.07 0) + (fields_autoplaced yes) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + (uuid "c361cff8-bb8e-44d7-922f-f974ce4c4c8d") + (property "Intersheetrefs" "${INTERSHEET_REFS}" + (at 156.4738 52.07 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + (hide yes) + ) + ) + ) + (global_label "IN" + (shape input) + (at 35.56 80.01 0) + (fields_autoplaced yes) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + (uuid "db7087ef-592c-415e-a3ac-0a0a8771bd04") + (property "Intersheetrefs" "${INTERSHEET_REFS}" + (at 40.4805 80.01 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + (hide yes) + ) + ) + ) + (global_label "IN" + (shape input) + (at 27.94 54.61 0) + (fields_autoplaced yes) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + (uuid "db889b3c-a70d-4517-b010-b7d515fe514b") + (property "Intersheetrefs" "${INTERSHEET_REFS}" + (at 32.8605 54.61 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + (hide yes) + ) + ) + ) + (symbol + (lib_id "power:PWR_FLAG") + (at 29.21 25.4 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "124fa24c-509e-4da6-acf9-03cfae52bc08") + (property "Reference" "#FLG01" + (at 29.21 23.495 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "PWR_FLAG" + (at 29.21 20.32 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 29.21 25.4 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 29.21 25.4 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Special symbol for telling ERC where power comes from" + (at 29.21 25.4 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "390d58c0-8548-4c7f-8a10-3a5b0ad4e2cb") + ) + (instances + (project "ece223_project" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396" + (reference "#FLG01") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Device:LED") + (at 182.88 29.21 180) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "15adf909-fbaf-4fcb-8ecc-ee614a3c683d") + (property "Reference" "D1" + (at 184.4675 21.59 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "LED" + (at 184.4675 24.13 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 182.88 29.21 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 182.88 29.21 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Light emitting diode" + (at 182.88 29.21 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Pins" "1=K 2=A" + (at 182.88 29.21 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Library" "led.lib" + (at 182.88 29.21 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Name" "LED_GENERAL" + (at 182.88 29.21 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Device" "D" + (at 182.88 29.21 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "2" + (uuid "7d1ad353-72da-4bfb-9623-57328d1d37f4") + ) + (pin "1" + (uuid "f61a1ba6-b9b3-4ce5-859e-b3f8a43ef0ba") + ) + (instances + (project "" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396" + (reference "D1") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:GND") + (at 50.8 83.82 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "2883161c-faad-4315-9f5c-b5ffe06bd208") + (property "Reference" "#PWR04" + (at 50.8 90.17 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "GND" + (at 50.8 88.9 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 50.8 83.82 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 50.8 83.82 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 50.8 83.82 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "ffaff3d9-9023-495d-a90e-81824126e4f9") + ) + (instances + (project "" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396" + (reference "#PWR04") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Device:R_US") + (at 193.04 33.02 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "324377ff-6d57-4a69-83cb-a6e680526457") + (property "Reference" "R1" + (at 195.58 31.7499 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Value" "82" + (at 195.58 34.2899 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "" + (at 194.056 33.274 90) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 193.04 33.02 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Resistor, US symbol" + (at 193.04 33.02 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "2" + (uuid "cfffdda0-0791-4e54-b1bb-64f17942a1ae") + ) + (pin "1" + (uuid "3f19572c-2d29-4586-a0ba-cdcd6a2d0126") + ) + (instances + (project "" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396" + (reference "R1") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:PWR_FLAG") + (at 29.21 35.56 180) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "5d54e224-b00f-42a4-9957-6d2382114b64") + (property "Reference" "#FLG02" + (at 29.21 37.465 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "PWR_FLAG" + (at 29.21 40.64 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 29.21 35.56 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 29.21 35.56 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Special symbol for telling ERC where power comes from" + (at 29.21 35.56 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "32fc820b-dc2a-4b99-8a94-f677eff5ee94") + ) + (instances + (project "ece223_project" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396" + (reference "#FLG02") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:GND") + (at 60.96 64.77 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "702bcea7-70d3-4bcd-8151-ea311978370d") + (property "Reference" "#PWR01" + (at 60.96 71.12 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "GND" + (at 60.96 69.85 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 60.96 64.77 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 60.96 64.77 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 60.96 64.77 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "68a05d35-519b-40db-ac49-9eee43ad5a54") + ) + (instances + (project "" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396" + (reference "#PWR01") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Connector:Conn_01x06_Pin") + (at 22.86 54.61 0) + (unit 1) + (exclude_from_sim yes) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "7cdb1450-ae50-4312-9ccf-aa372c479f90") + (property "Reference" "J1" + (at 23.495 44.45 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "Conn_01x06_Pin" + (at 23.495 46.99 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 22.86 54.61 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 22.86 54.61 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Generic connector, single row, 01x06, script generated" + (at 22.86 54.61 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "4" + (uuid "730d725a-12bd-40c2-bd31-7bd9aa3b95c8") + ) + (pin "2" + (uuid "b5b84ef1-68e9-48cb-a260-c9057b5a679c") + ) + (pin "5" + (uuid "ba423922-1e89-4842-b8a5-6cf94b85a10e") + ) + (pin "6" + (uuid "d71e0236-293a-4bfd-ab2a-0eed0f054e0c") + ) + (pin "3" + (uuid "7f78153f-1301-4293-b757-1f8370ef3147") + ) + (pin "1" + (uuid "05ac3094-9c6f-4b86-87f8-0797c0998a5b") + ) + (instances + (project "" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396" + (reference "J1") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Amplifier_Operational:MCP6004") + (at 63.5 85.09 0) + (unit 2) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (uuid "84bb78cf-8843-4c45-ac3a-56b066cfb76f") + (property "Reference" "U8" + (at 63.5 74.93 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "MCP6004" + (at 63.5 77.47 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 62.23 82.55 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "http://ww1.microchip.com/downloads/en/DeviceDoc/21733j.pdf" + (at 64.77 80.01 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "1MHz, Low-Power Op Amp, DIP-14/SOIC-14/TSSOP-14" + (at 63.5 85.09 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Library" "MCP6001.lib" + (at 63.5 85.09 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Name" "MCP6004" + (at 63.5 85.09 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Device" "SUBCKT" + (at 63.5 85.09 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Pins" "1=OUTA 2=A- 3=A+ 4=VDD 5=B+ 6=B- 7=OUTB 8=OUTC 9=C- 10=C+ 11=VSS 12=D+ 13=D- 14=OUTD" + (at 63.5 85.09 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "13" + (uuid "5fdca11d-2734-4e6e-807e-9dcb8998d831") + ) + (pin "8" + (uuid "30f5683a-d75d-472c-ae7c-ae7e62ac6e69") + ) + (pin "10" + (uuid "2acf4fa4-7993-4464-b7ca-577fd6301819") + ) + (pin "2" + (uuid "cadbdcce-8dc7-43e8-84ff-10ac982f9dd7") + ) + (pin "3" + (uuid "afa90bda-63e1-46ed-8f9e-5f2ca98de5c2") + ) + (pin "14" + (uuid "03c0f5cb-d291-4d4a-bd25-e333f4398241") + ) + (pin "4" + (uuid "eb281645-8f36-4040-979f-3aaa2dc6413c") + ) + (pin "7" + (uuid "e2c578dd-77b8-4ff9-92bc-6e79dbca0d31") + ) + (pin "9" + (uuid "270b9ac1-f4ad-4341-af54-699650b53537") + ) + (pin "6" + (uuid "dc07bffb-a3bb-4585-8c19-282f68bb6abe") + ) + (pin "1" + (uuid "ac4a9bbb-ac03-4347-ab3e-44465f916451") + ) + (pin "5" + (uuid "f823345c-ed84-4189-9981-4cee78198036") + ) + (pin "11" + (uuid "bbb76668-a696-4f17-a42c-96f1401a31f2") + ) + (pin "12" + (uuid "089a5141-05eb-4eae-807f-00e48fdee24c") + ) + (instances + (project "ece223_project" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396" + (reference "U8") + (unit 2) + ) + ) + ) + ) + (symbol + (lib_id "Amplifier_Operational:MCP6004") + (at 114.3 85.09 0) + (unit 4) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "84bb78cf-8843-4c45-ac3a-56b066cfb76f") + (property "Reference" "U8" + (at 114.3 74.93 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "MCP6004" + (at 114.3 77.47 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 113.03 82.55 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "http://ww1.microchip.com/downloads/en/DeviceDoc/21733j.pdf" + (at 115.57 80.01 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "1MHz, Low-Power Op Amp, DIP-14/SOIC-14/TSSOP-14" + (at 114.3 85.09 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Library" "MCP6001.lib" + (at 114.3 85.09 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Name" "MCP6004" + (at 114.3 85.09 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Device" "SUBCKT" + (at 114.3 85.09 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Pins" "1=OUTA 2=A- 3=A+ 4=VDD 5=B+ 6=B- 7=OUTB 8=OUTC 9=C- 10=C+ 11=VSS 12=D+ 13=D- 14=OUTD" + (at 114.3 85.09 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "13" + (uuid "5fdca11d-2734-4e6e-807e-9dcb8998d831") + ) + (pin "8" + (uuid "30f5683a-d75d-472c-ae7c-ae7e62ac6e69") + ) + (pin "10" + (uuid "2acf4fa4-7993-4464-b7ca-577fd6301819") + ) + (pin "2" + (uuid "cadbdcce-8dc7-43e8-84ff-10ac982f9dd7") + ) + (pin "3" + (uuid "afa90bda-63e1-46ed-8f9e-5f2ca98de5c2") + ) + (pin "14" + (uuid "03c0f5cb-d291-4d4a-bd25-e333f4398241") + ) + (pin "4" + (uuid "eb281645-8f36-4040-979f-3aaa2dc6413c") + ) + (pin "7" + (uuid "e2c578dd-77b8-4ff9-92bc-6e79dbca0d31") + ) + (pin "9" + (uuid "270b9ac1-f4ad-4341-af54-699650b53537") + ) + (pin "6" + (uuid "dc07bffb-a3bb-4585-8c19-282f68bb6abe") + ) + (pin "1" + (uuid "ac4a9bbb-ac03-4347-ab3e-44465f916451") + ) + (pin "5" + (uuid "f823345c-ed84-4189-9981-4cee78198036") + ) + (pin "11" + (uuid "bbb76668-a696-4f17-a42c-96f1401a31f2") + ) + (pin "12" + (uuid "089a5141-05eb-4eae-807f-00e48fdee24c") + ) + (instances + (project "ece223_project" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396" + (reference "U8") + (unit 4) + ) + ) + ) + ) + (symbol + (lib_id "Amplifier_Operational:MCP6004") + (at 81.28 57.15 0) + (unit 5) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "84bb78cf-8843-4c45-ac3a-56b066cfb76f") + (property "Reference" "U8" + (at 80.01 55.8799 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Value" "MCP6004" + (at 80.01 58.4199 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "" + (at 80.01 54.61 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "http://ww1.microchip.com/downloads/en/DeviceDoc/21733j.pdf" + (at 82.55 52.07 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "1MHz, Low-Power Op Amp, DIP-14/SOIC-14/TSSOP-14" + (at 81.28 57.15 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Library" "MCP6001.lib" + (at 81.28 57.15 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Name" "MCP6004" + (at 81.28 57.15 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Device" "SUBCKT" + (at 81.28 57.15 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Pins" "1=OUTA 2=A- 3=A+ 4=VDD 5=B+ 6=B- 7=OUTB 8=OUTC 9=C- 10=C+ 11=VSS 12=D+ 13=D- 14=OUTD" + (at 81.28 57.15 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "13" + (uuid "5fdca11d-2734-4e6e-807e-9dcb8998d831") + ) + (pin "8" + (uuid "30f5683a-d75d-472c-ae7c-ae7e62ac6e69") + ) + (pin "10" + (uuid "2acf4fa4-7993-4464-b7ca-577fd6301819") + ) + (pin "2" + (uuid "cadbdcce-8dc7-43e8-84ff-10ac982f9dd7") + ) + (pin "3" + (uuid "afa90bda-63e1-46ed-8f9e-5f2ca98de5c2") + ) + (pin "14" + (uuid "03c0f5cb-d291-4d4a-bd25-e333f4398241") + ) + (pin "4" + (uuid "eb281645-8f36-4040-979f-3aaa2dc6413c") + ) + (pin "7" + (uuid "e2c578dd-77b8-4ff9-92bc-6e79dbca0d31") + ) + (pin "9" + (uuid "270b9ac1-f4ad-4341-af54-699650b53537") + ) + (pin "6" + (uuid "dc07bffb-a3bb-4585-8c19-282f68bb6abe") + ) + (pin "1" + (uuid "ac4a9bbb-ac03-4347-ab3e-44465f916451") + ) + (pin "5" + (uuid "f823345c-ed84-4189-9981-4cee78198036") + ) + (pin "11" + (uuid "bbb76668-a696-4f17-a42c-96f1401a31f2") + ) + (pin "12" + (uuid "089a5141-05eb-4eae-807f-00e48fdee24c") + ) + (instances + (project "ece223_project" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396" + (reference "U8") + (unit 5) + ) + ) + ) + ) + (symbol + (lib_id "Amplifier_Operational:MCP6004") + (at 88.9 85.09 0) + (unit 3) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "84bb78cf-8843-4c45-ac3a-56b066cfb76f") + (property "Reference" "U8" + (at 88.9 74.93 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "MCP6004" + (at 88.9 77.47 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 87.63 82.55 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "http://ww1.microchip.com/downloads/en/DeviceDoc/21733j.pdf" + (at 90.17 80.01 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "1MHz, Low-Power Op Amp, DIP-14/SOIC-14/TSSOP-14" + (at 88.9 85.09 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Library" "MCP6001.lib" + (at 88.9 85.09 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Name" "MCP6004" + (at 88.9 85.09 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Device" "SUBCKT" + (at 88.9 85.09 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Pins" "1=OUTA 2=A- 3=A+ 4=VDD 5=B+ 6=B- 7=OUTB 8=OUTC 9=C- 10=C+ 11=VSS 12=D+ 13=D- 14=OUTD" + (at 88.9 85.09 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "13" + (uuid "5fdca11d-2734-4e6e-807e-9dcb8998d831") + ) + (pin "8" + (uuid "30f5683a-d75d-472c-ae7c-ae7e62ac6e69") + ) + (pin "10" + (uuid "2acf4fa4-7993-4464-b7ca-577fd6301819") + ) + (pin "2" + (uuid "cadbdcce-8dc7-43e8-84ff-10ac982f9dd7") + ) + (pin "3" + (uuid "afa90bda-63e1-46ed-8f9e-5f2ca98de5c2") + ) + (pin "14" + (uuid "03c0f5cb-d291-4d4a-bd25-e333f4398241") + ) + (pin "4" + (uuid "eb281645-8f36-4040-979f-3aaa2dc6413c") + ) + (pin "7" + (uuid "e2c578dd-77b8-4ff9-92bc-6e79dbca0d31") + ) + (pin "9" + (uuid "270b9ac1-f4ad-4341-af54-699650b53537") + ) + (pin "6" + (uuid "dc07bffb-a3bb-4585-8c19-282f68bb6abe") + ) + (pin "1" + (uuid "ac4a9bbb-ac03-4347-ab3e-44465f916451") + ) + (pin "5" + (uuid "f823345c-ed84-4189-9981-4cee78198036") + ) + (pin "11" + (uuid "bbb76668-a696-4f17-a42c-96f1401a31f2") + ) + (pin "12" + (uuid "089a5141-05eb-4eae-807f-00e48fdee24c") + ) + (instances + (project "ece223_project" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396" + (reference "U8") + (unit 3) + ) + ) + ) + ) + (symbol + (lib_id "power:GND") + (at 101.6 83.82 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "88314341-3edf-4d97-bb0a-73a4eb7d8471") + (property "Reference" "#PWR06" + (at 101.6 90.17 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "GND" + (at 101.6 88.9 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 101.6 83.82 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 101.6 83.82 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 101.6 83.82 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "318bde4e-eaa0-4691-a3d0-9601c7362de5") + ) + (instances + (project "ece223_project" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396" + (reference "#PWR06") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Simulation_SPICE:VSIN") + (at 30.48 80.01 270) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "ae150d3a-e418-4c89-b49f-5772331fa9b4") + (property "Reference" "V1" + (at 30.6098 69.85 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "VSIN" + (at 30.6098 72.39 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 30.48 80.01 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "https://ngspice.sourceforge.io/docs/ngspice-html-manual/manual.xhtml#sec_Independent_Sources_for" + (at 30.48 80.01 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Voltage source, sinusoidal" + (at 30.48 80.01 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Pins" "1=+ 2=-" + (at 30.48 80.01 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Params" "dc=0 ampl=447m f=1k ac=1" + (at 30.6098 74.93 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Sim.Type" "SIN" + (at 30.48 80.01 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Device" "V" + (at 30.48 80.01 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + (hide yes) + ) + ) + (pin "1" + (uuid "4583a376-302e-489d-9eba-a65c6e7195f0") + ) + (pin "2" + (uuid "c0cdeb7f-14a6-451d-87d3-88a83ec9352c") + ) + (instances + (project "" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396" + (reference "V1") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:GND") + (at 76.2 83.82 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "caf82ad2-ad2c-46d2-8702-ecdf36df81ff") + (property "Reference" "#PWR05" + (at 76.2 90.17 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "GND" + (at 76.2 88.9 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 76.2 83.82 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 76.2 83.82 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 76.2 83.82 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "d76de341-5b41-4db9-bfde-355d0cf0f37b") + ) + (instances + (project "ece223_project" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396" + (reference "#PWR05") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:GND") + (at 193.04 36.83 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "d1f41c99-8577-41de-aa44-f83eccfde11b") + (property "Reference" "#PWR02" + (at 193.04 43.18 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "GND" + (at 193.04 41.91 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 193.04 36.83 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 193.04 36.83 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 193.04 36.83 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "7be4da53-89a7-4e24-813e-46b78daad52c") + ) + (instances + (project "" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396" + (reference "#PWR02") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Device:Battery") + (at 22.86 30.48 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "daa552d4-9583-4c3e-b5d0-4e471e63fff4") + (property "Reference" "BT1" + (at 26.67 28.6384 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Value" "3" + (at 26.67 31.1784 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "" + (at 22.86 28.956 90) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 22.86 28.956 90) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Multiple-cell battery" + (at 22.86 30.48 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Device" "V" + (at 22.86 30.48 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Pins" "1=+ 2=-" + (at 22.86 30.48 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Type" "PWL" + (at 22.86 30.48 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Params" "pwl=\"0 0 10u 0 0.1m 3\"" + (at 22.86 30.48 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "2" + (uuid "7d80dba3-5a16-4955-9a5d-6d51a3cbc17e") + ) + (pin "1" + (uuid "b9f55fea-b2fa-43db-ab1b-d6bd17a123b2") + ) + (instances + (project "" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396" + (reference "BT1") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:GND") + (at 87.63 34.29 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "f5ba7116-14d0-4068-a021-043a75734974") + (property "Reference" "#PWR03" + (at 87.63 40.64 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "GND" + (at 87.63 39.37 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 87.63 34.29 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 87.63 34.29 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 87.63 34.29 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "ec0a15cd-e3f6-4e59-9d92-207a6e87e5f2") + ) + (instances + (project "ece223_project" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396" + (reference "#PWR03") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Amplifier_Operational:MCP6004") + (at 68.58 57.15 0) + (unit 5) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "f7cd036d-9208-4957-8ab1-c7912e598449") + (property "Reference" "U7" + (at 67.31 55.8799 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Value" "MCP6004" + (at 67.31 58.4199 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "" + (at 67.31 54.61 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "http://ww1.microchip.com/downloads/en/DeviceDoc/21733j.pdf" + (at 69.85 52.07 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "1MHz, Low-Power Op Amp, DIP-14/SOIC-14/TSSOP-14" + (at 68.58 57.15 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Library" "MCP6001.lib" + (at 68.58 57.15 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Name" "MCP6004" + (at 68.58 57.15 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Device" "SUBCKT" + (at 68.58 57.15 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Pins" "1=OUTA 2=A- 3=A+ 4=VDD 5=B+ 6=B- 7=OUTB 8=OUTC 9=C- 10=C+ 11=VSS 12=D+ 13=D- 14=OUTD" + (at 68.58 57.15 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "13" + (uuid "5fdca11d-2734-4e6e-807e-9dcb8998d831") + ) + (pin "8" + (uuid "30f5683a-d75d-472c-ae7c-ae7e62ac6e69") + ) + (pin "10" + (uuid "2acf4fa4-7993-4464-b7ca-577fd6301819") + ) + (pin "2" + (uuid "198220aa-585b-47c9-aa90-04bdee71f59a") + ) + (pin "3" + (uuid "92257fd3-d5ba-4b08-9997-dd833f089e4a") + ) + (pin "14" + (uuid "03c0f5cb-d291-4d4a-bd25-e333f4398241") + ) + (pin "4" + (uuid "bc198a7c-1ba2-494e-915c-d1692fe75510") + ) + (pin "7" + (uuid "280c5749-90d5-4212-9c8d-2e8cd0cd3c01") + ) + (pin "9" + (uuid "270b9ac1-f4ad-4341-af54-699650b53537") + ) + (pin "6" + (uuid "481802bf-8574-4fd0-a3b4-633e10b6c282") + ) + (pin "1" + (uuid "d938bc20-94b3-4b57-bae8-dfd38ef0d125") + ) + (pin "5" + (uuid "658addb7-8557-4d3d-b9de-1cda143928f2") + ) + (pin "11" + (uuid "c97da68e-f743-4a43-862b-042f55b8e74f") + ) + (pin "12" + (uuid "089a5141-05eb-4eae-807f-00e48fdee24c") + ) + (instances + (project "ece223_project" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396" + (reference "U7") + (unit 5) + ) + ) + ) + ) + (sheet + (at 134.62 48.26) + (size 12.7 7.62) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (stroke + (width 0.1524) + (type solid) + ) + (fill + (color 0 0 0 0.0000) + ) + (uuid "1f3891d7-9ed5-413e-b758-2e8f45955b50") + (property "Sheetname" "OUTPUT_GAIN" + (at 134.62 47.5484 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left bottom) + ) + ) + (property "Sheetfile" "audio_gain.kicad_sch" + (at 134.62 56.4646 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left top) + ) + ) + (pin "IN" input + (at 134.62 52.07 180) + (uuid "5e16b230-001e-4555-b107-d8b1cd06e8d9") + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (pin "OUT" input + (at 147.32 52.07 0) + (uuid "3b632738-379f-4ce6-9235-8584bbff5690") + (effects + (font + (size 1.27 1.27) + ) + (justify right) + ) + ) + (instances + (project "ece223_project" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396" + (page "5") + ) + ) + ) + ) + (sheet + (at 134.62 25.4) + (size 12.7 7.62) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (stroke + (width 0.1524) + (type solid) + ) + (fill + (color 0 0 0 0.0000) + ) + (uuid "471db3e4-e213-4827-95bb-9215dfa99989") + (property "Sheetname" "LP" + (at 134.62 24.6884 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left bottom) + ) + ) + (property "Sheetfile" "LP.kicad_sch" + (at 134.62 33.6046 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left top) + ) + ) + (pin "IN" input + (at 134.62 29.21 180) + (uuid "9ac28383-d7bf-47f1-8465-35f71a9ec3a5") + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (pin "OUT" input + (at 147.32 29.21 0) + (uuid "e6d861cb-9375-415c-8649-60728ae4e9d3") + (effects + (font + (size 1.27 1.27) + ) + (justify right) + ) + ) + (instances + (project "ece223_project" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396" + (page "2") + ) + ) + ) + ) + (sheet + (at 53.34 24.13) + (size 22.86 12.7) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (stroke + (width 0.1524) + (type solid) + ) + (fill + (color 0 0 0 0.0000) + ) + (uuid "7683adc3-3937-403f-8f34-7becfe72007f") + (property "Sheetname" "RAIL_GEN" + (at 53.34 23.4184 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left bottom) + ) + ) + (property "Sheetfile" "rail_gen.kicad_sch" + (at 53.34 37.4146 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left top) + ) + ) + (pin "VREF" input + (at 76.2 30.48 0) + (uuid "83c0fd3e-61c8-4b5a-a63b-aae14f3e491d") + (effects + (font + (size 1.27 1.27) + ) + (justify right) + ) + ) + (pin "VCC" input + (at 76.2 26.67 0) + (uuid "147f31bc-53e9-4cc7-b181-fef4a2e8da0c") + (effects + (font + (size 1.27 1.27) + ) + (justify right) + ) + ) + (pin "GND" input + (at 76.2 34.29 0) + (uuid "23f81aa7-67a7-4300-b65a-1e8dd7b947c3") + (effects + (font + (size 1.27 1.27) + ) + (justify right) + ) + ) + (pin "VIN+" input + (at 53.34 27.94 180) + (uuid "e864f593-1f59-4d62-97b4-e3050ec56bd0") + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (pin "VIN-" input + (at 53.34 33.02 180) + (uuid "c5d186ab-6b71-453e-98dd-a67cf14e8ed6") + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (instances + (project "ece223_project" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396" + (page "4") + ) + ) + ) + ) + (sheet + (at 107.95 25.4) + (size 12.7 7.62) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (stroke + (width 0.1524) + (type solid) + ) + (fill + (color 0 0 0 0.0000) + ) + (uuid "92a045e3-bee5-40f5-b5ce-8fe433234af4") + (property "Sheetname" "INPUT_GAIN" + (at 107.95 24.6884 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left bottom) + ) + ) + (property "Sheetfile" "input_gain.kicad_sch" + (at 101.346 33.782 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left top) + ) + ) + (pin "IN" input + (at 107.95 29.21 180) + (uuid "5a8907a1-251a-4ca3-b00f-64ba7effa5a6") + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (pin "OUT" input + (at 120.65 29.21 0) + (uuid "1e5178e9-9968-452e-9ed2-914bb9a9e2a8") + (effects + (font + (size 1.27 1.27) + ) + (justify right) + ) + ) + (instances + (project "ece223_project" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396" + (page "6") + ) + ) + ) + ) + (sheet + (at 156.21 25.4) + (size 15.24 7.62) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (stroke + (width 0.1524) + (type solid) + ) + (fill + (color 0 0 0 0.0000) + ) + (uuid "d9a3b005-3318-4b28-ad94-fa560a1f4e7a") + (property "Sheetname" "LED_GAIN1" + (at 156.21 24.6884 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left bottom) + ) + ) + (property "Sheetfile" "led_gain.kicad_sch" + (at 156.21 33.6046 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left top) + ) + ) + (pin "IN" input + (at 156.21 29.21 180) + (uuid "ebd511ab-77ec-4338-9e1d-7ab5e8d1c2cd") + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (pin "OUT" input + (at 171.45 29.21 0) + (uuid "70ffaf1f-0465-408c-95c5-7f8192375e96") + (effects + (font + (size 1.27 1.27) + ) + (justify right) + ) + ) + (instances + (project "ece223_project" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396" + (page "3") + ) + ) + ) + ) + (sheet_instances + (path "/" + (page "1") + ) + ) + (embedded_fonts no) +) diff --git a/ece223_project.wbk b/ece223_project.wbk new file mode 100644 index 0000000..25b7bb0 --- /dev/null +++ b/ece223_project.wbk @@ -0,0 +1,38 @@ +{ + "last_sch_text_sim_command": "", + "tabs": [ + { + "analysis": "TRAN", + "commands": [ + ".tran 1u 1.3m 0 1u uic", + ".kicad adjustpaths", + ".save all", + ".probe alli", + ".probe allp" + ], + "dottedSecondary": true, + "margins": { + "bottom": 45, + "left": 70, + "right": 70, + "top": 30 + }, + "measurements": [], + "showGrid": true, + "traces": [ + { + "color": "rgb(255, 8, 49)", + "signal": "V(VCC)", + "trace_type": 257 + }, + { + "color": "rgb(176, 180, 0)", + "signal": "V(VREF)", + "trace_type": 257 + } + ] + } + ], + "user_defined_signals": [], + "version": 6 +} diff --git a/input_gain.kicad_sch b/input_gain.kicad_sch new file mode 100644 index 0000000..219aa6d --- /dev/null +++ b/input_gain.kicad_sch @@ -0,0 +1,1372 @@ +(kicad_sch + (version 20250114) + (generator "eeschema") + (generator_version "9.0") + (uuid "5f207800-3230-423e-a36a-73659ad0e23f") + (paper "A4") + (lib_symbols + (symbol "Amplifier_Operational:MCP6004" + (pin_names + (offset 0.127) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "U" + (at 0 5.08 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Value" "MCP6004" + (at 0 -5.08 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "" + (at -1.27 2.54 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "http://ww1.microchip.com/downloads/en/DeviceDoc/21733j.pdf" + (at 1.27 5.08 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "1MHz, Low-Power Op Amp, DIP-14/SOIC-14/TSSOP-14" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_locked" "" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "ki_keywords" "quad opamp" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_fp_filters" "SOIC*3.9x8.7mm*P1.27mm* DIP*W7.62mm* TSSOP*4.4x5mm*P0.65mm* SSOP*5.3x6.2mm*P0.65mm* MSOP*3x3mm*P0.5mm*" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "MCP6004_1_1" + (polyline + (pts + (xy -5.08 5.08) (xy 5.08 0) (xy -5.08 -5.08) (xy -5.08 5.08) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (pin input line + (at -7.62 2.54 0) + (length 2.54) + (name "+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -7.62 -2.54 0) + (length 2.54) + (name "-" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin output line + (at 7.62 0 180) + (length 2.54) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (symbol "MCP6004_2_1" + (polyline + (pts + (xy -5.08 5.08) (xy 5.08 0) (xy -5.08 -5.08) (xy -5.08 5.08) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (pin input line + (at -7.62 2.54 0) + (length 2.54) + (name "+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "5" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -7.62 -2.54 0) + (length 2.54) + (name "-" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "6" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin output line + (at 7.62 0 180) + (length 2.54) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "7" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (symbol "MCP6004_3_1" + (polyline + (pts + (xy -5.08 5.08) (xy 5.08 0) (xy -5.08 -5.08) (xy -5.08 5.08) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (pin input line + (at -7.62 2.54 0) + (length 2.54) + (name "+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "10" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -7.62 -2.54 0) + (length 2.54) + (name "-" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "9" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin output line + (at 7.62 0 180) + (length 2.54) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "8" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (symbol "MCP6004_4_1" + (polyline + (pts + (xy -5.08 5.08) (xy 5.08 0) (xy -5.08 -5.08) (xy -5.08 5.08) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (pin input line + (at -7.62 2.54 0) + (length 2.54) + (name "+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "12" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -7.62 -2.54 0) + (length 2.54) + (name "-" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "13" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin output line + (at 7.62 0 180) + (length 2.54) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "14" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (symbol "MCP6004_5_1" + (pin power_in line + (at -2.54 7.62 270) + (length 3.81) + (name "V+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin power_in line + (at -2.54 -7.62 90) + (length 3.81) + (name "V-" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "11" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "Device:R_Potentiometer_US" + (pin_names + (offset 1.016) + (hide yes) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "RV" + (at -4.445 0 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "R_Potentiometer_US" + (at -2.54 0 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Potentiometer, US symbol" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_keywords" "resistor variable" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_fp_filters" "Potentiometer*" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "R_Potentiometer_US_0_1" + (polyline + (pts + (xy 0 2.54) (xy 0 2.286) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 2.286) (xy 1.016 1.905) (xy 0 1.524) (xy -1.016 1.143) (xy 0 0.762) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 0.762) (xy 1.016 0.381) (xy 0 0) (xy -1.016 -0.381) (xy 0 -0.762) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 -0.762) (xy 1.016 -1.143) (xy 0 -1.524) (xy -1.016 -1.905) (xy 0 -2.286) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 -2.286) (xy 0 -2.54) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 1.143 0) (xy 2.286 0.508) (xy 2.286 -0.508) (xy 1.143 0) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type outline) + ) + ) + (polyline + (pts + (xy 2.54 0) (xy 1.524 0) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + ) + (symbol "R_Potentiometer_US_1_1" + (pin passive line + (at 0 3.81 270) + (length 1.27) + (name "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 0 -3.81 90) + (length 1.27) + (name "3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 3.81 0 180) + (length 1.27) + (name "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "Device:R_US" + (pin_numbers + (hide yes) + ) + (pin_names + (offset 0) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "R" + (at 2.54 0 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "R_US" + (at -2.54 0 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 1.016 -0.254 90) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Resistor, US symbol" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_keywords" "R res resistor" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_fp_filters" "R_*" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "R_US_0_1" + (polyline + (pts + (xy 0 2.286) (xy 0 2.54) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 2.286) (xy 1.016 1.905) (xy 0 1.524) (xy -1.016 1.143) (xy 0 0.762) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 0.762) (xy 1.016 0.381) (xy 0 0) (xy -1.016 -0.381) (xy 0 -0.762) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 -0.762) (xy 1.016 -1.143) (xy 0 -1.524) (xy -1.016 -1.905) (xy 0 -2.286) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 -2.286) (xy 0 -2.54) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + ) + (symbol "R_US_1_1" + (pin passive line + (at 0 3.81 270) + (length 1.27) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 0 -3.81 90) + (length 1.27) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + ) + (junction + (at 48.26 53.34) + (diameter 0) + (color 0 0 0 0) + (uuid "39ed2852-b0ae-4fd7-a3c0-5f3d3f119696") + ) + (junction + (at 71.12 36.83) + (diameter 0) + (color 0 0 0 0) + (uuid "7316a18c-05af-4173-a787-186e996a286c") + ) + (junction + (at 34.29 53.34) + (diameter 0) + (color 0 0 0 0) + (uuid "a63187fe-19b4-43a7-9b06-a8fca85b5130") + ) + (wire + (pts + (xy 63.5 53.34) (xy 71.12 53.34) + ) + (stroke + (width 0) + (type default) + ) + (uuid "0d806cac-fc6e-40d1-9a91-44899f11e8a6") + ) + (wire + (pts + (xy 38.1 34.29) (xy 50.8 34.29) + ) + (stroke + (width 0) + (type default) + ) + (uuid "27c583ab-2c53-4aa7-a335-caaf2e4b0f8c") + ) + (wire + (pts + (xy 34.29 55.88) (xy 34.29 53.34) + ) + (stroke + (width 0) + (type default) + ) + (uuid "46083bda-3c16-4348-9fb4-dc902a3fe9c1") + ) + (wire + (pts + (xy 34.29 26.67) (xy 34.29 30.48) + ) + (stroke + (width 0) + (type default) + ) + (uuid "50b7a348-0e39-4f38-bf02-ca269c55cd7f") + ) + (wire + (pts + (xy 71.12 53.34) (xy 71.12 36.83) + ) + (stroke + (width 0) + (type default) + ) + (uuid "5b201de6-c7d1-48d6-b43a-dc55f3045310") + ) + (wire + (pts + (xy 48.26 39.37) (xy 50.8 39.37) + ) + (stroke + (width 0) + (type default) + ) + (uuid "6023805a-6a7e-4fd4-8bfa-087ded7965bd") + ) + (wire + (pts + (xy 34.29 38.1) (xy 34.29 53.34) + ) + (stroke + (width 0) + (type default) + ) + (uuid "758845d6-4ad2-442d-b607-de9050132d09") + ) + (wire + (pts + (xy 48.26 53.34) (xy 55.88 53.34) + ) + (stroke + (width 0) + (type default) + ) + (uuid "77bd78fa-e630-4c8a-86bd-d8d1076232b5") + ) + (wire + (pts + (xy 66.04 36.83) (xy 71.12 36.83) + ) + (stroke + (width 0) + (type default) + ) + (uuid "a3e92b22-aa0e-4423-bc3f-bca0aa98005d") + ) + (wire + (pts + (xy 27.94 26.67) (xy 34.29 26.67) + ) + (stroke + (width 0) + (type default) + ) + (uuid "bbc5c3bd-5d68-47f0-9983-3aa7c37a70d8") + ) + (wire + (pts + (xy 48.26 53.34) (xy 48.26 39.37) + ) + (stroke + (width 0) + (type default) + ) + (uuid "c2e0df7f-b4b9-420b-b6fe-06c9c1430f65") + ) + (wire + (pts + (xy 45.72 53.34) (xy 48.26 53.34) + ) + (stroke + (width 0) + (type default) + ) + (uuid "c301a7c1-d628-4bd4-90a1-311d08803f36") + ) + (wire + (pts + (xy 38.1 53.34) (xy 34.29 53.34) + ) + (stroke + (width 0) + (type default) + ) + (uuid "eedd19f9-d267-46d8-bd34-b8799b2d8f9b") + ) + (wire + (pts + (xy 71.12 36.83) (xy 77.47 36.83) + ) + (stroke + (width 0) + (type default) + ) + (uuid "f1f90132-bbec-42d1-9e40-b57fdcd0fd84") + ) + (global_label "VREF" + (shape input) + (at 34.29 55.88 270) + (fields_autoplaced yes) + (effects + (font + (size 1.27 1.27) + ) + (justify right) + ) + (uuid "24be5bc8-0268-4ba5-8e99-20dbdbfa3013") + (property "Intersheetrefs" "${INTERSHEET_REFS}" + (at 34.29 63.4614 90) + (effects + (font + (size 1.27 1.27) + ) + (justify right) + (hide yes) + ) + ) + ) + (hierarchical_label "IN" + (shape input) + (at 27.94 26.67 180) + (effects + (font + (size 1.27 1.27) + ) + (justify right) + ) + (uuid "a98bb9a5-5053-41c1-8e68-2bc5e0c05823") + ) + (hierarchical_label "OUT" + (shape input) + (at 77.47 36.83 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + (uuid "c62ff74a-6684-456f-b0dc-cfd627805c0e") + ) + (symbol + (lib_id "Device:R_US") + (at 41.91 53.34 90) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "08974f48-4704-443a-adc8-d52d119c62e0") + (property "Reference" "R9" + (at 41.91 46.99 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "10k" + (at 41.91 49.53 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 42.164 52.324 90) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 41.91 53.34 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Resistor, US symbol" + (at 41.91 53.34 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "3bd1d715-65ec-4a00-916c-31f335077704") + ) + (pin "2" + (uuid "121464cc-4acc-4a59-bb6b-55da2ba6fe05") + ) + (instances + (project "ece223_project" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396/92a045e3-bee5-40f5-b5ce-8fe433234af4" + (reference "R9") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Amplifier_Operational:MCP6004") + (at 58.42 36.83 0) + (unit 4) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "37656bb9-684d-4a1b-9aa6-dad213508381") + (property "Reference" "U7" + (at 58.42 26.67 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "MCP6004" + (at 58.42 29.21 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 57.15 34.29 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "http://ww1.microchip.com/downloads/en/DeviceDoc/21733j.pdf" + (at 59.69 31.75 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "1MHz, Low-Power Op Amp, DIP-14/SOIC-14/TSSOP-14" + (at 58.42 36.83 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Library" "MCP6001.lib" + (at 58.42 36.83 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Name" "MCP6004" + (at 58.42 36.83 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Device" "SUBCKT" + (at 58.42 36.83 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Pins" "1=OUTA 2=A- 3=A+ 4=VDD 5=B+ 6=B- 7=OUTB 8=OUTC 9=C- 10=C+ 11=VSS 12=D+ 13=D- 14=OUTD" + (at 58.42 36.83 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "13" + (uuid "4a91f984-eaaa-4a30-84bc-b01fdc4cd6b1") + ) + (pin "8" + (uuid "30f5683a-d75d-472c-ae7c-ae7e62ac6e69") + ) + (pin "10" + (uuid "2acf4fa4-7993-4464-b7ca-577fd6301819") + ) + (pin "2" + (uuid "198220aa-585b-47c9-aa90-04bdee71f59a") + ) + (pin "3" + (uuid "92257fd3-d5ba-4b08-9997-dd833f089e4a") + ) + (pin "14" + (uuid "a6f48089-5525-4d7e-b455-8f7b71bbeff3") + ) + (pin "4" + (uuid "eb281645-8f36-4040-979f-3aaa2dc6413c") + ) + (pin "7" + (uuid "280c5749-90d5-4212-9c8d-2e8cd0cd3c01") + ) + (pin "9" + (uuid "270b9ac1-f4ad-4341-af54-699650b53537") + ) + (pin "6" + (uuid "481802bf-8574-4fd0-a3b4-633e10b6c282") + ) + (pin "1" + (uuid "d938bc20-94b3-4b57-bae8-dfd38ef0d125") + ) + (pin "5" + (uuid "658addb7-8557-4d3d-b9de-1cda143928f2") + ) + (pin "11" + (uuid "bbb76668-a696-4f17-a42c-96f1401a31f2") + ) + (pin "12" + (uuid "7d70c96f-70dc-44a5-ab91-b9ca16565f42") + ) + (instances + (project "ece223_project" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396/92a045e3-bee5-40f5-b5ce-8fe433234af4" + (reference "U7") + (unit 4) + ) + ) + ) + ) + (symbol + (lib_id "Device:R_Potentiometer_US") + (at 34.29 34.29 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "5d474325-9e9e-49da-a39f-23f903f781ea") + (property "Reference" "RV3" + (at 31.75 33.0199 0) + (effects + (font + (size 1.27 1.27) + ) + (justify right) + ) + ) + (property "Value" "5k" + (at 31.75 35.5599 0) + (effects + (font + (size 1.27 1.27) + ) + (justify right) + ) + ) + (property "Footprint" "" + (at 34.29 34.29 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 34.29 34.29 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Potentiometer, US symbol" + (at 34.29 34.29 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Device" "R" + (at 34.29 34.29 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Type" "POT" + (at 34.29 34.29 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Pins" "1=r0 2=wiper 3=r1" + (at 34.29 34.29 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Params" "pos=0.5" + (at 34.29 34.29 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "2" + (uuid "28826fea-a320-4a44-93ba-a4821f9b7f5f") + ) + (pin "3" + (uuid "ac38fd35-d28f-41c0-95c6-d23fa52a3569") + ) + (pin "1" + (uuid "b25c7957-9118-4b83-a545-b9ea572e861e") + ) + (instances + (project "ece223_project" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396/92a045e3-bee5-40f5-b5ce-8fe433234af4" + (reference "RV3") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Device:R_US") + (at 59.69 53.34 90) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "dfcb5527-2e40-475b-a24f-7337b29c79f9") + (property "Reference" "R10" + (at 59.69 46.99 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "30k" + (at 59.69 49.53 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 59.944 52.324 90) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 59.69 53.34 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Resistor, US symbol" + (at 59.69 53.34 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "258cb07d-8931-4e5e-bf32-6c22a390b0c9") + ) + (pin "2" + (uuid "4cb14154-a22b-4346-8740-fa5f59ba9314") + ) + (instances + (project "ece223_project" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396/92a045e3-bee5-40f5-b5ce-8fe433234af4" + (reference "R10") + (unit 1) + ) + ) + ) + ) +) diff --git a/led.lib b/led.lib new file mode 100644 index 0000000..de6df9f --- /dev/null +++ b/led.lib @@ -0,0 +1 @@ +.model LED_GENERAL D (IS=1a RS=3.3 N=1.8) diff --git a/led_gain.kicad_sch b/led_gain.kicad_sch new file mode 100644 index 0000000..ed22978 --- /dev/null +++ b/led_gain.kicad_sch @@ -0,0 +1,984 @@ +(kicad_sch + (version 20250114) + (generator "eeschema") + (generator_version "9.0") + (uuid "64be4852-900e-4e6f-a62b-b97bee407087") + (paper "A4") + (lib_symbols + (symbol "Amplifier_Operational:MCP6004" + (pin_names + (offset 0.127) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "U" + (at 0 5.08 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Value" "MCP6004" + (at 0 -5.08 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "" + (at -1.27 2.54 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "http://ww1.microchip.com/downloads/en/DeviceDoc/21733j.pdf" + (at 1.27 5.08 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "1MHz, Low-Power Op Amp, DIP-14/SOIC-14/TSSOP-14" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_locked" "" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "ki_keywords" "quad opamp" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_fp_filters" "SOIC*3.9x8.7mm*P1.27mm* DIP*W7.62mm* TSSOP*4.4x5mm*P0.65mm* SSOP*5.3x6.2mm*P0.65mm* MSOP*3x3mm*P0.5mm*" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "MCP6004_1_1" + (polyline + (pts + (xy -5.08 5.08) (xy 5.08 0) (xy -5.08 -5.08) (xy -5.08 5.08) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (pin input line + (at -7.62 2.54 0) + (length 2.54) + (name "+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -7.62 -2.54 0) + (length 2.54) + (name "-" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin output line + (at 7.62 0 180) + (length 2.54) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (symbol "MCP6004_2_1" + (polyline + (pts + (xy -5.08 5.08) (xy 5.08 0) (xy -5.08 -5.08) (xy -5.08 5.08) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (pin input line + (at -7.62 2.54 0) + (length 2.54) + (name "+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "5" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -7.62 -2.54 0) + (length 2.54) + (name "-" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "6" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin output line + (at 7.62 0 180) + (length 2.54) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "7" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (symbol "MCP6004_3_1" + (polyline + (pts + (xy -5.08 5.08) (xy 5.08 0) (xy -5.08 -5.08) (xy -5.08 5.08) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (pin input line + (at -7.62 2.54 0) + (length 2.54) + (name "+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "10" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -7.62 -2.54 0) + (length 2.54) + (name "-" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "9" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin output line + (at 7.62 0 180) + (length 2.54) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "8" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (symbol "MCP6004_4_1" + (polyline + (pts + (xy -5.08 5.08) (xy 5.08 0) (xy -5.08 -5.08) (xy -5.08 5.08) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (pin input line + (at -7.62 2.54 0) + (length 2.54) + (name "+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "12" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -7.62 -2.54 0) + (length 2.54) + (name "-" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "13" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin output line + (at 7.62 0 180) + (length 2.54) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "14" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (symbol "MCP6004_5_1" + (pin power_in line + (at -2.54 7.62 270) + (length 3.81) + (name "V+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin power_in line + (at -2.54 -7.62 90) + (length 3.81) + (name "V-" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "11" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "Device:R_Potentiometer_US" + (pin_names + (offset 1.016) + (hide yes) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "RV" + (at -4.445 0 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "R_Potentiometer_US" + (at -2.54 0 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Potentiometer, US symbol" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_keywords" "resistor variable" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_fp_filters" "Potentiometer*" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "R_Potentiometer_US_0_1" + (polyline + (pts + (xy 0 2.54) (xy 0 2.286) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 2.286) (xy 1.016 1.905) (xy 0 1.524) (xy -1.016 1.143) (xy 0 0.762) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 0.762) (xy 1.016 0.381) (xy 0 0) (xy -1.016 -0.381) (xy 0 -0.762) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 -0.762) (xy 1.016 -1.143) (xy 0 -1.524) (xy -1.016 -1.905) (xy 0 -2.286) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 -2.286) (xy 0 -2.54) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 1.143 0) (xy 2.286 0.508) (xy 2.286 -0.508) (xy 1.143 0) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type outline) + ) + ) + (polyline + (pts + (xy 2.54 0) (xy 1.524 0) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + ) + (symbol "R_Potentiometer_US_1_1" + (pin passive line + (at 0 3.81 270) + (length 1.27) + (name "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 0 -3.81 90) + (length 1.27) + (name "3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 3.81 0 180) + (length 1.27) + (name "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + ) + (wire + (pts + (xy 33.02 30.48) (xy 44.45 30.48) + ) + (stroke + (width 0) + (type default) + ) + (uuid "0e5a71be-5dd7-4e24-8a82-e5ff59d75929") + ) + (wire + (pts + (xy 27.94 41.91) (xy 29.21 41.91) + ) + (stroke + (width 0) + (type default) + ) + (uuid "180e62aa-830d-4948-a1b2-3ba2e5d12425") + ) + (wire + (pts + (xy 33.02 35.56) (xy 44.45 35.56) + ) + (stroke + (width 0) + (type default) + ) + (uuid "427843cc-86c9-496c-8c87-8bb0f8e7fd2a") + ) + (wire + (pts + (xy 33.02 38.1) (xy 33.02 35.56) + ) + (stroke + (width 0) + (type default) + ) + (uuid "54542f2f-544c-4b46-a31e-c103ef22f0a9") + ) + (wire + (pts + (xy 38.1 41.91) (xy 36.83 41.91) + ) + (stroke + (width 0) + (type default) + ) + (uuid "5d8c6d6c-4639-4e8f-8625-b2b67649e843") + ) + (wire + (pts + (xy 66.04 33.02) (xy 59.69 33.02) + ) + (stroke + (width 0) + (type default) + ) + (uuid "91838358-4bcc-4473-b6e3-63139fbac294") + ) + (global_label "VREF" + (shape input) + (at 38.1 41.91 0) + (fields_autoplaced yes) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + (uuid "384a3eb0-924f-4a88-82a1-c426ed5a934b") + (property "Intersheetrefs" "${INTERSHEET_REFS}" + (at 45.6814 41.91 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + (hide yes) + ) + ) + ) + (global_label "VCC" + (shape input) + (at 27.94 41.91 180) + (fields_autoplaced yes) + (effects + (font + (size 1.27 1.27) + ) + (justify right) + ) + (uuid "4783454a-cfba-4888-81a8-0a9c71a203e1") + (property "Intersheetrefs" "${INTERSHEET_REFS}" + (at 21.3262 41.91 0) + (effects + (font + (size 1.27 1.27) + ) + (justify right) + (hide yes) + ) + ) + ) + (hierarchical_label "OUT" + (shape input) + (at 66.04 33.02 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + (uuid "015b1cda-df7b-4764-b51d-2559b698f17b") + ) + (hierarchical_label "IN" + (shape input) + (at 33.02 30.48 180) + (effects + (font + (size 1.27 1.27) + ) + (justify right) + ) + (uuid "20204eaf-c27f-4502-aa7f-6b4842f63478") + ) + (symbol + (lib_id "Device:R_Potentiometer_US") + (at 33.02 41.91 90) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "3750f1e2-2882-41cf-82de-8fbcf10de3f3") + (property "Reference" "RV1" + (at 33.02 45.72 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "5k" + (at 33.02 48.26 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 33.02 41.91 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 33.02 41.91 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Potentiometer, US symbol" + (at 33.02 41.91 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Device" "R" + (at 33.02 41.91 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Type" "POT" + (at 33.02 41.91 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Pins" "1=r0 2=wiper 3=r1" + (at 33.02 41.91 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Params" "r=5k pos=0.832" + (at 33.02 41.91 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "6e42f0d1-4f51-4e0b-8793-91f285fbd737") + ) + (pin "3" + (uuid "c19712ad-9262-417d-a257-d74fe9eb1c4a") + ) + (pin "2" + (uuid "8c555c65-8991-4403-b990-16e05a6d92fa") + ) + (instances + (project "ece223_project" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396/d9a3b005-3318-4b28-ad94-fa560a1f4e7a" + (reference "RV1") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Amplifier_Operational:MCP6004") + (at 52.07 33.02 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (uuid "a1ae724f-de28-403c-bbce-f009df7fc34d") + (property "Reference" "U8" + (at 52.07 22.86 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "MCP6004" + (at 52.07 25.4 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 50.8 30.48 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "http://ww1.microchip.com/downloads/en/DeviceDoc/21733j.pdf" + (at 53.34 27.94 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "1MHz, Low-Power Op Amp, DIP-14/SOIC-14/TSSOP-14" + (at 52.07 33.02 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Library" "MCP6001.lib" + (at 52.07 33.02 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Name" "MCP6004" + (at 52.07 33.02 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Device" "SUBCKT" + (at 52.07 33.02 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Pins" "1=OUTA 2=A- 3=A+ 4=VDD 5=B+ 6=B- 7=OUTB 8=OUTC 9=C- 10=C+ 11=VSS 12=D+ 13=D- 14=OUTD" + (at 52.07 33.02 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "13" + (uuid "5fdca11d-2734-4e6e-807e-9dcb8998d831") + ) + (pin "8" + (uuid "30f5683a-d75d-472c-ae7c-ae7e62ac6e69") + ) + (pin "10" + (uuid "2acf4fa4-7993-4464-b7ca-577fd6301819") + ) + (pin "2" + (uuid "198220aa-585b-47c9-aa90-04bdee71f59a") + ) + (pin "3" + (uuid "92257fd3-d5ba-4b08-9997-dd833f089e4a") + ) + (pin "14" + (uuid "03c0f5cb-d291-4d4a-bd25-e333f4398241") + ) + (pin "4" + (uuid "eb281645-8f36-4040-979f-3aaa2dc6413c") + ) + (pin "7" + (uuid "e2c578dd-77b8-4ff9-92bc-6e79dbca0d31") + ) + (pin "9" + (uuid "270b9ac1-f4ad-4341-af54-699650b53537") + ) + (pin "6" + (uuid "dc07bffb-a3bb-4585-8c19-282f68bb6abe") + ) + (pin "1" + (uuid "d938bc20-94b3-4b57-bae8-dfd38ef0d125") + ) + (pin "5" + (uuid "f823345c-ed84-4189-9981-4cee78198036") + ) + (pin "11" + (uuid "bbb76668-a696-4f17-a42c-96f1401a31f2") + ) + (pin "12" + (uuid "089a5141-05eb-4eae-807f-00e48fdee24c") + ) + (instances + (project "ece223_project" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396/d9a3b005-3318-4b28-ad94-fa560a1f4e7a" + (reference "U8") + (unit 1) + ) + ) + ) + ) +) diff --git a/lm741.lib b/lm741.lib new file mode 100644 index 0000000..320bca5 --- /dev/null +++ b/lm741.lib @@ -0,0 +1,111 @@ +*////////////////////////////////////////////////////////////////////// +* (C) National Semiconductor, Inc. +* Models developed and under copyright by: +* National Semiconductor, Inc. + +*///////////////////////////////////////////////////////////////////// +* Legal Notice: This material is intended for free software support. +* The file may be copied, and distributed; however, reselling the +* material is illegal + +*//////////////////////////////////////////////////////////////////// +* For ordering or technical information on these models, contact: +* National Semiconductor's Customer Response Center +* 7:00 A.M.--7:00 P.M. U.S. Central Time +* (800) 272-9959 +* For Applications support, contact the Internet address: +* amps-apps@galaxy.nsc.com + +*////////////////////////////////////////////////////////// +*LM741 OPERATIONAL AMPLIFIER MACRO-MODEL +*////////////////////////////////////////////////////////// +* +* connections: non-inverting input +* | inverting input +* | | positive power supply +* | | | negative power supply +* | | | | output +* | | | | | +* | | | | | +.SUBCKT LM741O 1 2 99 50 28 +* +*Features: +*Improved performance over industry standards +*Plug-in replacement for LM709,LM201,MC1439,748 +*Input and output overload protection +* +****************INPUT STAGE************** +* +IOS 2 1 20N +*^Input offset current +R1 1 3 250K +R2 3 2 250K +I1 4 50 100U +R3 5 99 517 +R4 6 99 517 +Q1 5 2 4 QX +Q2 6 7 4 QX +*Fp2=2.55 MHz +C4 5 6 60.3614P +* +***********COMMON MODE EFFECT*********** +* +I2 99 50 1.6MA +*^Quiescent supply current +EOS 7 1 POLY(1) 16 49 1E-3 1 +*Input offset voltage.^ +R8 99 49 40K +R9 49 50 40K +* +*********OUTPUT VOLTAGE LIMITING******** +V2 99 8 1.63 +D1 9 8 DX +D2 10 9 DX +V3 10 50 1.63 +* +**************SECOND STAGE************** +* +EH 99 98 99 49 1 +G1 98 9 5 6 2.1E-3 +*Fp1=5 Hz +R5 98 9 95.493MEG +C3 98 9 333.33P +* +***************POLE STAGE*************** +* +*Fp=30 MHz +G3 98 15 9 49 1E-6 +R12 98 15 1MEG +C5 98 15 5.3052E-15 +* +*********COMMON-MODE ZERO STAGE********* +* +*Fpcm=300 Hz +G4 98 16 3 49 3.1623E-8 +L2 98 17 530.5M +R13 17 16 1K +* +**************OUTPUT STAGE************** +* +F6 50 99 POLY(1) V6 450U 1 +E1 99 23 99 15 1 +R16 24 23 25 +D5 26 24 DX +V6 26 22 0.65V +R17 23 25 25 +D6 25 27 DX +V7 22 27 0.65V +V5 22 21 0.18V +D4 21 15 DX +V4 20 22 0.18V +D3 15 20 DX +L3 22 28 100P +RL3 22 28 100K +* +***************MODELS USED************** +* +.MODEL DX D(IS=1E-15) +.MODEL QX NPN(BF=625) +* +.ENDS +*$ diff --git a/rail_gen.kicad_sch b/rail_gen.kicad_sch new file mode 100644 index 0000000..7006b05 --- /dev/null +++ b/rail_gen.kicad_sch @@ -0,0 +1,2345 @@ +(kicad_sch + (version 20250114) + (generator "eeschema") + (generator_version "9.0") + (uuid "bae285c4-ab5c-4415-b389-da0be21324c6") + (paper "A4") + (lib_symbols + (symbol "Amplifier_Operational:MCP6004" + (pin_names + (offset 0.127) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "U" + (at 0 5.08 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Value" "MCP6004" + (at 0 -5.08 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "" + (at -1.27 2.54 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "http://ww1.microchip.com/downloads/en/DeviceDoc/21733j.pdf" + (at 1.27 5.08 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "1MHz, Low-Power Op Amp, DIP-14/SOIC-14/TSSOP-14" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_locked" "" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "ki_keywords" "quad opamp" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_fp_filters" "SOIC*3.9x8.7mm*P1.27mm* DIP*W7.62mm* TSSOP*4.4x5mm*P0.65mm* SSOP*5.3x6.2mm*P0.65mm* MSOP*3x3mm*P0.5mm*" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "MCP6004_1_1" + (polyline + (pts + (xy -5.08 5.08) (xy 5.08 0) (xy -5.08 -5.08) (xy -5.08 5.08) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (pin input line + (at -7.62 2.54 0) + (length 2.54) + (name "+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -7.62 -2.54 0) + (length 2.54) + (name "-" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin output line + (at 7.62 0 180) + (length 2.54) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (symbol "MCP6004_2_1" + (polyline + (pts + (xy -5.08 5.08) (xy 5.08 0) (xy -5.08 -5.08) (xy -5.08 5.08) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (pin input line + (at -7.62 2.54 0) + (length 2.54) + (name "+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "5" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -7.62 -2.54 0) + (length 2.54) + (name "-" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "6" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin output line + (at 7.62 0 180) + (length 2.54) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "7" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (symbol "MCP6004_3_1" + (polyline + (pts + (xy -5.08 5.08) (xy 5.08 0) (xy -5.08 -5.08) (xy -5.08 5.08) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (pin input line + (at -7.62 2.54 0) + (length 2.54) + (name "+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "10" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -7.62 -2.54 0) + (length 2.54) + (name "-" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "9" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin output line + (at 7.62 0 180) + (length 2.54) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "8" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (symbol "MCP6004_4_1" + (polyline + (pts + (xy -5.08 5.08) (xy 5.08 0) (xy -5.08 -5.08) (xy -5.08 5.08) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (pin input line + (at -7.62 2.54 0) + (length 2.54) + (name "+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "12" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -7.62 -2.54 0) + (length 2.54) + (name "-" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "13" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin output line + (at 7.62 0 180) + (length 2.54) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "14" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (symbol "MCP6004_5_1" + (pin power_in line + (at -2.54 7.62 270) + (length 3.81) + (name "V+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin power_in line + (at -2.54 -7.62 90) + (length 3.81) + (name "V-" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "11" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "Device:C" + (pin_numbers + (hide yes) + ) + (pin_names + (offset 0.254) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "C" + (at 0.635 2.54 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Value" "C" + (at 0.635 -2.54 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "" + (at 0.9652 -3.81 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Unpolarized capacitor" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_keywords" "cap capacitor" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_fp_filters" "C_*" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "C_0_1" + (polyline + (pts + (xy -2.032 0.762) (xy 2.032 0.762) + ) + (stroke + (width 0.508) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -2.032 -0.762) (xy 2.032 -0.762) + ) + (stroke + (width 0.508) + (type default) + ) + (fill + (type none) + ) + ) + ) + (symbol "C_1_1" + (pin passive line + (at 0 3.81 270) + (length 2.794) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 0 -3.81 90) + (length 2.794) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "Device:L" + (pin_numbers + (hide yes) + ) + (pin_names + (offset 1.016) + (hide yes) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "L" + (at -1.27 0 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "L" + (at 1.905 0 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Inductor" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_keywords" "inductor choke coil reactor magnetic" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_fp_filters" "Choke_* *Coil* Inductor_* L_*" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "L_0_1" + (arc + (start 0 2.54) + (mid 0.6323 1.905) + (end 0 1.27) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 0 1.27) + (mid 0.6323 0.635) + (end 0 0) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 0 0) + (mid 0.6323 -0.635) + (end 0 -1.27) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start 0 -1.27) + (mid 0.6323 -1.905) + (end 0 -2.54) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + ) + (symbol "L_1_1" + (pin passive line + (at 0 3.81 270) + (length 1.27) + (name "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 0 -3.81 90) + (length 1.27) + (name "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "Device:R_US" + (pin_numbers + (hide yes) + ) + (pin_names + (offset 0) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "R" + (at 2.54 0 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "R_US" + (at -2.54 0 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 1.016 -0.254 90) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Resistor, US symbol" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_keywords" "R res resistor" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_fp_filters" "R_*" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "R_US_0_1" + (polyline + (pts + (xy 0 2.286) (xy 0 2.54) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 2.286) (xy 1.016 1.905) (xy 0 1.524) (xy -1.016 1.143) (xy 0 0.762) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 0.762) (xy 1.016 0.381) (xy 0 0) (xy -1.016 -0.381) (xy 0 -0.762) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 -0.762) (xy 1.016 -1.143) (xy 0 -1.524) (xy -1.016 -1.905) (xy 0 -2.286) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 -2.286) (xy 0 -2.54) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + ) + (symbol "R_US_1_1" + (pin passive line + (at 0 3.81 270) + (length 1.27) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 0 -3.81 90) + (length 1.27) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "Regulator_Switching:TPS613222ADBV" + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "U" + (at -7.62 6.35 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Value" "TPS613222ADBV" + (at 2.54 6.35 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "Package_TO_SOT_SMD:SOT-23-5" + (at 0 -20.32 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "http://www.ti.com/lit/ds/symlink/tps61322.pdf" + (at 0 -3.81 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "1.8A Step-Up Converter, 5V Output Voltage, 0.9-5.5V Input Voltage, SOT-23-5" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_keywords" "Boost converter" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_fp_filters" "SOT?23*" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "TPS613222ADBV_0_1" + (rectangle + (start -7.62 5.08) + (end 7.62 -5.08) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + ) + (symbol "TPS613222ADBV_1_1" + (pin power_in line + (at -10.16 2.54 0) + (length 2.54) + (name "SW" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin no_connect line + (at -7.62 -2.54 0) + (length 2.54) + (hide yes) + (name "NC" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin power_in line + (at 0 -7.62 90) + (length 2.54) + (name "GND" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin no_connect line + (at 7.62 -2.54 180) + (length 2.54) + (hide yes) + (name "NC" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "5" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin power_out line + (at 10.16 2.54 180) + (length 2.54) + (name "VOUT" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + ) + (text ".param ss=0\n.options chgtol=1e-11 abstol=10u gmin=1e-10" + (exclude_from_sim no) + (at 77.47 24.892 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + (uuid "25efee7b-b331-4e1c-81b0-5a50ae8be343") + ) + (junction + (at 36.83 35.56) + (diameter 0) + (color 0 0 0 0) + (uuid "1578a6be-dda1-469a-a376-223143ba9556") + ) + (junction + (at 109.22 49.53) + (diameter 0) + (color 0 0 0 0) + (uuid "37fea5c5-b0f6-4b60-8710-d6add7d3159b") + ) + (junction + (at 109.22 66.04) + (diameter 0) + (color 0 0 0 0) + (uuid "45d1c238-d302-4b0f-9e7d-c641c0f21fe0") + ) + (junction + (at 81.28 35.56) + (diameter 0) + (color 0 0 0 0) + (uuid "63df011e-1739-49ff-a52b-4e0d806ccf88") + ) + (junction + (at 156.21 52.07) + (diameter 0) + (color 0 0 0 0) + (uuid "86e80d7d-f452-4bdd-84a9-e28277458ef0") + ) + (junction + (at 109.22 35.56) + (diameter 0) + (color 0 0 0 0) + (uuid "a5586223-5b7c-4370-a543-11020cbc2797") + ) + (junction + (at 62.23 66.04) + (diameter 0) + (color 0 0 0 0) + (uuid "c8b90de8-9190-4e80-99fc-f1392c081f60") + ) + (junction + (at 95.25 66.04) + (diameter 0) + (color 0 0 0 0) + (uuid "dbbd2ad1-3c00-4693-a4cc-7d1e9e24395a") + ) + (junction + (at 36.83 66.04) + (diameter 0) + (color 0 0 0 0) + (uuid "e6369362-64d1-4fcc-b097-d5b1d45f0500") + ) + (junction + (at 95.25 35.56) + (diameter 0) + (color 0 0 0 0) + (uuid "f5462220-3467-4d5a-9419-30a8bf280244") + ) + (junction + (at 81.28 66.04) + (diameter 0) + (color 0 0 0 0) + (uuid "fed6a07e-72b0-4e19-aaa9-a9418ed2b442") + ) + (wire + (pts + (xy 139.7 52.07) (xy 143.51 52.07) + ) + (stroke + (width 0) + (type default) + ) + (uuid "0215a4c4-4e73-405f-a786-9cf082a9f1bc") + ) + (wire + (pts + (xy 95.25 35.56) (xy 109.22 35.56) + ) + (stroke + (width 0) + (type default) + ) + (uuid "129eb633-f1fb-44be-93a2-5d1ca21bae5d") + ) + (wire + (pts + (xy 40.64 35.56) (xy 36.83 35.56) + ) + (stroke + (width 0) + (type default) + ) + (uuid "198ee41b-505c-44fe-8b80-0ab81df40d7a") + ) + (wire + (pts + (xy 36.83 66.04) (xy 31.75 66.04) + ) + (stroke + (width 0) + (type default) + ) + (uuid "1d620922-e9d6-4439-b836-3a0688d59bcb") + ) + (wire + (pts + (xy 36.83 54.61) (xy 36.83 66.04) + ) + (stroke + (width 0) + (type default) + ) + (uuid "316504ed-bdf7-4a3c-b70a-1816e3e2f3ae") + ) + (wire + (pts + (xy 109.22 66.04) (xy 162.56 66.04) + ) + (stroke + (width 0) + (type default) + ) + (uuid "36839a29-ec0b-465f-bd97-2d47083e1332") + ) + (wire + (pts + (xy 72.39 35.56) (xy 81.28 35.56) + ) + (stroke + (width 0) + (type default) + ) + (uuid "3bdca807-0689-4701-928a-961b1f142f19") + ) + (wire + (pts + (xy 156.21 52.07) (xy 162.56 52.07) + ) + (stroke + (width 0) + (type default) + ) + (uuid "40f07611-4574-4dd5-8f5c-49a9e4f27a84") + ) + (wire + (pts + (xy 109.22 49.53) (xy 109.22 53.34) + ) + (stroke + (width 0) + (type default) + ) + (uuid "46b358ce-7afa-48ea-8fa0-1a6b3afd05ae") + ) + (wire + (pts + (xy 109.22 35.56) (xy 109.22 39.37) + ) + (stroke + (width 0) + (type default) + ) + (uuid "5203be36-7760-4bd1-97c6-5664e2f9d625") + ) + (wire + (pts + (xy 109.22 35.56) (xy 162.56 35.56) + ) + (stroke + (width 0) + (type default) + ) + (uuid "573038ec-e7bc-480a-aa59-f291c702e3e5") + ) + (wire + (pts + (xy 156.21 52.07) (xy 156.21 60.96) + ) + (stroke + (width 0) + (type default) + ) + (uuid "620ed53c-a437-43c0-84fc-8529c205ca43") + ) + (wire + (pts + (xy 48.26 35.56) (xy 52.07 35.56) + ) + (stroke + (width 0) + (type default) + ) + (uuid "64ac4b3a-17f7-4f36-96f9-f21026560bbe") + ) + (wire + (pts + (xy 95.25 66.04) (xy 109.22 66.04) + ) + (stroke + (width 0) + (type default) + ) + (uuid "7526d0af-6bca-42c0-a9e9-d3a733be18b6") + ) + (wire + (pts + (xy 95.25 35.56) (xy 95.25 45.72) + ) + (stroke + (width 0) + (type default) + ) + (uuid "795bc4ad-5b18-426b-a30e-8c071377313b") + ) + (wire + (pts + (xy 109.22 49.53) (xy 124.46 49.53) + ) + (stroke + (width 0) + (type default) + ) + (uuid "7ad29087-65a1-4948-91ae-f10cdab14b30") + ) + (wire + (pts + (xy 109.22 60.96) (xy 109.22 66.04) + ) + (stroke + (width 0) + (type default) + ) + (uuid "80d33ea8-15f8-4994-8eb9-20ab659eb33b") + ) + (wire + (pts + (xy 109.22 46.99) (xy 109.22 49.53) + ) + (stroke + (width 0) + (type default) + ) + (uuid "8c80d344-ecf1-4e7d-8160-30873fdc087a") + ) + (wire + (pts + (xy 121.92 60.96) (xy 121.92 54.61) + ) + (stroke + (width 0) + (type default) + ) + (uuid "8f95788d-61ad-404d-a0bc-5cb87495df6a") + ) + (wire + (pts + (xy 31.75 35.56) (xy 36.83 35.56) + ) + (stroke + (width 0) + (type default) + ) + (uuid "aef3499c-8e3f-47e5-81c1-8068d36de5ad") + ) + (wire + (pts + (xy 36.83 35.56) (xy 36.83 46.99) + ) + (stroke + (width 0) + (type default) + ) + (uuid "b7acbfcf-6eeb-4054-be45-1e6b788c2ac1") + ) + (wire + (pts + (xy 62.23 66.04) (xy 81.28 66.04) + ) + (stroke + (width 0) + (type default) + ) + (uuid "babd82b8-e95f-4650-8533-b987c4206113") + ) + (wire + (pts + (xy 81.28 66.04) (xy 95.25 66.04) + ) + (stroke + (width 0) + (type default) + ) + (uuid "beaee2c2-955b-4ec3-8266-6d6ca7de7c07") + ) + (wire + (pts + (xy 151.13 52.07) (xy 156.21 52.07) + ) + (stroke + (width 0) + (type default) + ) + (uuid "c657ed0f-1131-4ca5-8e1c-f4be3f76c599") + ) + (wire + (pts + (xy 36.83 66.04) (xy 62.23 66.04) + ) + (stroke + (width 0) + (type default) + ) + (uuid "d0b7dd1d-35d4-4323-b43b-2c60a4120648") + ) + (wire + (pts + (xy 62.23 45.72) (xy 62.23 66.04) + ) + (stroke + (width 0) + (type default) + ) + (uuid "d54ec781-cf2f-42be-9071-ade8aeaa7d13") + ) + (wire + (pts + (xy 121.92 54.61) (xy 124.46 54.61) + ) + (stroke + (width 0) + (type default) + ) + (uuid "dfff72c8-0040-4450-985a-43939538073f") + ) + (wire + (pts + (xy 81.28 35.56) (xy 81.28 45.72) + ) + (stroke + (width 0) + (type default) + ) + (uuid "e46211d5-50b9-4dcc-8876-69fb46d50ade") + ) + (wire + (pts + (xy 95.25 53.34) (xy 95.25 66.04) + ) + (stroke + (width 0) + (type default) + ) + (uuid "f07e1794-71ab-4354-bcbf-c0c1a54b5d00") + ) + (wire + (pts + (xy 156.21 60.96) (xy 121.92 60.96) + ) + (stroke + (width 0) + (type default) + ) + (uuid "f30c4437-a923-45c1-bc09-23eb9b381326") + ) + (wire + (pts + (xy 81.28 35.56) (xy 95.25 35.56) + ) + (stroke + (width 0) + (type default) + ) + (uuid "f34c225d-044c-45db-8e6c-f0d79be6f310") + ) + (wire + (pts + (xy 81.28 53.34) (xy 81.28 66.04) + ) + (stroke + (width 0) + (type default) + ) + (uuid "fbd19471-3e9e-4a8a-8f4a-0bafd3419265") + ) + (hierarchical_label "VIN+" + (shape input) + (at 31.75 35.56 180) + (effects + (font + (size 1.27 1.27) + ) + (justify right) + ) + (uuid "0ee320f3-c649-4de2-9347-0cc83361d5eb") + ) + (hierarchical_label "VIN-" + (shape input) + (at 31.75 66.04 180) + (effects + (font + (size 1.27 1.27) + ) + (justify right) + ) + (uuid "48f0c273-4b1f-430e-80be-8165b397b9de") + ) + (hierarchical_label "VREF" + (shape input) + (at 162.56 52.07 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + (uuid "570c7bae-3065-4c62-9f85-843f953b3a07") + ) + (hierarchical_label "VCC" + (shape input) + (at 162.56 35.56 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + (uuid "723fd243-2034-4f20-953c-ab5b358be2d7") + ) + (hierarchical_label "GND" + (shape input) + (at 162.56 66.04 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + (uuid "be867226-c7a4-4f69-b8c9-427df6085e3e") + ) + (symbol + (lib_id "Device:R_US") + (at 147.32 52.07 90) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "01de9516-f13b-4b07-8342-3330b3a85e07") + (property "Reference" "R3" + (at 147.32 45.72 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "100" + (at 147.32 48.26 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 147.574 51.054 90) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 147.32 52.07 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Resistor, US symbol" + (at 147.32 52.07 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "008ddeac-dd6d-4842-bb46-22a75d397729") + ) + (pin "2" + (uuid "45ae0a27-5d85-4b22-b27b-fbfde1f2586b") + ) + (instances + (project "" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396/7683adc3-3937-403f-8f34-7becfe72007f" + (reference "R3") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Amplifier_Operational:MCP6004") + (at 132.08 52.07 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "15ccedf8-acf3-4fc6-9293-0f7c1f11306b") + (property "Reference" "U7" + (at 132.08 41.91 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "MCP6004" + (at 132.08 44.45 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 130.81 49.53 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "http://ww1.microchip.com/downloads/en/DeviceDoc/21733j.pdf" + (at 133.35 46.99 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "1MHz, Low-Power Op Amp, DIP-14/SOIC-14/TSSOP-14" + (at 132.08 52.07 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Library" "MCP6001.lib" + (at 132.08 52.07 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Name" "MCP6004" + (at 132.08 52.07 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Device" "SUBCKT" + (at 132.08 52.07 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Pins" "1=OUTA 2=A- 3=A+ 4=VDD 5=B+ 6=B- 7=OUTB 8=OUTC 9=C- 10=C+ 11=VSS 12=D+ 13=D- 14=OUTD" + (at 132.08 52.07 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "13" + (uuid "5fdca11d-2734-4e6e-807e-9dcb8998d831") + ) + (pin "8" + (uuid "30f5683a-d75d-472c-ae7c-ae7e62ac6e69") + ) + (pin "10" + (uuid "2acf4fa4-7993-4464-b7ca-577fd6301819") + ) + (pin "2" + (uuid "198220aa-585b-47c9-aa90-04bdee71f59a") + ) + (pin "3" + (uuid "92257fd3-d5ba-4b08-9997-dd833f089e4a") + ) + (pin "14" + (uuid "03c0f5cb-d291-4d4a-bd25-e333f4398241") + ) + (pin "4" + (uuid "eb281645-8f36-4040-979f-3aaa2dc6413c") + ) + (pin "7" + (uuid "280c5749-90d5-4212-9c8d-2e8cd0cd3c01") + ) + (pin "9" + (uuid "270b9ac1-f4ad-4341-af54-699650b53537") + ) + (pin "6" + (uuid "481802bf-8574-4fd0-a3b4-633e10b6c282") + ) + (pin "1" + (uuid "d938bc20-94b3-4b57-bae8-dfd38ef0d125") + ) + (pin "5" + (uuid "658addb7-8557-4d3d-b9de-1cda143928f2") + ) + (pin "11" + (uuid "bbb76668-a696-4f17-a42c-96f1401a31f2") + ) + (pin "12" + (uuid "089a5141-05eb-4eae-807f-00e48fdee24c") + ) + (instances + (project "" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396/7683adc3-3937-403f-8f34-7becfe72007f" + (reference "U7") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Device:R_US") + (at 109.22 57.15 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "286aef49-e170-49ff-8865-f2d495f63f48") + (property "Reference" "R6" + (at 111.76 55.8799 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Value" "220k" + (at 111.76 58.4199 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "" + (at 110.236 57.404 90) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 109.22 57.15 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Resistor, US symbol" + (at 109.22 57.15 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "2" + (uuid "6b1b412c-3453-43f5-a57f-966f8dbb2553") + ) + (pin "1" + (uuid "8fd75be4-3594-4ce4-93cc-a7bdecfa3062") + ) + (instances + (project "ece223_project" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396/7683adc3-3937-403f-8f34-7becfe72007f" + (reference "R6") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Device:L") + (at 44.45 35.56 270) + (mirror x) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (uuid "3519f928-a0f4-41ad-8714-11f5f84dab42") + (property "Reference" "L1" + (at 44.45 30.48 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "2.2u" + (at 44.45 33.02 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 44.45 35.56 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 44.45 35.56 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Inductor" + (at 44.45 35.56 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Device" "SUBCKT" + (at 44.45 35.56 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Pins" "1=port1 2=port2" + (at 44.45 35.56 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Library" "DFE201612E-2R2M.mod" + (at 44.45 35.56 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Name" "DFE201612E-2R2M" + (at 44.45 35.56 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "2" + (uuid "ed1bd216-9f90-435f-8ce6-2de3b1b0b2c7") + ) + (pin "1" + (uuid "59e7d55f-fe42-4819-a1c2-3b509e3fd809") + ) + (instances + (project "" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396/7683adc3-3937-403f-8f34-7becfe72007f" + (reference "L1") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Device:C") + (at 95.25 49.53 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (uuid "5e2a5637-39ef-4524-bede-04c17c074763") + (property "Reference" "C6" + (at 99.06 48.2599 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Value" "22u" + (at 99.06 50.7999 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "" + (at 96.2152 53.34 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 95.25 49.53 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Unpolarized capacitor" + (at 95.25 49.53 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Device" "SUBCKT" + (at 95.25 49.53 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Pins" "1=+ 2=-" + (at 82.296 57.912 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Library" "RC.lib" + (at 95.25 49.53 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Name" "RC" + (at 95.25 49.53 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "2" + (uuid "4a88f3a2-abb3-444a-9b4b-5f80ec400e9c") + ) + (pin "1" + (uuid "2aaedffa-592d-4666-b41b-0145c352d8fe") + ) + (instances + (project "ece223_project" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396/7683adc3-3937-403f-8f34-7becfe72007f" + (reference "C6") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Device:C") + (at 81.28 49.53 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (uuid "84b7e844-cc6c-4c64-bc0d-ac0bb0e0176f") + (property "Reference" "C5" + (at 85.09 48.2599 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Value" "22u" + (at 85.09 50.7999 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "" + (at 82.2452 53.34 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 81.28 49.53 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Unpolarized capacitor" + (at 81.28 49.53 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Device" "SUBCKT" + (at 81.28 49.53 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Pins" "1=+ 2=-" + (at 68.326 57.912 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Library" "RC.lib" + (at 81.28 49.53 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Name" "RC" + (at 81.28 49.53 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "2" + (uuid "830c1a3b-fc1b-422c-843d-c361b1e46907") + ) + (pin "1" + (uuid "afb23550-945a-4332-9d34-fcffb11899d9") + ) + (instances + (project "ece223_project" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396/7683adc3-3937-403f-8f34-7becfe72007f" + (reference "C5") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Device:C") + (at 36.83 50.8 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "aab09ee3-4c7e-40c5-8921-8f4556e4cced") + (property "Reference" "C4" + (at 40.64 49.5299 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Value" "4.7u" + (at 40.64 52.0699 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "" + (at 37.7952 54.61 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 36.83 50.8 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Unpolarized capacitor" + (at 36.83 50.8 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "1c248d25-0c40-4f21-8cf1-47da45fa23f8") + ) + (pin "2" + (uuid "23108a83-635d-435c-b155-4d613747e747") + ) + (instances + (project "" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396/7683adc3-3937-403f-8f34-7becfe72007f" + (reference "C4") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Device:R_US") + (at 109.22 43.18 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "c1fe2a8e-bc15-4e37-83b8-644d55f60335") + (property "Reference" "R5" + (at 111.76 41.9099 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Value" "220k" + (at 111.76 44.4499 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "" + (at 110.236 43.434 90) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 109.22 43.18 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Resistor, US symbol" + (at 109.22 43.18 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "2" + (uuid "14fd9b1b-8625-4b64-9b65-679111ae2515") + ) + (pin "1" + (uuid "9e06875c-578c-42ca-8001-4d9e4a867532") + ) + (instances + (project "" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396/7683adc3-3937-403f-8f34-7becfe72007f" + (reference "R5") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Regulator_Switching:TPS613222ADBV") + (at 62.23 38.1 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "cbb86ad7-2a7c-400f-84ee-934076767f74") + (property "Reference" "U1" + (at 62.23 27.94 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "TPS613222ADBV" + (at 62.23 30.48 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "Package_TO_SOT_SMD:SOT-23-5" + (at 62.23 58.42 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "http://www.ti.com/lit/ds/symlink/tps61322.pdf" + (at 62.23 41.91 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "1.8A Step-Up Converter, 5V Output Voltage, 0.9-5.5V Input Voltage, SOT-23-5" + (at 62.23 38.1 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Library" "tps613222A_trans.lib" + (at 62.23 38.1 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Name" "TPS613222A_TRANS" + (at 62.23 38.1 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Device" "SUBCKT" + (at 62.23 38.1 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Sim.Pins" "1=SW 2=GND 4=VOUT" + (at 62.23 38.1 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "6f6e117b-8c4b-4fd9-bf44-6520e6b6daab") + ) + (pin "4" + (uuid "b08f4f6c-7544-4ead-9b5e-52cb750438ce") + ) + (pin "3" + (uuid "e18ea517-f902-4f92-9dc3-cf58c6324664") + ) + (pin "5" + (uuid "82af8021-7d2a-47af-94c7-3de28bf580f4") + ) + (pin "2" + (uuid "87327b71-abeb-4dfd-8736-069e13911cee") + ) + (instances + (project "" + (path "/3a60b8c4-9b6a-45e3-8d5f-2fa80fee2396/7683adc3-3937-403f-8f34-7becfe72007f" + (reference "U1") + (unit 1) + ) + ) + ) + ) +) diff --git a/startup b/startup new file mode 100644 index 0000000000000000000000000000000000000000..5d4d71d76a4492785b44cfdb944a0851d799cf96 GIT binary patch literal 184713 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∋TiLf*Y0QhP^ns6 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 literal 0 HcmV?d00001 diff --git a/tps613222A_trans.lib b/tps613222A_trans.lib new file mode 100644 index 0000000..9e62e7e --- /dev/null +++ b/tps613222A_trans.lib @@ -0,0 +1,586 @@ +* PSpice Model Editor - Version 16.6.0 +*$ +* TPS613222A +***************************************************************************** +* (C) Copyright 2017 Texas Instruments Incorporated. All rights reserved. +***************************************************************************** +** This model is designed as an aid for customers of Texas Instruments. +** TI and its licensors and suppliers make no warranties, either expressed +** or implied, with respect to this model, including the warranties of +** merchantability or fitness for a particular purpose. The model is +** provided solely on an "as is" basis. The entire risk as to its quality +** and performance is with the customer. +***************************************************************************** +* +** Released by: WEBENCH(R) Design Center, Texas Instruments Inc. +* Part: TPS613222A +* Date: 17APR2018 +* Model Type: TRANSIENT +* Simulator: PSPICE +* Simulator Version: 16.2.0.P001 +* EVM Order Number: +* EVM Users Guide: +* Datasheet: SLVSDY5 –JAN 2018 +* +* Model Version: Final 1.00 +* +***************************************************************************** +* +* Updates: +* +* Final 1.00 +* Release to Web. +* +***************************************************************************** +* +* Model Usage Notes: +* The following features are modelled, +* 1. VIN and VOUT UVLO +* 2. Over current limit +* 3. Startup modes- fixed freq oscillator and then error amplifier driven +* +* The following features are not modelled, +* 1. Input and quiescent current of the part have not been modelled. +* 2. Temperature effects have not been modelled. +* 3. GND pin is internally connected to 0V and model doesn't support inverting topology. +***************************************************************************** +.SUBCKT TPS613222A_TRANS SW VOUT GND +V_V7 N17091783 0 1.95 +X_U69 FB N16779205 N16779207 COMP_BASIC_GEN PARAMS: VDD=1 VSS=0 ++ VTHRESH=0.5 +C_C8 0 N16781109 1n TC=0,0 +V_V1 N16778516 0 5.8 +X_U3 VOUT OVP_TH N16778451 COMP_BASIC_GEN PARAMS: VDD=1 VSS=0 ++ VTHRESH=0.5 +R_R55 N17185979 VIN_INT 50k +E_ABM15 N16846666 0 VALUE { ++ IF(V(PG)>0.5,IF(V(VIN_INT)-V(VOUT)>=400m,1,0),0) } +X_U666 PASS_THROUGH_EN N17097586 PT_CTL AND2_BASIC_GEN PARAMS: VDD=1 ++ VSS=0 VTHRESH=500E-3 +C_UTOFF_C2 UTOFF_TOFF_RAMP 0 1.2n +X_UTOFF_U17 COMP_INV UTOFF_TOFFMINSET UTOFF_N01195 OR2_BASIC_GEN ++ PARAMS: VDD=1 VSS=0 VTHRESH=500E-3 +X_UTOFF_U20 UTOFF_N01195 UTOFF_N02038 INV_BASIC_GEN PARAMS: VDD=1 VSS=0 ++ VTHRESH=500E-3 +X_UTOFF_U18 UTOFF_N07187 COMP_INV NMOS_ON PMOS_ON srlatchrhp_basic_gen ++ PARAMS: VDD=1 VSS=0 VTHRESH=0.5 +V_UTOFF_V2 UTOFF_N00169 0 2.5 +X_UTOFF_U3 PMOS_ON UTOFF_N02210 BUF_DELAY_BASIC_GEN PARAMS: VDD=1 VSS=0 ++ VTHRESH=0.5 DELAY=20n +G_UTOFF_ABM2I1 UTOFF_N00169 UTOFF_N00849 VALUE { ((V(VOUT) ++ -V(VIN_INT))*2.67m+1.5m) } +X_UTOFF_U22 UTOFF_N02210 NMOS_ON UTOFF_N01354 UTOFF_N00399 ++ srlatchrhp_basic_gen PARAMS: VDD=1 VSS=0 VTHRESH=0.5 +X_UTOFF_U2 UTOFF_N00492 UTOFF_TOFF_RAMP UTOFF_TOFFMINSET COMP_BASIC_GEN ++ PARAMS: VDD=1 VSS=0 VTHRESH=0.5 +X_UTOFF_U23 0 UTOFF_TOFF_RAMP d_d1 PARAMS: +X_UTOFF_U16 UTOFF_TOFF_RAMP UTOFF_N00169 d_d1 PARAMS: +X_UTOFF_S1 UTOFF_N00404 0 UTOFF_TOFF_RAMP 0 TOFF_MIN_UTOFF_S1 +V_UTOFF_V1 UTOFF_N00492 0 1.5 +X_UTOFF_U21 COMP_OUT UTOFF_N02038 UTOFF_N07225 AND2_BASIC_GEN PARAMS: ++ VDD=1 VSS=0 VTHRESH=500E-3 +X_UTOFF_U1 UTOFF_N00399 UTOFF_N00404 BUF_DELAY_BASIC_GEN PARAMS: VDD=1 ++ VSS=0 VTHRESH=0.5 DELAY=20n +X_UTOFF_S2 UTOFF_N01354 0 UTOFF_N00849 UTOFF_TOFF_RAMP TOFF_MIN_UTOFF_S2 +X_UTOFF_U86 ZC UTOFF_N07225 UTOFF_N07187 OR2_BASIC_GEN PARAMS: VDD=1 ++ VSS=0 VTHRESH=500E-3 +X_U665 FB N17091783 N17091277 COMP_BASIC_GEN PARAMS: VDD=1 VSS=0 ++ VTHRESH=0.5 +R_R2 N16778516 OVP_TH 100k TC=0,0 +E_ABM18 N17109397 0 VALUE { IF(V(VIN_INT)<(V(VO)+100m),1,0) } +V_V8 EN_CTL 0 5 +V_V6 N16781476 0 10m +C_C7 VIN_INT 0 1n IC=2.5 +C_CFF FB N167786661 300f TC=0,0 +R_R3 N17091277 PG1 20 TC=0,0 +C_C1 0 OVP_HI 1n TC=0,0 +R_R56 N167786661 VOUT_INT 200k +X_U76 OVP_HI OVP_HI_INV INV_BASIC_GEN PARAMS: VDD=1 VSS=0 ++ VTHRESH=500E-3 +X_U670 BLNK N16781805 N16781713 AND2_BASIC_GEN PARAMS: VDD=1 VSS=0 ++ VTHRESH=500E-3 +X_U75 N16926679 ZCB N16853839 AND2_BASIC_GEN PARAMS: VDD=1 VSS=0 ++ VTHRESH=500E-3 +X_U73 N16776687 PT_CTL GATE_P OR2_BASIC_GEN PARAMS: VDD=1 VSS=0 ++ VTHRESH=500E-3 +X_U668 N16781109 GATE_P d_d1 PARAMS: +X_U657 N16781713 COMP_OUT ZC ZCB srlatchrhp_basic_gen PARAMS: VDD=1 ++ VSS=0 VTHRESH=0.5 +X_U71 N16853839 EN_CTL OVP_HI_INV N16776687 AND3_BASIC_GEN PARAMS: ++ VDD=1 VSS=0 VTHRESH=500E-3 +E_E2 VOUT_INT 0 VOUT 0 1 +X_U77 PMOS_ON SW_EN N16926679 AND2_BASIC_GEN PARAMS: VDD=1 VSS=0 ++ VTHRESH=500E-3 +G_ABMII1 OVP_TH 0 VALUE { IF(V(OVP_HI)>0.5,1u,0) } +R_R52 0 GND 1m TC=0,0 +R_R22 0 FB 2.48Meg +X_U78 NMOS_ON SW_EN N16863473 AND2_BASIC_GEN PARAMS: VDD=1 VSS=0 ++ VTHRESH=500E-3 +X_U669 N16781109 BLNK BUF_BASIC_GEN PARAMS: VDD=1 VSS=0 VTHRESH=0.5 +R_R1 N16778451 OVP_HI 1 TC=0,0 +X_U79 N16846666 N16847172 N17097586 PT_CTL_INV srlatchrhp_basic_gen ++ PARAMS: VDD=1 VSS=0 VTHRESH=0.5 +E_ABM13 N16779205 0 VALUE { IF(V(PG) < 0.5,1.2,1.19) } +C_C4 0 PG1 1n TC=0,0 +E_E1 N17185979 0 SW GND 1 +C_C3 0 VO 1n TC=0,0 +V_U5_V5 U5_N01819 0 2 +C_U5_C12 U5_N01899 0 12n IC=0 +X_U5_U29 U5_N01661 SW_EN INV_BASIC_GEN PARAMS: VDD=1 VSS=0 ++ VTHRESH=500E-3 +G_U5_ABMII9 0 U5_N01773 VALUE { IF(V(U5_N01661) < 0.5, ++ LIMIT(-0.5m*V(VIN_INT)/(V(VOUT)+1u), -5m, 0),0) } +C_U5_C9 0 U5_N01661 1n IC=0 +R_U5_R28 U5_N01673 U5_N01665 10 +X_U5_U28 U5_N01661 U5_N01773 d_d PARAMS: +V_U5_V14 U5_N56693 0 1.6 +X_U5_U672 VOUT U5_N56693 U5_HYS COMP_BASIC_GEN PARAMS: VDD=1 VSS=0 ++ VTHRESH=0.5 +X_U5_U64 U5_BURST_EN U5_N01943 U5_N01673 AND2_BASIC_GEN PARAMS: VDD=1 ++ VSS=0 VTHRESH=500E-3 +X_U5_U26 U5_N01899 U5_N01819 d_d PARAMS: +X_U5_U63 SW_EN U5_HYS U5_N01527 AND2_BASIC_GEN PARAMS: VDD=1 VSS=0 ++ VTHRESH=500E-3 +X_U5_S18 U5_N01665 0 U5_N01899 0 BURST_ENABLE_U5_S18 +X_U5_U31 ZCB U5_N01567 INV_BASIC_GEN PARAMS: VDD=1 VSS=0 VTHRESH=500E-3 +G_U5_ABMII5 U5_N02197 0 VALUE { IF(V(U5_N02283) >0.5, 2u,0) } +X_U5_U66 U5_SET U5_RESET U5_BURST_EN N01657 srlatchrhp_basic_gen ++ PARAMS: VDD=1 VSS=0 VTHRESH=0.5 +X_U5_U32 0 U5_N01773 d_d PARAMS: +V_U5_V13 U5_N02197 0 1Vdc +E_U5_ABM14 U5_N41524 0 VALUE { IF(V(U5_N01661)<0.5,3,2.9) } +G_U5_ABMII8 0 U5_N01899 VALUE { IF(V(U5_BURST_EN) >0.5, ++ 0.5m*V(VIN_INT)/V(VOUT),0) } +X_U5_U67 U5_N01843 U5_N01773 U5_N02289 AND2_BASIC_GEN PARAMS: VDD=1 ++ VSS=0 VTHRESH=500E-3 +R_U5_R31 U5_N41943 U5_N01661 20 +X_U5_U27 U5_N01661 U5_N01843 INV_BASIC_GEN PARAMS: VDD=1 VSS=0 ++ VTHRESH=500E-3 +C_U5_C5 0 U5_SET 1n IC=0 +C_U5_C13 U5_N01773 0 12n +R_U5_R26 U5_N01493 U5_SET {50u/0.693n} +X_U5_U670 U5_N01567 U5_HYS SW_EN U5_N01493 AND3_BASIC_GEN PARAMS: VDD=1 ++ VSS=0 VTHRESH=500E-3 +X_U5_U671 FB U5_N41524 U5_N41943 COMP_BASIC_GEN PARAMS: VDD=1 VSS=0 ++ VTHRESH=0.5 +X_U5_U30 U5_N01527 U5_RESET INV_BASIC_GEN PARAMS: VDD=1 VSS=0 ++ VTHRESH=500E-3 +X_U5_U12 U5_SET U5_N01493 d_d PARAMS: +X_U5_U68 U5_N01673 U5_N02289 U5_N02283 OR2_BASIC_GEN PARAMS: VDD=1 ++ VSS=0 VTHRESH=500E-3 +C_U5_C7 0 U5_N01665 1n IC=0 +X_U5_U25 U5_N01899 U5_N01943 INV_BASIC_GEN PARAMS: VDD=1 VSS=0 ++ VTHRESH=500E-3 +R_R57 GATE_P N16781109 40 TC=0,0 +R_R49 0 ZCB 1e8 TC=0,0 +V_V9 PASS_THROUGH_EN 0 {PASSTHR_EN} +X_U70 N16863473 EN_CTL OVP_HI_INV GATE_N AND3_BASIC_GEN PARAMS: VDD=1 ++ VSS=0 VTHRESH=500E-3 +R_R11 FB VOUT_INT {2.48Meg*( VOUT_SET/1.24 -1)} +X_S1 VVV 0 VOUT VO TPS613222_S1 +X_U658 N16781476 ISENSE N16781805 COMP_BASIC_GEN PARAMS: VDD=1 VSS=0 ++ VTHRESH=0.5 +E_ABM19 VVV 0 VALUE { IF(V(PG)>0.5 & ++ V(PG1)<0.5,IF(V(VIN_INT)-V(VOUT)>=400m,1,0),0) } +X_U62 N16779207 EN_CTL PG AND2_BASIC_GEN PARAMS: VDD=1 VSS=0 ++ VTHRESH=500E-3 +X_U63 N17109397 PT_CTL N16847172 AND2_BASIC_GEN PARAMS: VDD=1 VSS=0 ++ VTHRESH=500E-3 +R_u3_R2 u3_N17196052 u3_VIN_UVLO 1 TC=0,0 +X_u3_U114 0 u3_RAMP d_d1 PARAMS: +X_u3_S6 u3_N17182331 0 SW_INT 0 DRIVER_u3_S6 +X_u3_U121 u3_OSC_R u3_N17188700 INV_BASIC_GEN PARAMS: VDD=1 VSS=0 ++ VTHRESH=500E-3 +V_u3_V26 u3_N17183729 0 1 +X_u3_U85 u3_OSC_EN u3_OSC u3_N17182331 AND2_BASIC_GEN PARAMS: VDD=1 ++ VSS=0 VTHRESH=500E-3 +V_u3_V30 u3_N17188785 0 10m +X_u3_U111 u3_N17183953 u3_RAMP u3_OSC COMP_BASIC_GEN PARAMS: VDD=1 ++ VSS=0 VTHRESH=0.5 +X_u3_U15 u3_SW_NODE u3_N17181906 d_d1 PARAMS: +E_u3_ABM25 u3_ISENSE 0 VALUE { ( V(u3_ISENSE_L) ++ +V(u3_ISENSE_U) ) } +X_u3_U115 u3_N17183930 u3_N17183762 BUF_DELAY_BASIC_GEN PARAMS: VDD=1 ++ VSS=0 VTHRESH=0.5 DELAY=20n +X_u3_U119 VOUT u3_N17188417 u3_N17188372 u3_OSC_R COMPHYS_BASIC_GEN ++ PARAMS: VDD=1 VSS=0 VTHRESH=0.5 +C_u3_C1 0 u3_VIN_UVLO 1n TC=0,0 +X_u3_S3 u3_SW_N 0 u3_N17182368 0 DRIVER_u3_S3 +X_u3_U79 GATE_P u3_N17182440 u3_GATE_P_INT AND2_BASIC_GEN PARAMS: VDD=1 ++ VSS=0 VTHRESH=500E-3 +X_u3_U122 VOUT u3_N17188830 u3_N17188785 u3_VINP75 COMPHYS_BASIC_GEN ++ PARAMS: VDD=1 VSS=0 VTHRESH=0.5 +V_u3_V25 u3_N17183953 0 .4 +V_u3_V29 u3_N17188417 0 1.6 +X_u3_U48 VOUT u3_N17181738 u3_N171817493 u3_VOUTG1P6 COMPHYS_BASIC_GEN ++ PARAMS: VDD=1 VSS=0 VTHRESH=0.5 +G_u3_ABMII2 u3_UV_THRES 0 VALUE { IF(V(u3_VIN_UVLO)>0.5,1u,0) } +X_u3_U107 u3_RAMP u3_N17183886 u3_N17183930 COMP_BASIC_GEN PARAMS: ++ VDD=1 VSS=0 VTHRESH=0.5 +E_u3_ABM24 u3_N17195216 0 VALUE { IF(V(VOUT)<=0.8,0,V(VOUT)) } +V_u3_V31 u3_N17188830 0 0.75 +X_u3_U86 GATE_N u3_N17181671 BUF_DELAY_BASIC_GEN PARAMS: VDD=1 VSS=0 ++ VTHRESH=0.5 DELAY=3n +X_u3_H6 SW_INT u3_N17182368 u3_ISENSE_L 0 DRIVER_u3_H6 +X_u3_H4 SW_INT u3_SW_NODE u3_ISENSE_U 0 DRIVER_u3_H4 +M_u3_M1 VOUT u3_N17181984 u3_N17181906 u3_N17181906 PMOS_SIMPLE ++ L=550u ++ W={110900000u/40} +R_u3_R3 u3_N17196120 u3_UV_THRES 100k TC=0,0 +X_u3_S4 u3_SW_P 0 u3_SW_NODE VOUT DRIVER_u3_S4 +V_u3_V24 u3_N17183886 0 .5 +V_u3_V20 u3_N17181738 0 1.6 +X_u3_U116 u3_VOUTG1P6 PT_CTL u3_N17182865 OR2_BASIC_GEN PARAMS: VDD=1 ++ VSS=0 VTHRESH=500E-3 +X_u3_U18 u3_OSC_SET u3_OSC_R u3_OSC_EN u3_OSC_INV srlatchrhp_basic_gen ++ PARAMS: VDD=1 VSS=0 VTHRESH=0.5 +X_u3_U84 GATE_P u3_N17182440 BUF_DELAY_BASIC_GEN PARAMS: VDD=1 VSS=0 ++ VTHRESH=0.5 DELAY=3n +R_u3_R1 u3_N17195216 u3_N17181984 100 +G_u3_ABMII1 u3_N17183729 u3_RAMP VALUE { if(V(u3_OSC_EN) >0.5, 1u,0) ++ } +X_u3_U80 GATE_N u3_N17181671 u3_GATE_N_INT AND2_BASIC_GEN PARAMS: VDD=1 ++ VSS=0 VTHRESH=500E-3 +X_u3_U13 0 SW_INT d_d1 PARAMS: +V_u3_V1 u3_N17196120 0 550m +X_u3_U117 u3_RAMP u3_N17183729 d_d1 PARAMS: +X_u3_U108 u3_OSC_INV u3_N17183762 u3_N17183905 OR2_BASIC_GEN PARAMS: ++ VDD=1 VSS=0 VTHRESH=500E-3 +V_u3_V9 u3_N17181509 u3_SW_NODE -0.8 +X_u3_U16 0 SW_INT d_d1 PARAMS: +X_u3_U120 u3_VINP75 u3_N17188700 u3_OSC_SET AND2_BASIC_GEN PARAMS: ++ VDD=1 VSS=0 VTHRESH=500E-3 +C_u3_C10 u3_RAMP 0 1p +C_u3_C11 u3_N17181984 0 1n +V_u3_V19 u3_N171817493 0 100m +X_u3_U3 VIN_INT u3_UV_THRES u3_N17196052 COMP_BASIC_GEN PARAMS: VDD=1 ++ VSS=0 VTHRESH=0.5 +X_u3_U14 u3_N17181509 VOUT d_d2 PARAMS: +X_u3_U123 u3_GATE_N_INT u3_VIN_UVLO u3_VOUTG1P6 u3_SW_N AND3_BASIC_GEN ++ PARAMS: VDD=1 VSS=0 VTHRESH=500E-3 +X_u3_U118 u3_GATE_P_INT u3_VIN_UVLO u3_N17182865 u3_SW_P AND3_BASIC_GEN ++ PARAMS: VDD=1 VSS=0 VTHRESH=500E-3 +V_u3_V28 u3_N17188372 0 99m +X_u3_S7 u3_N17183905 0 u3_RAMP 0 DRIVER_u3_S7 +E_u2_ABM22 u2_ILIMIT_VAL 0 VALUE { {IF(V(u2_N17393817)>0.5, ++ ILIMIT,0.85*ILIMIT)} } +V_u2_V28 u2_N17397448 0 100m +E_u2_ABM23 u2_VSS 0 VALUE { {if( SS< 0.5,MIN(V(u2_N17415427),1.24), ++ 1.24)} } +C_u2_C3 COMP 0 100f IC={500m*SS} TC=0,0 +R_u2_R9 u2_N17392793 u2_REF 0.3k +V_u2_V10 u2_N17392819 0 3 +E_u2_E2 u2_N17415522 0 FB 0 1 +R_u2_R11 FB u2_N17395887 500k +X_u2_U79 u2_ERR_AMP_1 u2_CL d_d PARAMS: +X_u2_U122 u2_N17421867 COMP_OUT BUF_BASIC_GEN PARAMS: VDD=1 VSS=0 ++ VTHRESH=0.5 +G_u2_ABM2I3 u2_REF 0 VALUE { ++ LIMIT(((V(u2_ERR_AMP_1)-V(u2_N17393480))*50u),0,15u) } +E_u2_EDUMMY u2_N17392838 0 u2_SENSE 0 1 +X_u2_U119 VOUT u2_N17397493 u2_N17397448 u2_BOOST_OP_START ++ COMPHYS_BASIC_GEN PARAMS: VDD=1 VSS=0 VTHRESH=0.5 +X_u2_U73 COMP u2_N17392819 d_d1 PARAMS: +C_u2_C6 0 u2_N17395887 .1p TC=0,0 +R_u2_R5 u2_N17393956 u2_ERR_AMP_1 600k +R_u2_R4 0 u2_ERR_AMP_1 100Meg +C_u2_C9 u2_FBSAMPLE 0 0.1m +X_u2_H1 u2_N17393309 0 u2_N17393255 0 CONTROL_u2_H1 +X_u2_S3 u2_DISCH u2_FBSAMPLE u2_N17415427 u2_FBSAMPLE CONTROL_u2_S3 +E_u2_ABM25 u2_N17421854 0 VALUE { if( V(COMP)> ++ V(u2_N17420454), 1,0) } +X_u2_U32 EN_CTL u2_N17393058 INV_BASIC_GEN PARAMS: VDD=1 VSS=0 ++ VTHRESH=500E-3 +V_u2_V29 u2_N17397493 0 1.6 +G_u2_ABM2I7 0 u2_SENSE VALUE { LIMIT(((V(u2_N17393255)-V(0))),0,10m) ++ } +E_u2_ABM24 u2_CL 0 VALUE { {V(u2_ILIMIT_VAL)* ISENSE_GAIN/(IEA_GAIN) ++ +0.5} } +R_u2_R13 u2_N17421854 u2_COMP_NEW 1 +X_u2_U80 u2_N17393058 u2_N17392951 u2_N17393072 AND2_BASIC_GEN PARAMS: ++ VDD=1 VSS=0 VTHRESH=500E-3 +C_u2_C2 u2_ERR_AMP_1 0 100f IC={500m*SS} TC=0,0 +R_u2_R15 u2_N17392838 u2_IND_SENSE 10 +G_u2_ABMII1 u2_N17393309 0 VALUE { if(V(COMP_OUT)>0.5,1u,0) } +E_u2_ABM21 u2_N17392888 0 VALUE { IF(V(u2_PG11)<0.5,0,1) } +R_u2_R10 0 u2_SENSE 50k TC=0,0 +C_u2_C5 u2_FBSAMPLE u2_N17415427 10p IC=0 TC=0,0 +R_u2_R12 u2_COMP_NEW u2_N17421867 {60/0.693} +E_u2_ABM26 u2_N17420271 0 VALUE { {if( V(COMP_OUT) < ++ 0.5, V(u2_IND_SENSE), V(u2_IND_SENSE) - COMP_CURR_HYSTER)} } +X_u2_U33 u2_BOOST_OP_START u2_N17392951 INV_BASIC_GEN PARAMS: VDD=1 ++ VSS=0 VTHRESH=500E-3 +X_u2_U69 COMP_OUT COMP_INV INV_BASIC_GEN PARAMS: VDD=1 VSS=0 ++ VTHRESH=500E-3 +X_u2_H2 u2_N17393146 SW_INT ISENSE 0 CONTROL_u2_H2 +C_u2_C13 0 u2_IND_SENSE 1n TC=0,0 +V_u2_V2 u2_N17393480 0 0.5 +X_u2_U37 u2_N17392888 u2_N17393072 u2_N17393817 N17393906 ++ srlatchrhp_basic_gen PARAMS: VDD=1 VSS=0 VTHRESH=0.5 +R_u2_R14 u2_N17420271 u2_N17420454 1 +C_u2_C7 u2_N17392984 0 0.1p IC={500m*SS} TC=0,0 +X_u2_U72 u2_N173930791 u2_ERR_AMP_1 d_d1 PARAMS: +X_u2_S4 u2_BOOST_OP_START 0 u2_FBSAMPLE u2_N17415522 CONTROL_u2_S4 +C_u2_C1 u2_N17393956 0 40p IC={500m*SS} TC=0,0 +V_u2_V3 u2_N173930791 0 0.5 +X_u2_U71 0 COMP d_d1 PARAMS: +X_u2_F1 SW u2_N17393146 0 u2_N17393309 CONTROL_u2_F1 +G_u2_ABM2I2 0 COMP VALUE { ++ {LIMIT(((V(u2_ERR_AMP_1)-V(u2_N17393480))*IEA_GAIN),-100u,200u)} } +E_u2_E1 u2_N17392793 0 VALUE { ++ IF(V(u2_BOOST_OP_START)>0.5,V(u2_VSS),V(FB)) } +G_u2_ABM2I1 0 u2_N17392984 VALUE { ++ LIMIT((V(u2_REF)-V(u2_N17395887))*5u,-100n,2u) } +R_u2_R8 u2_ERR_AMP_1 u2_N17392984 2Meg +C_u2_C12 0 u2_N17420454 1n TC=0,0 +G_u2_ABMII2 0 u2_N17415427 VALUE { IF(V(u2_BOOST_OP_START)>0.5 ,10n,0) ++ } +R_u2_R6 0 COMP 50k +C_u2_cc 0 u2_PG11 1u TC=0,0 +C_u2_C11 0 u2_COMP_NEW 1n TC=0,0 +R_u2_rr PG u2_PG11 {50/0.693} +C_u2_C10 0 u2_N17421867 1n TC=0,0 +.ENDS +*$ +.PARAM vout_set=5 rdson_low=150m isense_gain=36u iea_gain=200u rdson_hi=750m ++ comp_curr_hyster=340m ilimit=1.8 passthr_en=0 vin_uvlo=0.7 + +.subckt TOFF_MIN_UTOFF_S1 1 2 3 4 +S_UTOFF_S1 3 4 1 2 _UTOFF_S1 +RS_UTOFF_S1 1 2 1G +.MODEL _UTOFF_S1 VSWITCH Roff=1e6 Ron=1.0 Voff=0.25 Von=0.75 +.ends TOFF_MIN_UTOFF_S1 + +.subckt TOFF_MIN_UTOFF_S2 1 2 3 4 +S_UTOFF_S2 3 4 1 2 _UTOFF_S2 +RS_UTOFF_S2 1 2 1G +.MODEL _UTOFF_S2 VSWITCH Roff=1e6 Ron=1.0 Voff=0.25 Von=0.75 +.ends TOFF_MIN_UTOFF_S2 + +.subckt BURST_ENABLE_U5_S18 1 2 3 4 +S_U5_S18 3 4 1 2 _U5_S18 +RS_U5_S18 1 2 1G +.MODEL _U5_S18 VSWITCH Roff=1e9 Ron=450m Voff=0.8 Von=0.2 +.ends BURST_ENABLE_U5_S18 + +.subckt TPS613222_S1 1 2 3 4 +S_S1 3 4 1 2 _S1 +RS_S1 1 2 1G +.MODEL _S1 VSWITCH Roff=1e9 Ron=1m Voff=0.0V Von=1.0V +.ends TPS613222_S1 + +.subckt DRIVER_u3_S6 1 2 3 4 +S_u3_S6 3 4 1 2 _u3_S6 +RS_u3_S6 1 2 1G +.MODEL _u3_S6 VSWITCH Roff=1e10 Ron=4.5 Voff=0.2 Von=0.8 +.ends DRIVER_u3_S6 + +.subckt DRIVER_u3_S3 1 2 3 4 +S_u3_S3 3 4 1 2 _u3_S3 +RS_u3_S3 1 2 1G +.MODEL _u3_S3 VSWITCH Roff=1e10 Ron={Rdson_low} Voff=0.2 Von=0.8 +.ends DRIVER_u3_S3 + +.subckt DRIVER_u3_H6 1 2 3 4 +H_u3_H6 3 4 VH_u3_H6 1 +VH_u3_H6 1 2 0V +.ends DRIVER_u3_H6 + +.subckt DRIVER_u3_H4 1 2 3 4 +H_u3_H4 3 4 VH_u3_H4 1 +VH_u3_H4 1 2 0V +.ends DRIVER_u3_H4 + +.subckt DRIVER_u3_S4 1 2 3 4 +S_u3_S4 3 4 1 2 _u3_S4 +RS_u3_S4 1 2 1G +.MODEL _u3_S4 VSWITCH Roff=1e12 Ron={Rdson_hi} Voff=0.4 Von=0.6 +.ends DRIVER_u3_S4 + +.subckt DRIVER_u3_S7 1 2 3 4 +S_u3_S7 3 4 1 2 _u3_S7 +RS_u3_S7 1 2 1G +.MODEL _u3_S7 VSWITCH Roff=1e9 Ron=1.0m Voff=.4 Von=.6 +.ends DRIVER_u3_S7 + +.subckt CONTROL_u2_H1 1 2 3 4 +H_u2_H1 3 4 VH_u2_H1 1 +VH_u2_H1 1 2 0V +.ends CONTROL_u2_H1 + +.subckt CONTROL_u2_S3 1 2 3 4 +S_u2_S3 3 4 1 2 _u2_S3 +RS_u2_S3 1 2 1G +.MODEL _u2_S3 VSWITCH Roff=1e9 Ron=1.0 Voff=0.0V Von=1.0V +.ends CONTROL_u2_S3 + +.subckt CONTROL_u2_H2 1 2 3 4 +H_u2_H2 3 4 VH_u2_H2 1 +VH_u2_H2 1 2 0V +.ends CONTROL_u2_H2 + +.subckt CONTROL_u2_S4 1 2 3 4 +S_u2_S4 3 4 1 2 _u2_S4 +RS_u2_S4 1 2 1G +.MODEL _u2_S4 VSWITCH Roff=1e9 Ron=1m Voff=0.75 Von=0.25 +.ends CONTROL_u2_S4 + +.subckt CONTROL_u2_F1 1 2 3 4 +F_u2_F1 3 4 VF_u2_F1 {ISENSE_GAIN} +VF_u2_F1 1 2 0V +.ends CONTROL_u2_F1 +*$ +************************ BASIC COMPONENTS ******************************* +.SUBCKT OR2_BASIC_GEN A B Y PARAMS: VDD=1 VSS=0 VTHRESH=0.5 +E_ABMGATE YINT 0 VALUE {{IF(V(A) > {VTHRESH} | ++ V(B) > {VTHRESH},{VDD},{VSS})}} +RINT YINT Y 1 +CINT Y 0 1n +.ENDS OR2_BASIC_GEN +*$ +.SUBCKT BUF_DELAY_BASIC A Y PARAMS: VDD=1 VSS=0 VTHRESH=0.5 DELAY = 10n +E_ABMGATE1 YINT1 0 VALUE {{IF(V(A) > {VTHRESH} , ++ {VDD},{VSS})}} +RINT YINT1 YINT2 1 +CINT YINT2 0 {DELAY*1.3} +E_ABMGATE2 YINT3 0 VALUE {{IF(V(YINT2) > {VTHRESH} , ++ {VDD},{VSS})}} +RINT2 YINT3 Y 1 +CINT2 Y 0 1n +.ENDS BUF_DELAY_BASIC +*$ +.SUBCKT INV_DELAY_BASIC_GEN A Y PARAMS: VDD=1 VSS=0 VTHRESH=0.5 DELAY = 10n +E_ABMGATE1 YINT1 0 VALUE {{IF(V(A) > {VTHRESH} , ++ {VDD},{VSS})}} +RINT YINT1 YINT2 1 +CINT YINT2 0 {DELAY*1.3} +E_ABMGATE2 YINT3 0 VALUE {{IF(V(YINT2) > {VTHRESH} , ++ {VSS},{VDD})}} +RINT2 YINT3 Y 1 +CINT2 Y 0 1n +.ENDS INV_DELAY_BASIC_GEN +*$ +.SUBCKT COMP_BASIC_GEN INP INM Y PARAMS: VDD=1 VSS=0 VTHRESH=0.5 +E_ABM Yint 0 VALUE {IF (V(INP) > ++ V(INM), {VDD},{VSS})} +R1 Yint Y 1 +C1 Y 0 1n +.ENDS COMP_BASIC_GEN +*$ +.SUBCKT COMPHYS_BASIC_GEN INP INM HYS OUT PARAMS: VDD=1 VSS=0 VTHRESH=0.5 +EIN INP1 INM1 INP INM 1 +EHYS INP1 INP2 VALUE { IF( V(1) > {VTHRESH},-V(HYS),0) } +EOUT OUT 0 VALUE { IF( V(INP2)>V(INM1), {VDD} ,{VSS}) } +R1 OUT 1 1 +C1 1 0 10n +RINP1 INP1 0 1K +.ENDS COMPHYS_BASIC_GEN +*$ +.SUBCKT AND3_BASIC_GEN A B C Y PARAMS: VDD=1 VSS=0 VTHRESH=0.5 +E_ABMGATE YINT 0 VALUE {{IF(V(A) > {VTHRESH} & ++ V(B) > {VTHRESH} & ++ V(C) > {VTHRESH},{VDD},{VSS})}} +RINT YINT Y 1 +CINT Y 0 1n +.ENDS AND3_BASIC_GEN +*$ +.SUBCKT AND2_BASIC_GEN A B Y PARAMS: VDD=1 VSS=0 VTHRESH=0.5 +E_ABMGATE YINT 0 VALUE {{IF(V(A) > {VTHRESH} & ++ V(B) > {VTHRESH},{VDD},{VSS})}} +RINT YINT Y 1 +CINT Y 0 1n +.ENDS AND2_BASIC_GEN +*$ +.SUBCKT INV_BASIC_GEN A Y PARAMS: VDD=1 VSS=0 VTHRESH=0.5 +E_ABMGATE YINT 0 VALUE {{IF(V(A) > {VTHRESH} , ++ {VSS},{VDD})}} +RINT YINT Y 1 +CINT Y 0 1n +.ENDS INV_BASIC_GEN +*$ +.SUBCKT BUF_BASIC_GEN A Y PARAMS: VDD=1 VSS=0 VTHRESH=0.5 +E_ABMGATE YINT 0 VALUE {{IF(V(A) > {VTHRESH} , ++ {VDD},{VSS})}} +RINT YINT Y 1 +CINT Y 0 1n +.ENDS BUF_BASIC_GEN +*$ +**Reset has higher priority in this latch +.SUBCKT SRLATCHRHP_BASIC_GEN S R Q QB PARAMS: VDD=1 VSS=0 VTHRESH=0.5 +GQ 0 Qint VALUE = {IF(V(R) > {VTHRESH},-5,IF(V(S)>{VTHRESH},5, 0))} +CQint Qint 0 1n +RQint Qint 0 1000MEG +D_D10 Qint MY5 D_D1 +V1 MY5 0 {VDD} +D_D11 MYVSS Qint D_D1 +V2 MYVSS 0 {VSS} +EQ Qqq 0 Qint 0 1 +X3 Qqq Qqqd1 BUF_BASIC_GEN PARAMS: VDD={VDD} VSS={VSS} VTHRESH={VTHRESH} +RQq Qqqd1 Q 1 +EQb Qbr 0 VALUE = {IF( V(Q) > {VTHRESH}, {VSS},{VDD})} +RQb Qbr QB 1 +Cdummy1 Q 0 1n +Cdummy2 QB 0 1n +.IC V(Qint) {VSS} +.MODEL D_D1 D( IS=1e-15 TT=10p Rs=0.05 N=.1 ) +.ENDS SRLATCHRHP_BASIC_GEN +*$ +.SUBCKT CESR IN OUT ++ PARAMs: C=100u ESR=0.01 X=2 IC=0 +C IN 1 {C*X} IC={IC} +RESR 1 OUT {ESR/X} +.ENDS CESR +*$ +.SUBCKT LDCR IN OUT ++ PARAMs: L=1u DCR=0.01 IC=0 +L IN 1 {L} IC={IC} +RDCR 1 OUT {DCR} +.ENDS LDCR +*$ +.SUBCKT BUF_DELAY_BASIC_GEN A Y PARAMS: VDD=1 VSS=0 VTHRESH=0.5 DELAY = 10n +E_ABMGATE1 YINT1 0 VALUE {{IF(V(A) > {VTHRESH} , ++ {VDD},{VSS})}} +RINT YINT1 YINT2 1 +CINT YINT2 0 {DELAY*1.3} +E_ABMGATE2 YINT3 0 VALUE {{IF(V(YINT2) > {VTHRESH} , ++ {VDD},{VSS})}} +RINT2 YINT3 Y 1 +CINT2 Y 0 1n +.ENDS BUF_DELAY_BASIC_GEN +*$ +.SUBCKT OR3_BASIC_GEN A B C Y PARAMS: VDD=1 VSS=0 VTHRESH=0.5 +E_ABMGATE YINT 0 VALUE {{IF(V(A) > {VTHRESH} | ++ V(B) > {VTHRESH} | ++ V(C) > {VTHRESH},{VDD},{VSS})}} +RINT YINT Y 1 +CINT Y 0 1n +.ENDS OR3_BASIC_GEN +*$ +.MODEL PMOS_SIMPLE PMOS +*$ +.subckt d_d 1 2 +d1 1 2 dd +.model dd d ++ is=1e-015 ++ n=0.01 ++ tt=1e-011 +.ends d_d +*$ +.SUBCKT D_D2 1 2 +d1 1 2 dd1 +.model dd1 d ++ is=1e-019 ++ tt=1e-011 ++ rs=1.4 ++ n=.1 +.ENDS D_D2 +*$ +.SUBCKT D_D1 1 2 +d1 1 2 dd1 +.model dd1 d ++ is=1e-019 ++ tt=1e-011 ++ rs=0.05 ++ n=0.001 +.ENDS D_D1 +*$ diff --git a/uA741.sub b/uA741.sub new file mode 100644 index 0000000..9486b13 --- /dev/null +++ b/uA741.sub @@ -0,0 +1,44 @@ +* Model for uA741 Op Amp (from EVAL library in PSpice) +* connections: non-inverting input +* | inverting input +* | | positive power supply +* | | | negative power supply +* | | | | output +* | | | | | +* +.subckt uA741 1 2 3 4 5 +* +c1 11 12 8.661E-12 +c2 6 7 30.00E-12 +dc 5 53 dy +de 54 5 dy +dlp 90 91 dx +dln 92 90 dx +dp 4 3 dx +egnd 99 0 poly(2),(3,0),(4,0) 0 .5 .5 +fb 7 99 poly(5) vb vc ve vlp vln 0 10.61E6 -1E3 1E3 10E6 -10E6 +ga 6 0 11 12 188.5E-6 +gcm 0 6 10 99 5.961E-9 +iee 10 4 dc 15.16E-6 +hlim 90 0 vlim 1K +q1 11 2 13 qx +q2 12 1 14 qx +r2 6 9 100.0E3 +rc1 3 11 5.305E3 +rc2 3 12 5.305E3 +re1 13 10 1.836E3 +re2 14 10 1.836E3 +ree 10 99 13.19E6 +ro1 8 5 50 +ro2 7 99 100 +rp 3 4 18.16E3 +vb 9 0 dc 0 +vc 3 53 dc 1 +ve 54 4 dc 1 +vlim 7 8 dc 0 +vlp 91 0 dc 40 +vln 0 92 dc 40 +.model dx D(Is=800.0E-18 Rs=1) +.model dy D(Is=800.00E-18 Rs=1m Cjo=10p) +.model qx NPN(Is=800.0E-18 Bf=93.75) +.ends \ No newline at end of file