diff options
23 files changed, 3341 insertions, 0 deletions
diff --git a/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/.gitignore b/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/.gitignore new file mode 100644 index 00000000..88bb66f9 --- /dev/null +++ b/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/.gitignore @@ -0,0 +1,2 @@ +OPT3001DNPT/* + diff --git a/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001-cache.lib b/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001-cache.lib new file mode 100644 index 00000000..90c56805 --- /dev/null +++ b/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001-cache.lib @@ -0,0 +1,162 @@ +EESchema-LIBRARY Version 2.4 +#encoding utf-8 +# +# OPT3001DNPT_OPT3001DNPT +# +DEF OPT3001DNPT_OPT3001DNPT U 0 40 Y Y 1 L N +F0 "U" -400 550 50 H V L BNN +F1 "OPT3001DNPT_OPT3001DNPT" -400 -450 50 H V L BNN +F2 "SON65P200X200X65-7N" 0 0 50 H I L BNN +F3 "" 0 0 50 H I L BNN +F4 "0.65" 0 0 50 H I L BNN "ENOM" +F5 "1.9" 0 0 50 H I L BNN "E_MIN" +F6 "0.25" 0 0 50 H I L BNN "L_MIN" +F7 "2.0" 0 0 50 H I L BNN "E_NOM" +F8 "0.65" 0 0 50 H I L BNN "A_MAX" +F9 "0.65" 0 0 50 H I L BNN "E2_NOM" +F10 "IPC 7351B" 0 0 50 H I L BNN "STANDARD" +F11 "01/2018" 0 0 50 H I L BNN "PARTREV" +F12 "0.25" 0 0 50 H I L BNN "B_NOM" +F13 "0.3" 0 0 50 H I L BNN "B_MAX" +F14 "0.2" 0 0 50 H I L BNN "B_MIN" +F15 "6.0" 0 0 50 H I L BNN "PIN_COUNT" +F16 "2.1" 0 0 50 H I L BNN "E_MAX" +F17 "0.35" 0 0 50 H I L BNN "L_MAX" +F18 "Texas Instruments" 0 0 50 H I L BNN "MANUFACTURER" +F19 "1.35" 0 0 50 H I L BNN "D2_NOM" +F20 "0.3" 0 0 50 H I L BNN "L_NOM" +F21 "2.1" 0 0 50 H I L BNN "D_MAX" +F22 "2.0" 0 0 50 H I L BNN "D_NOM" +F23 "1.9" 0 0 50 H I L BNN "D_MIN" +DRAW +S -400 -400 400 500 0 0 10 f +X VDD 1 600 400 200 L 40 40 0 0 W +X ADDR 2 -600 200 200 R 40 40 0 0 I +X GND 3 600 -300 200 L 40 40 0 0 W +X SCL 4 -600 0 200 R 40 40 0 0 I C +X INT 5 600 200 200 L 40 40 0 0 O +X SDA 6 -600 -100 200 R 40 40 0 0 B +X EXP 7 600 -100 200 L 40 40 0 0 P +ENDDRAW +ENDDEF +# +# Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import_A4L-LOC +# +DEF Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import_A4L-LOC #FRAME 0 40 Y Y 1 L N +F0 "#FRAME" 0 0 50 H I C CNN +F1 "Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import_A4L-LOC" 0 0 50 H I C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +T 0 8550 600 85 0 1 0 >DRAWING_NAME Normal 0 L B +T 0 8550 400 76 0 1 0 >LAST_DATE_TIME Normal 0 L B +T 0 8995 200 85 0 1 0 >SHEET Normal 0 L B +T 0 8550 800 85 0 1 0 "by joey castillo" Normal 0 L B +T 0 9300 200 85 0 1 0 "cc-by-sa 4.0" Normal 0 L B +T 0 7300 200 180 0 1 0 oddly_specific_objects Normal 0 L B +T 0 8540 195 85 0 1 0 Sheet: Normal 0 L B +P 2 1 0 0 7250 150 7250 950 N +P 2 1 0 0 7250 950 8475 950 N +P 2 1 0 0 8475 350 8475 150 N +P 2 1 0 0 8475 350 8475 550 N +P 2 1 0 0 8475 550 8475 750 N +P 2 1 0 0 8475 550 10100 550 N +P 2 1 0 0 8475 750 8475 950 N +P 2 1 0 0 8475 750 10100 750 N +P 2 1 0 0 8475 950 10100 950 N +P 2 1 0 0 9250 150 9250 350 N +P 2 1 0 0 9250 350 8475 350 N +P 2 1 0 0 9250 350 10100 350 N +P 2 1 0 0 10100 150 10100 350 N +P 2 1 0 0 10100 350 10100 550 N +P 2 1 0 0 10100 550 10100 750 N +P 2 1 0 0 10100 750 10100 950 N +ENDDRAW +ENDDEF +# +# Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import_FH19C-9S-0.5SH_10-FFC +# +DEF Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import_FH19C-9S-0.5SH_10-FFC ~ 0 40 Y Y 1 L N +F0 "" 350 700 59 H V L CNN +F1 "Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import_FH19C-9S-0.5SH_10-FFC" 350 600 59 H V L CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +P 2 1 0 0 -200 500 -200 -500 N +P 2 1 0 0 -200 500 300 500 N +P 2 1 0 0 300 -500 -200 -500 N +P 2 1 0 0 300 -500 300 500 N +X 1 1 500 400 200 L 50 50 1 0 B +X 2 2 500 300 200 L 50 50 1 0 B +X 3 3 500 200 200 L 50 50 1 0 B +X 4 4 500 100 200 L 50 50 1 0 B +X 5 5 500 0 200 L 50 50 1 0 B +X 6 6 500 -100 200 L 50 50 1 0 B +X 7 7 500 -200 200 L 50 50 1 0 B +X 8 8 500 -300 200 L 50 50 1 0 B +X 9 9 500 -400 200 L 50 50 1 0 B +ENDDRAW +ENDDEF +# +# Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import_GND +# +DEF Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import_GND #GND 0 40 Y Y 1 L P +F0 "#GND" 0 0 50 H I C CNN +F1 "Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import_GND" -100 -100 59 H V L BNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +P 2 1 0 0 -75 0 75 0 N +X GND 1 0 100 100 D 0 0 1 0 W +ENDDRAW +ENDDEF +# +# Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import_RESISTOR_0603MP +# +DEF Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import_RESISTOR_0603MP R 0 40 Y Y 1 L N +F0 "R" 0 100 50 H V C CNN +F1 "Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import_RESISTOR_0603MP" 0 0 40 H V C CNB +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +P 2 1 0 0 -100 -50 -100 50 N +P 2 1 0 0 -100 50 100 50 N +P 2 1 0 0 100 -50 -100 -50 N +P 2 1 0 0 100 50 100 -50 N +X 1 1 -200 0 100 R 0 0 1 0 P +X 2 2 200 0 100 L 0 0 1 0 P +ENDDRAW +ENDDEF +# +# Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import_TPB1,27 +# +DEF Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import_TPB1,27 TP 0 40 Y Y 1 L N +F0 "TP" -50 50 59 H V L BNN +F1 "Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import_TPB1,27" 0 0 50 H I C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +T 0 50 -50 59 0 1 0 >TP_SIGNAL_NAME Normal 0 L B +P 2 1 0 0 -30 -30 0 0 N +P 2 1 0 0 0 -60 -30 -30 N +P 2 1 0 0 0 0 30 -30 N +P 2 1 0 0 30 -30 0 -60 N +X TP TP 0 -100 100 U 0 0 1 0 I +ENDDRAW +ENDDEF +# +# Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import_VCC +# +DEF Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import_VCC #P+ 0 40 Y Y 1 L P +F0 "#P+" 0 0 50 H I C CNN +F1 "Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import_VCC" -100 -100 59 V V L BNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +P 2 1 0 0 0 0 -50 -75 N +P 2 1 0 0 50 -75 0 0 N +X VCC 1 0 -100 100 U 0 0 1 0 W +ENDDRAW +ENDDEF +# +#End Library diff --git a/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001.kicad_pcb b/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001.kicad_pcb new file mode 100644 index 00000000..e13c73a5 --- /dev/null +++ b/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001.kicad_pcb @@ -0,0 +1,497 @@ +(kicad_pcb (version 20171130) (host pcbnew 5.1.9+dfsg1-1+deb11u1) + +  (general +    (thickness 1.6) +    (drawings 22) +    (tracks 90) +    (zones 0) +    (modules 10) +    (nets 12) +  ) + +  (page A4) +  (layers +    (0 Top signal) +    (31 Bottom signal) +    (32 B.Adhes user hide) +    (33 F.Adhes user hide) +    (34 B.Paste user hide) +    (35 F.Paste user hide) +    (36 B.SilkS user hide) +    (37 F.SilkS user) +    (38 B.Mask user hide) +    (39 F.Mask user hide) +    (40 Dwgs.User user hide) +    (41 Cmts.User user hide) +    (42 Eco1.User user hide) +    (43 Eco2.User user) +    (44 Edge.Cuts user) +    (45 Margin user hide) +    (46 B.CrtYd user hide) +    (47 F.CrtYd user hide) +    (48 B.Fab user hide) +    (49 F.Fab user hide) +  ) + +  (setup +    (last_trace_width 0.25) +    (trace_clearance 0.1524) +    (zone_clearance 0.508) +    (zone_45_only no) +    (trace_min 0.2) +    (via_size 0.8) +    (via_drill 0.4) +    (via_min_size 0.1) +    (via_min_drill 0.254) +    (uvia_size 0.3) +    (uvia_drill 0.1) +    (uvias_allowed no) +    (uvia_min_size 0.2) +    (uvia_min_drill 0.1) +    (edge_width 0.05) +    (segment_width 0.2) +    (pcb_text_width 0.3) +    (pcb_text_size 1.5 1.5) +    (mod_edge_width 0.12) +    (mod_text_size 1 1) +    (mod_text_width 0.15) +    (pad_size 1.5 0.27) +    (pad_drill 0) +    (pad_to_mask_clearance 0) +    (aux_axis_origin 0 0) +    (visible_elements FFFFFF7F) +    (pcbplotparams +      (layerselection 0x010fc_ffffffff) +      (usegerberextensions false) +      (usegerberattributes true) +      (usegerberadvancedattributes true) +      (creategerberjobfile true) +      (excludeedgelayer true) +      (linewidth 0.100000) +      (plotframeref false) +      (viasonmask false) +      (mode 1) +      (useauxorigin false) +      (hpglpennumber 1) +      (hpglpenspeed 20) +      (hpglpendiameter 15.000000) +      (psnegative false) +      (psa4output false) +      (plotreference true) +      (plotvalue true) +      (plotinvisibletext false) +      (padsonsilk false) +      (subtractmaskfromsilk false) +      (outputformat 1) +      (mirror false) +      (drillshape 1) +      (scaleselection 1) +      (outputdirectory "")) +  ) + +  (net 0 "") +  (net 1 GND) +  (net 2 VCC) +  (net 3 /A0_TEMP_ENABLE) +  (net 4 /SCL) +  (net 5 /SDA) +  (net 6 /A1_SERCOM3.3_TC3.1) +  (net 7 /A2_TEMP_SENSE) +  (net 8 /NC) +  (net 9 /A4_SERCOM3.2_TC3.0) +  (net 10 "Net-(U1-Pad7)") +  (net 11 "Net-(U1-Pad5)") + +  (net_class Default "This is the default net class." +    (clearance 0.1524) +    (trace_width 0.25) +    (via_dia 0.8) +    (via_drill 0.4) +    (uvia_dia 0.3) +    (uvia_drill 0.1) +    (add_net /A0_TEMP_ENABLE) +    (add_net /A1_SERCOM3.3_TC3.1) +    (add_net /A2_TEMP_SENSE) +    (add_net /A4_SERCOM3.2_TC3.0) +    (add_net /NC) +    (add_net /SCL) +    (add_net /SDA) +    (add_net GND) +    (add_net "Net-(U1-Pad5)") +    (add_net "Net-(U1-Pad7)") +    (add_net VCC) +  ) + +  (module "Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001:FH19C9S05SH10-FFC" (layer Top) (tedit 0) (tstamp 63E6D203) +    (at 153.2255 106.5556) +    (descr "<b>FH19C-9S-0.5SH(10)-1</b><br>\n") +    (path /54307519) +    (fp_text reference U$3 (at 0 0) (layer F.SilkS) hide +      (effects (font (size 1.27 1.27) (thickness 0.15))) +    ) +    (fp_text value FH19C-9S-0.5SH_10-FFC (at 0 0) (layer F.SilkS) hide +      (effects (font (size 1.27 1.27) (thickness 0.15))) +    ) +    (fp_poly (pts (xy -2.4902 0.9742) (xy 2.4882 0.9742) (xy 2.4892 3.4798) (xy -2.4892 3.4798)) (layer B.Mask) (width 0)) +    (fp_line (start 2.4892 0) (end 2.4892 3.35) (layer Edge.Cuts) (width 0.05)) +    (fp_line (start -2.3392 3.5) (end 2.3392 3.5) (layer Edge.Cuts) (width 0.05)) +    (fp_line (start -2.4892 0) (end -2.4892 3.35) (layer Edge.Cuts) (width 0.05)) +    (fp_arc (start -2.3392 3.35) (end -2.3392 3.5) (angle 90) (layer Edge.Cuts) (width 0.05)) +    (fp_arc (start 2.3392 3.35) (end 2.3392 3.5) (angle -90) (layer Edge.Cuts) (width 0.05)) +    (pad 1 smd rect (at 2 2.25 90) (size 2.5 0.347) (layers Bottom B.Mask) +      (net 2 VCC) (solder_mask_margin 0.0635)) +    (pad 2 smd rect (at 1.5 2.25 90) (size 2.5 0.347) (layers Bottom B.Mask) +      (net 1 GND) (solder_mask_margin 0.0635)) +    (pad 3 smd rect (at 1 2.25 90) (size 2.5 0.347) (layers Bottom B.Mask) +      (net 9 /A4_SERCOM3.2_TC3.0) (solder_mask_margin 0.0635)) +    (pad 4 smd rect (at 0.5 2.25 90) (size 2.5 0.347) (layers Bottom B.Mask) +      (net 8 /NC) (solder_mask_margin 0.0635)) +    (pad 5 smd rect (at 0 2.25 90) (size 2.5 0.347) (layers Bottom B.Mask) +      (net 7 /A2_TEMP_SENSE) (solder_mask_margin 0.0635)) +    (pad 6 smd rect (at -0.5 2.25 90) (size 2.5 0.347) (layers Bottom B.Mask) +      (net 6 /A1_SERCOM3.3_TC3.1) (solder_mask_margin 0.0635)) +    (pad 7 smd rect (at -1 2.25 90) (size 2.5 0.347) (layers Bottom B.Mask) +      (net 5 /SDA) (solder_mask_margin 0.0635)) +    (pad 8 smd rect (at -1.5 2.25 90) (size 2.5 0.347) (layers Bottom B.Mask) +      (net 4 /SCL) (solder_mask_margin 0.0635)) +    (pad 9 smd rect (at -2 2.25 90) (size 2.5 0.347) (layers Bottom B.Mask) +      (net 3 /A0_TEMP_ENABLE) (solder_mask_margin 0.0635)) +  ) + +  (module OPT3001DNPT:SON65P200X200X65-7N (layer Top) (tedit 63E6D415) (tstamp 63E73FD8) +    (at 142.748 102.87 270) +    (path /63E70E51) +    (attr smd) +    (fp_text reference U1 (at 0.54 -2.008 90) (layer F.SilkS) hide +      (effects (font (size 0.8 0.8) (thickness 0.15))) +    ) +    (fp_text value OPT3001DNPT (at 7.652 2.008 90) (layer F.Fab) hide +      (effects (font (size 0.8 0.8) (thickness 0.15))) +    ) +    (fp_line (start 1.615 -1.25) (end 1.615 1.25) (layer F.CrtYd) (width 0.05)) +    (fp_line (start -1.615 -1.25) (end -1.615 1.25) (layer F.CrtYd) (width 0.05)) +    (fp_line (start -1.615 1.25) (end 1.615 1.25) (layer F.CrtYd) (width 0.05)) +    (fp_line (start -1.615 -1.25) (end 1.615 -1.25) (layer F.CrtYd) (width 0.05)) +    (fp_line (start 1 -1) (end 1 1) (layer F.Fab) (width 0.127)) +    (fp_line (start -1 -1) (end -1 1) (layer F.Fab) (width 0.127)) +    (fp_line (start -1 1.099) (end 1 1.099) (layer F.SilkS) (width 0.127)) +    (fp_line (start -1 -1.099) (end 1 -1.099) (layer F.SilkS) (width 0.127)) +    (fp_line (start -1 1) (end 1 1) (layer F.Fab) (width 0.127)) +    (fp_line (start -1 -1) (end 1 -1) (layer F.Fab) (width 0.127)) +    (fp_circle (center -1.935 -0.65) (end -1.835 -0.65) (layer F.Fab) (width 0.2)) +    (fp_circle (center -1.935 -0.65) (end -1.835 -0.65) (layer F.SilkS) (width 0.2)) +    (fp_poly (pts (xy -0.21 -0.43) (xy 0.21 -0.43) (xy 0.21 0.43) (xy -0.21 0.43)) (layer F.Paste) (width 0.01)) +    (pad 1 smd roundrect (at -1.37 -0.65 270) (size 1.5 0.27) (layers Top F.Paste F.Mask) (roundrect_rratio 0.03) +      (net 2 VCC)) +    (pad 2 smd roundrect (at -1.37 0 270) (size 1.5 0.27) (layers Top F.Paste F.Mask) (roundrect_rratio 0.03) +      (net 1 GND)) +    (pad 3 smd roundrect (at -1.37 0.65 270) (size 1.5 0.27) (layers Top F.Paste F.Mask) (roundrect_rratio 0.03) +      (net 1 GND)) +    (pad 4 smd roundrect (at 1.37 0.65 270) (size 1.5 0.27) (layers Top F.Paste F.Mask) (roundrect_rratio 0.03) +      (net 4 /SCL)) +    (pad 5 smd roundrect (at 1.37 0 270) (size 1.5 0.27) (layers Top F.Paste F.Mask) (roundrect_rratio 0.03) +      (net 11 "Net-(U1-Pad5)")) +    (pad 6 smd roundrect (at 1.37 -0.65 270) (size 1.5 0.27) (layers Top F.Paste F.Mask) (roundrect_rratio 0.03) +      (net 5 /SDA)) +    (pad 7 smd rect (at 0 0 270) (size 0.65 1.35) (layers Top F.Mask) +      (net 10 "Net-(U1-Pad7)")) +  ) + +  (module "Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001:_0603MP" (layer Top) (tedit 0) (tstamp 63E759D2) +    (at 146.2659 104.7522 270) +    (descr "<b>0603 MicroPitch</b>") +    (path /05CBC8DB) +    (fp_text reference R1 (at -0.0635 1.7145 90) (layer F.SilkS) +      (effects (font (size 0.77216 0.77216) (thickness 0.138988)) (justify left bottom)) +    ) +    (fp_text value "1% 10K" (at -0.9525 0.9525 90) (layer F.Fab) +      (effects (font (size 0.77216 0.77216) (thickness 0.138988)) (justify left bottom)) +    ) +    (fp_line (start -0.432 0.306) (end 0.432 0.306) (layer F.Fab) (width 0.1016)) +    (fp_line (start 0.432 -0.306) (end -0.432 -0.306) (layer F.Fab) (width 0.1016)) +    (fp_line (start 0 -0.254) (end 0 0.254) (layer F.SilkS) (width 0.2032)) +    (fp_poly (pts (xy 0.4318 0.4) (xy 0.8 0.4) (xy 0.8 -0.4) (xy 0.4318 -0.4)) (layer F.Fab) (width 0)) +    (fp_poly (pts (xy -0.8 0.4) (xy -0.4318 0.4) (xy -0.4318 -0.4) (xy -0.8 -0.4)) (layer F.Fab) (width 0)) +    (fp_poly (pts (xy -0.1999 0.25) (xy 0.1999 0.25) (xy 0.1999 -0.25) (xy -0.1999 -0.25)) (layer F.Adhes) (width 0)) +    (pad 2 smd rect (at 0.762 0 270) (size 0.8 0.8) (layers Top F.Paste F.Mask) +      (net 3 /A0_TEMP_ENABLE) (solder_mask_margin 0.0635)) +    (pad 1 smd rect (at -0.762 0 270) (size 0.8 0.8) (layers Top F.Paste F.Mask) +      (net 7 /A2_TEMP_SENSE) (solder_mask_margin 0.0635)) +  ) + +  (module "Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001:_0603MP" (layer Top) (tedit 0) (tstamp 63E759F3) +    (at 146.2659 102.1868 270) +    (descr "<b>0603 MicroPitch</b>") +    (path /6C7771A6) +    (fp_text reference RT1 (at -0.127 1.778 90) (layer F.SilkS) +      (effects (font (size 0.77216 0.77216) (thickness 0.138988)) (justify left bottom)) +    ) +    (fp_text value "NTC 10K" (at -1.27 1.4923 90) (layer F.Fab) +      (effects (font (size 0.77216 0.77216) (thickness 0.138988)) (justify left bottom)) +    ) +    (fp_line (start -0.432 0.306) (end 0.432 0.306) (layer F.Fab) (width 0.1016)) +    (fp_line (start 0.432 -0.306) (end -0.432 -0.306) (layer F.Fab) (width 0.1016)) +    (fp_line (start 0 -0.254) (end 0 0.254) (layer F.SilkS) (width 0.2032)) +    (fp_poly (pts (xy 0.4318 0.4) (xy 0.8 0.4) (xy 0.8 -0.4) (xy 0.4318 -0.4)) (layer F.Fab) (width 0)) +    (fp_poly (pts (xy -0.8 0.4) (xy -0.4318 0.4) (xy -0.4318 -0.4) (xy -0.8 -0.4)) (layer F.Fab) (width 0)) +    (fp_poly (pts (xy -0.1999 0.25) (xy 0.1999 0.25) (xy 0.1999 -0.25) (xy -0.1999 -0.25)) (layer F.Adhes) (width 0)) +    (pad 2 smd rect (at 0.762 0 270) (size 0.8 0.8) (layers Top F.Paste F.Mask) +      (net 7 /A2_TEMP_SENSE) (solder_mask_margin 0.0635)) +    (pad 1 smd rect (at -0.762 0 270) (size 0.8 0.8) (layers Top F.Paste F.Mask) +      (net 2 VCC) (solder_mask_margin 0.0635)) +  ) + +  (module "Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001:B1,27" (layer Bottom) (tedit 0) (tstamp 63E6D22B) +    (at 146.1135 102.8472 180) +    (descr "<b>TEST PAD</b>") +    (path /8E097FD0) +    (fp_text reference GND1 (at -1.778 0) (layer B.SilkS) +      (effects (font (size 0.7239 0.7239) (thickness 0.130302)) (justify right bottom mirror)) +    ) +    (fp_text value TPB1,27 (at -0.635 -0.762) (layer B.Fab) +      (effects (font (size 0.77216 0.77216) (thickness 0.138988)) (justify right bottom mirror)) +    ) +    (fp_line (start -0.635 0) (end 0.635 0) (layer Dwgs.User) (width 0.0024)) +    (fp_line (start 0 0.635) (end 0 -0.635) (layer Dwgs.User) (width 0.0024)) +    (fp_text user >TP_SIGNAL_NAME (at -0.635 -1.905 180) (layer Dwgs.User) +      (effects (font (size 0.95 0.95) (thickness 0.08)) (justify right bottom)) +    ) +    (pad TP smd roundrect (at 0 0 180) (size 1.27 1.27) (layers Bottom B.Mask) (roundrect_rratio 0.5) +      (net 1 GND) (solder_mask_margin 0.0635)) +  ) + +  (module "Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001:B1,27" (layer Bottom) (tedit 0) (tstamp 63E6D232) +    (at 144.0815 101.2216 180) +    (descr "<b>TEST PAD</b>") +    (path /E65641C5) +    (fp_text reference A4 (at 1.524 0) (layer B.SilkS) +      (effects (font (size 0.7239 0.7239) (thickness 0.130302)) (justify right bottom mirror)) +    ) +    (fp_text value TPB1,27 (at -0.635 -0.762) (layer B.Fab) +      (effects (font (size 0.77216 0.77216) (thickness 0.138988)) (justify right bottom mirror)) +    ) +    (fp_line (start -0.635 0) (end 0.635 0) (layer Dwgs.User) (width 0.0024)) +    (fp_line (start 0 0.635) (end 0 -0.635) (layer Dwgs.User) (width 0.0024)) +    (fp_text user >TP_SIGNAL_NAME (at -0.635 -1.905 180) (layer Dwgs.User) +      (effects (font (size 0.95 0.95) (thickness 0.08)) (justify right bottom)) +    ) +    (pad TP smd roundrect (at 0 0 180) (size 1.27 1.27) (layers Bottom B.Mask) (roundrect_rratio 0.5) +      (net 9 /A4_SERCOM3.2_TC3.0) (solder_mask_margin 0.0635)) +  ) + +  (module "Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001:B1,27" (layer Bottom) (tedit 0) (tstamp 63E6D239) +    (at 146.1135 101.2216 180) +    (descr "<b>TEST PAD</b>") +    (path /D0DD1D8E) +    (fp_text reference VCC1 (at -1.778 0) (layer B.SilkS) +      (effects (font (size 0.7239 0.7239) (thickness 0.130302)) (justify right bottom mirror)) +    ) +    (fp_text value TPB1,27 (at -0.635 -0.762) (layer B.Fab) +      (effects (font (size 0.77216 0.77216) (thickness 0.138988)) (justify right bottom mirror)) +    ) +    (fp_line (start -0.635 0) (end 0.635 0) (layer Dwgs.User) (width 0.0024)) +    (fp_line (start 0 0.635) (end 0 -0.635) (layer Dwgs.User) (width 0.0024)) +    (fp_text user >TP_SIGNAL_NAME (at -0.635 -1.905 180) (layer Dwgs.User) +      (effects (font (size 0.95 0.95) (thickness 0.08)) (justify right bottom)) +    ) +    (pad TP smd roundrect (at 0 0 180) (size 1.27 1.27) (layers Bottom B.Mask) (roundrect_rratio 0.5) +      (net 2 VCC) (solder_mask_margin 0.0635)) +  ) + +  (module "Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001:B1,27" (layer Bottom) (tedit 0) (tstamp 63E6D240) +    (at 146.1135 104.4728 180) +    (descr "<b>TEST PAD</b>") +    (path /252148C1) +    (fp_text reference SCL1 (at -1.778 0) (layer B.SilkS) +      (effects (font (size 0.7239 0.7239) (thickness 0.130302)) (justify right bottom mirror)) +    ) +    (fp_text value TPB1,27 (at -0.635 -0.762) (layer B.Fab) +      (effects (font (size 0.77216 0.77216) (thickness 0.138988)) (justify right bottom mirror)) +    ) +    (fp_line (start -0.635 0) (end 0.635 0) (layer Dwgs.User) (width 0.0024)) +    (fp_line (start 0 0.635) (end 0 -0.635) (layer Dwgs.User) (width 0.0024)) +    (fp_text user >TP_SIGNAL_NAME (at -0.635 -1.905 180) (layer Dwgs.User) +      (effects (font (size 0.95 0.95) (thickness 0.08)) (justify right bottom)) +    ) +    (pad TP smd roundrect (at 0 0 180) (size 1.27 1.27) (layers Bottom B.Mask) (roundrect_rratio 0.5) +      (net 4 /SCL) (solder_mask_margin 0.0635)) +  ) + +  (module "Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001:B1,27" (layer Bottom) (tedit 0) (tstamp 63E6D247) +    (at 144.0815 104.4728 180) +    (descr "<b>TEST PAD</b>") +    (path /943CED1C) +    (fp_text reference SDA1 (at 1.778 -0.0127) (layer B.SilkS) +      (effects (font (size 0.7239 0.7239) (thickness 0.130302)) (justify right bottom mirror)) +    ) +    (fp_text value TPB1,27 (at -0.635 -0.762) (layer B.Fab) +      (effects (font (size 0.77216 0.77216) (thickness 0.138988)) (justify right bottom mirror)) +    ) +    (fp_line (start -0.635 0) (end 0.635 0) (layer Dwgs.User) (width 0.0024)) +    (fp_line (start 0 0.635) (end 0 -0.635) (layer Dwgs.User) (width 0.0024)) +    (fp_text user >TP_SIGNAL_NAME (at -0.635 -1.905 180) (layer Dwgs.User) +      (effects (font (size 0.95 0.95) (thickness 0.08)) (justify right bottom)) +    ) +    (pad TP smd roundrect (at 0 0 180) (size 1.27 1.27) (layers Bottom B.Mask) (roundrect_rratio 0.5) +      (net 5 /SDA) (solder_mask_margin 0.0635)) +  ) + +  (module "Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001:B1,27" (layer Bottom) (tedit 0) (tstamp 63E6D24E) +    (at 144.0815 102.8472 180) +    (descr "<b>TEST PAD</b>") +    (path /E1B0505C) +    (fp_text reference A1 (at 1.524 0) (layer B.SilkS) +      (effects (font (size 0.7239 0.7239) (thickness 0.130302)) (justify right bottom mirror)) +    ) +    (fp_text value TPB1,27 (at -0.635 -0.762) (layer B.Fab) +      (effects (font (size 0.77216 0.77216) (thickness 0.138988)) (justify right bottom mirror)) +    ) +    (fp_line (start -0.635 0) (end 0.635 0) (layer Dwgs.User) (width 0.0024)) +    (fp_line (start 0 0.635) (end 0 -0.635) (layer Dwgs.User) (width 0.0024)) +    (fp_text user >TP_SIGNAL_NAME (at -0.635 -1.905 180) (layer Dwgs.User) +      (effects (font (size 0.95 0.95) (thickness 0.08)) (justify right bottom)) +    ) +    (pad TP smd roundrect (at 0 0 180) (size 1.27 1.27) (layers Bottom B.Mask) (roundrect_rratio 0.5) +      (net 6 /A1_SERCOM3.3_TC3.1) (solder_mask_margin 0.0635)) +  ) + +  (gr_arc (start 150.4823 106.5556) (end 150.7363 106.5556) (angle -90) (layer Edge.Cuts) (width 0.05) (tstamp 803D32C0)) +  (gr_line (start 150.4823 106.3016) (end 145.7325 106.3016) (layer Edge.Cuts) (width 0.05) (tstamp 803D3820)) +  (gr_line (start 145.0975 105.6666) (end 142.1765 105.6666) (layer Edge.Cuts) (width 0.05) (tstamp 803D3C70)) +  (gr_arc (start 142.1765 104.7776) (end 142.1765 105.6666) (angle 90) (layer Edge.Cuts) (width 0.05) (tstamp 63E7417A)) +  (gr_line (start 141.2875 104.7776) (end 141.2875 100.8406) (layer Edge.Cuts) (width 0.05) (tstamp 63E75941)) +  (gr_arc (start 142.1765 100.8406) (end 141.2875 100.8406) (angle 90) (layer Edge.Cuts) (width 0.05) (tstamp 63E74180)) +  (gr_line (start 142.1765 99.9516) (end 155.3337 99.9516) (layer Edge.Cuts) (width 0.05) (tstamp 7FB9B000)) +  (gr_arc (start 155.3337 100.3326) (end 155.3337 99.9516) (angle 90) (layer Edge.Cuts) (width 0.05) (tstamp 7FB9B410)) +  (gr_line (start 155.7147 100.3326) (end 155.7147 106.5556) (layer Edge.Cuts) (width 0.05) (tstamp 7FB9B950)) +  (gr_arc (start 145.0975 106.3016) (end 145.7325 106.3016) (angle -90) (layer Edge.Cuts) (width 0.05) (tstamp 7FB9BE00)) +  (gr_text "OPT3001 I2C\nSensor Board" (at 151.4475 100.2056) (layer F.SilkS) (tstamp 7FC58850) +    (effects (font (size 0.57912 0.57912) (thickness 0.109728)) (justify top)) +  ) +  (gr_line (start 155.7147 105.2856) (end 147.5105 105.2856) (layer F.SilkS) (width 0.127) (tstamp 7FC58F50)) +  (gr_line (start 147.0025 100.7136) (end 147.0025 104.7776) (layer F.SilkS) (width 0.127) (tstamp 7FA4B140)) +  (gr_arc (start 147.5105 104.7776) (end 147.0025 104.7776) (angle -90) (layer F.SilkS) (width 0.127) (tstamp 7FA4B6B0)) +  (gr_arc (start 146.2405 100.7136) (end 147.0025 100.7136) (angle -90) (layer F.SilkS) (width 0.127) (tstamp 7FA4BCC0)) +  (gr_text "A0: Thermistor !EN\nA2: Temp. Sense\nA1/A4/SDA/SCL:\nTest Points" (at 151.4475 102.1106) (layer F.SilkS) (tstamp 7FA08AA0) +    (effects (font (size 0.4826 0.4826) (thickness 0.06096)) (justify top)) +  ) +  (gr_text "Digital IO\nAnalog input\nPWM on TC3\nUART RX/TX\nInterrupt 1/0\nA4 ONLY: Ext. wake 0" (at 155.5115 101.2216) (layer B.SilkS) (tstamp 7FA09230) +    (effects (font (size 0.4826 0.4826) (thickness 0.06096)) (justify left top mirror)) +  ) +  (gr_text "A1/A4 Uses" (at 155.5115 100.2056) (layer B.SilkS) (tstamp 7F9A10A0) +    (effects (font (size 0.57912 0.57912) (thickness 0.109728)) (justify left top mirror)) +  ) +  (gr_text "" (at 142.9385 104.1172) (layer F.SilkS) (tstamp 7F9A17A0) +    (effects (font (size 0.57912 0.57912) (thickness 0.073152)) (justify left)) +  ) +  (gr_text "" (at 142.9385 101.5518) (layer F.SilkS) (tstamp 7F9A1E50) +    (effects (font (size 0.57912 0.57912) (thickness 0.073152)) (justify left)) +  ) +  (dimension 3 (width 0.12) (layer F.SilkS) +    (gr_text "3.000 mm" (at 160.9575 108.5016 90) (layer F.SilkS) +      (effects (font (size 1 1) (thickness 0.15))) +    ) +    (feature1 (pts (xy 156.0875 107.0016) (xy 160.273921 107.0016))) +    (feature2 (pts (xy 156.0875 110.0016) (xy 160.273921 110.0016))) +    (crossbar (pts (xy 159.6875 110.0016) (xy 159.6875 107.0016))) +    (arrow1a (pts (xy 159.6875 107.0016) (xy 160.273921 108.128104))) +    (arrow1b (pts (xy 159.6875 107.0016) (xy 159.101079 108.128104))) +    (arrow2a (pts (xy 159.6875 110.0016) (xy 160.273921 108.875096))) +    (arrow2b (pts (xy 159.6875 110.0016) (xy 159.101079 108.875096))) +  ) +  (gr_text "Stiffener only\nin this area" (at 159.5755 108.5876) (layer F.SilkS) (tstamp 7F95BC90) +    (effects (font (size 0.57912 0.57912) (thickness 0.109728))) +  ) + +  (segment (start 148.082 100.457) (end 148.137 100.457) (width 0.25) (layer Bottom) (net 0)) +  (segment (start 142.098 101.5) (end 142.748 101.5) (width 0.25) (layer Top) (net 1)) +  (via (at 142.494 100.529) (size 0.8) (drill 0.4) (layers Top Bottom) (net 1)) +  (segment (start 142.748 100.783) (end 142.494 100.529) (width 0.25) (layer Top) (net 1)) +  (segment (start 142.748 101.5) (end 142.748 100.783) (width 0.25) (layer Top) (net 1)) +  (segment (start 142.494 100.529) (end 142.76899 100.25401) (width 0.25) (layer Bottom) (net 1)) +  (segment (start 145.201089 100.256533) (end 145.201089 101.934789) (width 0.25) (layer Bottom) (net 1)) +  (segment (start 142.76899 100.25401) (end 145.198566 100.25401) (width 0.25) (layer Bottom) (net 1)) +  (segment (start 145.198566 100.25401) (end 145.201089 100.256533) (width 0.25) (layer Bottom) (net 1)) +  (segment (start 145.201089 101.934789) (end 146.1135 102.8472) (width 0.25) (layer Bottom) (net 1)) +  (segment (start 147.022102 101.938598) (end 146.1135 102.8472) (width 0.25) (layer Bottom) (net 1)) +  (segment (start 154.7255 104.319944) (end 152.344154 101.938598) (width 0.25) (layer Bottom) (net 1)) +  (segment (start 152.344154 101.938598) (end 147.022102 101.938598) (width 0.25) (layer Bottom) (net 1)) +  (segment (start 154.7255 108.8056) (end 154.7255 104.319944) (width 0.25) (layer Bottom) (net 1)) +  (via (at 146.939 101.219) (size 0.8) (drill 0.4) (layers Top Bottom) (net 2)) +  (segment (start 152.129838 100.901187) (end 147.822498 100.901187) (width 0.25) (layer Bottom) (net 2)) +  (segment (start 146.1161 101.219) (end 146.1135 101.2216) (width 0.25) (layer Bottom) (net 2)) +  (segment (start 147.822498 100.901187) (end 147.504685 101.219) (width 0.25) (layer Bottom) (net 2)) +  (segment (start 155.2255 103.996849) (end 152.129838 100.901187) (width 0.25) (layer Bottom) (net 2)) +  (segment (start 146.939 101.219) (end 146.1161 101.219) (width 0.25) (layer Bottom) (net 2)) +  (segment (start 155.2255 108.8056) (end 155.2255 103.996849) (width 0.25) (layer Bottom) (net 2)) +  (segment (start 147.504685 101.219) (end 146.939 101.219) (width 0.25) (layer Bottom) (net 2)) +  (segment (start 143.398 101.5) (end 143.573651 101.675651) (width 0.25) (layer Top) (net 2)) +  (segment (start 143.573651 101.675651) (end 146.142049 101.675651) (width 0.25) (layer Top) (net 2)) +  (segment (start 146.142049 101.675651) (end 146.3929 101.4248) (width 0.25) (layer Top) (net 2)) +  (segment (start 146.3929 101.4248) (end 146.7332 101.4248) (width 0.25) (layer Top) (net 2)) +  (segment (start 146.7332 101.4248) (end 146.939 101.219) (width 0.25) (layer Top) (net 2)) +  (via (at 147.828 105.664) (size 0.8) (drill 0.4) (layers Top Bottom) (net 3)) +  (segment (start 147.6782 105.5142) (end 147.828 105.664) (width 0.25) (layer Top) (net 3)) +  (segment (start 146.3929 105.5142) (end 147.6782 105.5142) (width 0.25) (layer Top) (net 3)) +  (segment (start 151.2255 106.512573) (end 151.2255 108.8056) (width 0.25) (layer Bottom) (net 3)) +  (segment (start 150.712117 105.99919) (end 151.2255 106.512573) (width 0.25) (layer Bottom) (net 3)) +  (segment (start 148.16319 105.99919) (end 150.712117 105.99919) (width 0.25) (layer Bottom) (net 3)) +  (segment (start 147.828 105.664) (end 148.16319 105.99919) (width 0.25) (layer Bottom) (net 3)) +  (segment (start 142.37541 105.26741) (end 145.075078 105.26741) (width 0.25) (layer Top) (net 4)) +  (via (at 145.243931 105.098557) (size 0.8) (drill 0.4) (layers Top Bottom) (net 4)) +  (segment (start 142.098 104.99) (end 142.37541 105.26741) (width 0.25) (layer Top) (net 4)) +  (segment (start 142.098 104.24) (end 142.098 104.99) (width 0.25) (layer Top) (net 4)) +  (segment (start 145.075078 105.26741) (end 145.243931 105.098557) (width 0.25) (layer Top) (net 4)) +  (segment (start 145.487743 105.098557) (end 146.1135 104.4728) (width 0.25) (layer Bottom) (net 4)) +  (segment (start 145.243931 105.098557) (end 145.487743 105.098557) (width 0.25) (layer Bottom) (net 4)) +  (segment (start 150.674396 105.392376) (end 151.7255 106.44348) (width 0.25) (layer Bottom) (net 4)) +  (segment (start 150.421816 105.392376) (end 150.674396 105.392376) (width 0.25) (layer Bottom) (net 4)) +  (segment (start 146.1135 104.4728) (end 149.50224 104.4728) (width 0.25) (layer Bottom) (net 4)) +  (segment (start 151.7255 106.44348) (end 151.7255 108.8056) (width 0.25) (layer Bottom) (net 4)) +  (segment (start 149.50224 104.4728) (end 150.421816 105.392376) (width 0.25) (layer Bottom) (net 4)) +  (segment (start 143.398 104.24) (end 145.007 104.24) (width 0.25) (layer Top) (net 5)) +  (segment (start 145.007 104.24) (end 145.381654 104.24) (width 0.25) (layer Top) (net 5)) +  (segment (start 152.2255 108.8056) (end 152.2255 106.193504) (width 0.25) (layer Bottom) (net 5)) +  (segment (start 145.381654 104.24) (end 145.856628 104.714974) (width 0.25) (layer Top) (net 5)) +  (segment (start 145.856628 104.714974) (end 150.74697 104.714974) (width 0.25) (layer Top) (net 5)) +  (via (at 150.74697 104.714974) (size 0.8) (drill 0.4) (layers Top Bottom) (net 5)) +  (segment (start 152.2255 106.193504) (end 150.74697 104.714974) (width 0.25) (layer Bottom) (net 5)) +  (via (at 145.034 103.886) (size 0.8) (drill 0.4) (layers Top Bottom) (net 5)) +  (segment (start 145.034 103.886) (end 145.007 103.913) (width 0.25) (layer Top) (net 5)) +  (segment (start 144.4472 104.4728) (end 145.034 103.886) (width 0.25) (layer Bottom) (net 5)) +  (segment (start 144.0815 104.4728) (end 144.4472 104.4728) (width 0.25) (layer Bottom) (net 5)) +  (segment (start 145.007 103.913) (end 145.007 104.24) (width 0.25) (layer Top) (net 5)) +  (via (at 148.336 103.52461) (size 0.8) (drill 0.4) (layers Top Bottom) (net 6)) +  (segment (start 152.7255 106.045058) (end 151.490164 104.809722) (width 0.25) (layer Bottom) (net 6)) +  (segment (start 151.490164 104.35972) (end 150.655054 103.52461) (width 0.25) (layer Bottom) (net 6)) +  (segment (start 152.7255 108.8056) (end 152.7255 106.045058) (width 0.25) (layer Bottom) (net 6)) +  (segment (start 151.490164 104.809722) (end 151.490164 104.35972) (width 0.25) (layer Bottom) (net 6)) +  (segment (start 150.655054 103.52461) (end 148.336 103.52461) (width 0.25) (layer Bottom) (net 6)) +  (via (at 144.899309 102.94316) (size 0.8) (drill 0.4) (layers Top Bottom) (net 6)) +  (segment (start 144.803349 102.8472) (end 144.899309 102.94316) (width 0.25) (layer Bottom) (net 6)) +  (segment (start 144.0815 102.8472) (end 144.803349 102.8472) (width 0.25) (layer Bottom) (net 6)) +  (segment (start 144.899309 102.94316) (end 145.57107 102.271399) (width 0.25) (layer Top) (net 6)) +  (segment (start 145.57107 102.271399) (end 147.082789 102.271399) (width 0.25) (layer Top) (net 6)) +  (segment (start 147.082789 102.271399) (end 148.336 103.52461) (width 0.25) (layer Top) (net 6)) +  (segment (start 146.2659 103.9902) (end 146.2659 102.9488) (width 0.254) (layer Top) (net 7) (tstamp 63E759C5)) +  (segment (start 153.2255 105.415504) (end 152.231065 104.421069) (width 0.25) (layer Bottom) (net 7)) +  (segment (start 148.842094 104.02107) (end 151.831066 104.02107) (width 0.25) (layer Top) (net 7)) +  (via (at 152.231065 104.421069) (size 0.8) (drill 0.4) (layers Top Bottom) (net 7)) +  (segment (start 148.661153 104.202011) (end 148.842094 104.02107) (width 0.25) (layer Top) (net 7)) +  (segment (start 146.3929 103.9902) (end 146.604711 104.202011) (width 0.25) (layer Top) (net 7)) +  (segment (start 146.604711 104.202011) (end 148.661153 104.202011) (width 0.25) (layer Top) (net 7)) +  (segment (start 151.831066 104.02107) (end 152.231065 104.421069) (width 0.25) (layer Top) (net 7)) +  (segment (start 153.2255 108.8056) (end 153.2255 105.415504) (width 0.25) (layer Bottom) (net 7)) +  (via (at 152.019 102.616) (size 0.8) (drill 0.4) (layers Top Bottom) (net 9)) +  (segment (start 154.2255 104.8225) (end 152.019 102.616) (width 0.25) (layer Bottom) (net 9)) +  (segment (start 154.2255 108.8056) (end 154.2255 104.8225) (width 0.25) (layer Bottom) (net 9)) +  (segment (start 149.733 100.33) (end 147.574 100.33) (width 0.25) (layer Top) (net 9)) +  (segment (start 152.019 102.616) (end 149.733 100.33) (width 0.25) (layer Top) (net 9)) +  (segment (start 147.574 100.33) (end 147.955 100.33) (width 0.25) (layer Top) (net 9)) +  (via (at 144.523679 100.981868) (size 0.8) (drill 0.4) (layers Top Bottom) (net 9)) +  (segment (start 144.0815 101.2216) (end 144.283947 101.2216) (width 0.25) (layer Bottom) (net 9)) +  (segment (start 144.283947 101.2216) (end 144.523679 100.981868) (width 0.25) (layer Bottom) (net 9)) +  (segment (start 144.523679 100.981868) (end 145.175547 100.33) (width 0.25) (layer Top) (net 9)) +  (segment (start 145.175547 100.33) (end 147.574 100.33) (width 0.25) (layer Top) (net 9)) + +) diff --git a/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001.kicad_pcb-bak b/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001.kicad_pcb-bak new file mode 100644 index 00000000..bff4000c --- /dev/null +++ b/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001.kicad_pcb-bak @@ -0,0 +1,497 @@ +(kicad_pcb (version 20171130) (host pcbnew 5.1.9+dfsg1-1+deb11u1) + +  (general +    (thickness 1.6) +    (drawings 22) +    (tracks 90) +    (zones 0) +    (modules 10) +    (nets 12) +  ) + +  (page A4) +  (layers +    (0 Top signal) +    (31 Bottom signal) +    (32 B.Adhes user hide) +    (33 F.Adhes user hide) +    (34 B.Paste user hide) +    (35 F.Paste user hide) +    (36 B.SilkS user hide) +    (37 F.SilkS user) +    (38 B.Mask user hide) +    (39 F.Mask user hide) +    (40 Dwgs.User user hide) +    (41 Cmts.User user hide) +    (42 Eco1.User user hide) +    (43 Eco2.User user) +    (44 Edge.Cuts user) +    (45 Margin user hide) +    (46 B.CrtYd user hide) +    (47 F.CrtYd user hide) +    (48 B.Fab user hide) +    (49 F.Fab user hide) +  ) + +  (setup +    (last_trace_width 0.25) +    (trace_clearance 0.1524) +    (zone_clearance 0.508) +    (zone_45_only no) +    (trace_min 0.2) +    (via_size 0.8) +    (via_drill 0.4) +    (via_min_size 0.1) +    (via_min_drill 0.254) +    (uvia_size 0.3) +    (uvia_drill 0.1) +    (uvias_allowed no) +    (uvia_min_size 0.2) +    (uvia_min_drill 0.1) +    (edge_width 0.05) +    (segment_width 0.2) +    (pcb_text_width 0.3) +    (pcb_text_size 1.5 1.5) +    (mod_edge_width 0.12) +    (mod_text_size 1 1) +    (mod_text_width 0.15) +    (pad_size 1.5 0.27) +    (pad_drill 0) +    (pad_to_mask_clearance 0) +    (aux_axis_origin 0 0) +    (visible_elements FFFFFF7F) +    (pcbplotparams +      (layerselection 0x010fc_ffffffff) +      (usegerberextensions false) +      (usegerberattributes true) +      (usegerberadvancedattributes true) +      (creategerberjobfile true) +      (excludeedgelayer true) +      (linewidth 0.100000) +      (plotframeref false) +      (viasonmask false) +      (mode 1) +      (useauxorigin false) +      (hpglpennumber 1) +      (hpglpenspeed 20) +      (hpglpendiameter 15.000000) +      (psnegative false) +      (psa4output false) +      (plotreference true) +      (plotvalue true) +      (plotinvisibletext false) +      (padsonsilk false) +      (subtractmaskfromsilk false) +      (outputformat 1) +      (mirror false) +      (drillshape 1) +      (scaleselection 1) +      (outputdirectory "")) +  ) + +  (net 0 "") +  (net 1 GND) +  (net 2 VCC) +  (net 3 /A0_TEMP_ENABLE) +  (net 4 /SCL) +  (net 5 /SDA) +  (net 6 /A1_SERCOM3.3_TC3.1) +  (net 7 /A2_TEMP_SENSE) +  (net 8 /NC) +  (net 9 /A4_SERCOM3.2_TC3.0) +  (net 10 "Net-(U1-Pad7)") +  (net 11 "Net-(U1-Pad5)") + +  (net_class Default "This is the default net class." +    (clearance 0.1524) +    (trace_width 0.25) +    (via_dia 0.8) +    (via_drill 0.4) +    (uvia_dia 0.3) +    (uvia_drill 0.1) +    (add_net /A0_TEMP_ENABLE) +    (add_net /A1_SERCOM3.3_TC3.1) +    (add_net /A2_TEMP_SENSE) +    (add_net /A4_SERCOM3.2_TC3.0) +    (add_net /NC) +    (add_net /SCL) +    (add_net /SDA) +    (add_net GND) +    (add_net "Net-(U1-Pad5)") +    (add_net "Net-(U1-Pad7)") +    (add_net VCC) +  ) + +  (module "Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001:FH19C9S05SH10-FFC" (layer Top) (tedit 0) (tstamp 63E6D203) +    (at 153.2255 106.5556) +    (descr "<b>FH19C-9S-0.5SH(10)-1</b><br>\n") +    (path /54307519) +    (fp_text reference U$3 (at 0 0) (layer F.SilkS) hide +      (effects (font (size 1.27 1.27) (thickness 0.15))) +    ) +    (fp_text value FH19C-9S-0.5SH_10-FFC (at 0 0) (layer F.SilkS) hide +      (effects (font (size 1.27 1.27) (thickness 0.15))) +    ) +    (fp_arc (start -2.3392 3.35) (end -2.3392 3.5) (angle 90) (layer Edge.Cuts) (width 0.05)) +    (fp_arc (start 2.3392 3.35) (end 2.3392 3.5) (angle -90) (layer Edge.Cuts) (width 0.05)) +    (fp_line (start -2.4892 0) (end -2.4892 3.35) (layer Edge.Cuts) (width 0.05)) +    (fp_line (start -2.3392 3.5) (end 2.3392 3.5) (layer Edge.Cuts) (width 0.05)) +    (fp_line (start 2.4892 0) (end 2.4892 3.35) (layer Edge.Cuts) (width 0.05)) +    (fp_poly (pts (xy -2.4902 0.9742) (xy 2.4882 0.9742) (xy 2.4892 3.4798) (xy -2.4892 3.4798)) (layer B.Mask) (width 0)) +    (pad 1 smd rect (at 2 2.25 90) (size 2.5 0.347) (layers Bottom B.Mask) +      (net 2 VCC) (solder_mask_margin 0.0635)) +    (pad 2 smd rect (at 1.5 2.25 90) (size 2.5 0.347) (layers Bottom B.Mask) +      (net 1 GND) (solder_mask_margin 0.0635)) +    (pad 3 smd rect (at 1 2.25 90) (size 2.5 0.347) (layers Bottom B.Mask) +      (net 9 /A4_SERCOM3.2_TC3.0) (solder_mask_margin 0.0635)) +    (pad 4 smd rect (at 0.5 2.25 90) (size 2.5 0.347) (layers Bottom B.Mask) +      (net 8 /NC) (solder_mask_margin 0.0635)) +    (pad 5 smd rect (at 0 2.25 90) (size 2.5 0.347) (layers Bottom B.Mask) +      (net 7 /A2_TEMP_SENSE) (solder_mask_margin 0.0635)) +    (pad 6 smd rect (at -0.5 2.25 90) (size 2.5 0.347) (layers Bottom B.Mask) +      (net 6 /A1_SERCOM3.3_TC3.1) (solder_mask_margin 0.0635)) +    (pad 7 smd rect (at -1 2.25 90) (size 2.5 0.347) (layers Bottom B.Mask) +      (net 5 /SDA) (solder_mask_margin 0.0635)) +    (pad 8 smd rect (at -1.5 2.25 90) (size 2.5 0.347) (layers Bottom B.Mask) +      (net 4 /SCL) (solder_mask_margin 0.0635)) +    (pad 9 smd rect (at -2 2.25 90) (size 2.5 0.347) (layers Bottom B.Mask) +      (net 3 /A0_TEMP_ENABLE) (solder_mask_margin 0.0635)) +  ) + +  (module OPT3001DNPT:SON65P200X200X65-7N (layer Top) (tedit 63E6D415) (tstamp 63E73FD8) +    (at 142.748 102.87 270) +    (path /63E70E51) +    (attr smd) +    (fp_text reference U1 (at 0.54 -2.008 90) (layer F.SilkS) hide +      (effects (font (size 0.8 0.8) (thickness 0.15))) +    ) +    (fp_text value OPT3001DNPT (at 7.652 2.008 90) (layer F.Fab) hide +      (effects (font (size 0.8 0.8) (thickness 0.15))) +    ) +    (fp_poly (pts (xy -0.21 -0.43) (xy 0.21 -0.43) (xy 0.21 0.43) (xy -0.21 0.43)) (layer F.Paste) (width 0.01)) +    (fp_circle (center -1.935 -0.65) (end -1.835 -0.65) (layer F.SilkS) (width 0.2)) +    (fp_circle (center -1.935 -0.65) (end -1.835 -0.65) (layer F.Fab) (width 0.2)) +    (fp_line (start -1 -1) (end 1 -1) (layer F.Fab) (width 0.127)) +    (fp_line (start -1 1) (end 1 1) (layer F.Fab) (width 0.127)) +    (fp_line (start -1 -1.099) (end 1 -1.099) (layer F.SilkS) (width 0.127)) +    (fp_line (start -1 1.099) (end 1 1.099) (layer F.SilkS) (width 0.127)) +    (fp_line (start -1 -1) (end -1 1) (layer F.Fab) (width 0.127)) +    (fp_line (start 1 -1) (end 1 1) (layer F.Fab) (width 0.127)) +    (fp_line (start -1.615 -1.25) (end 1.615 -1.25) (layer F.CrtYd) (width 0.05)) +    (fp_line (start -1.615 1.25) (end 1.615 1.25) (layer F.CrtYd) (width 0.05)) +    (fp_line (start -1.615 -1.25) (end -1.615 1.25) (layer F.CrtYd) (width 0.05)) +    (fp_line (start 1.615 -1.25) (end 1.615 1.25) (layer F.CrtYd) (width 0.05)) +    (pad 1 smd roundrect (at -1.37 -0.65 270) (size 1.5 0.27) (layers Top F.Paste F.Mask) (roundrect_rratio 0.03) +      (net 2 VCC)) +    (pad 2 smd roundrect (at -1.37 0 270) (size 1.5 0.27) (layers Top F.Paste F.Mask) (roundrect_rratio 0.03) +      (net 1 GND)) +    (pad 3 smd roundrect (at -1.37 0.65 270) (size 1.5 0.27) (layers Top F.Paste F.Mask) (roundrect_rratio 0.03) +      (net 1 GND)) +    (pad 4 smd roundrect (at 1.37 0.65 270) (size 1.5 0.27) (layers Top F.Paste F.Mask) (roundrect_rratio 0.03) +      (net 4 /SCL)) +    (pad 5 smd roundrect (at 1.37 0 270) (size 1.5 0.27) (layers Top F.Paste F.Mask) (roundrect_rratio 0.03) +      (net 11 "Net-(U1-Pad5)")) +    (pad 6 smd roundrect (at 1.37 -0.65 270) (size 1.5 0.27) (layers Top F.Paste F.Mask) (roundrect_rratio 0.03) +      (net 5 /SDA)) +    (pad 7 smd rect (at 0 0 270) (size 0.65 1.35) (layers Top F.Mask) +      (net 10 "Net-(U1-Pad7)")) +  ) + +  (module "Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001:_0603MP" (layer Top) (tedit 0) (tstamp 63E759D2) +    (at 146.2659 104.7522 270) +    (descr "<b>0603 MicroPitch</b>") +    (path /05CBC8DB) +    (fp_text reference R1 (at -0.0635 1.7145 90) (layer F.SilkS) +      (effects (font (size 0.77216 0.77216) (thickness 0.138988)) (justify left bottom)) +    ) +    (fp_text value "1% 10K" (at -0.9525 0.9525 90) (layer F.Fab) +      (effects (font (size 0.77216 0.77216) (thickness 0.138988)) (justify left bottom)) +    ) +    (fp_poly (pts (xy -0.1999 0.25) (xy 0.1999 0.25) (xy 0.1999 -0.25) (xy -0.1999 -0.25)) (layer F.Adhes) (width 0)) +    (fp_poly (pts (xy -0.8 0.4) (xy -0.4318 0.4) (xy -0.4318 -0.4) (xy -0.8 -0.4)) (layer F.Fab) (width 0)) +    (fp_poly (pts (xy 0.4318 0.4) (xy 0.8 0.4) (xy 0.8 -0.4) (xy 0.4318 -0.4)) (layer F.Fab) (width 0)) +    (fp_line (start 0 -0.254) (end 0 0.254) (layer F.SilkS) (width 0.2032)) +    (fp_line (start 0.432 -0.306) (end -0.432 -0.306) (layer F.Fab) (width 0.1016)) +    (fp_line (start -0.432 0.306) (end 0.432 0.306) (layer F.Fab) (width 0.1016)) +    (pad 2 smd rect (at 0.762 0 270) (size 0.8 0.8) (layers Top F.Paste F.Mask) +      (net 3 /A0_TEMP_ENABLE) (solder_mask_margin 0.0635)) +    (pad 1 smd rect (at -0.762 0 270) (size 0.8 0.8) (layers Top F.Paste F.Mask) +      (net 7 /A2_TEMP_SENSE) (solder_mask_margin 0.0635)) +  ) + +  (module "Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001:_0603MP" (layer Top) (tedit 0) (tstamp 63E759F3) +    (at 146.2659 102.1868 270) +    (descr "<b>0603 MicroPitch</b>") +    (path /6C7771A6) +    (fp_text reference RT1 (at -0.127 1.778 90) (layer F.SilkS) +      (effects (font (size 0.77216 0.77216) (thickness 0.138988)) (justify left bottom)) +    ) +    (fp_text value "NTC 10K" (at -1.27 1.4923 90) (layer F.Fab) +      (effects (font (size 0.77216 0.77216) (thickness 0.138988)) (justify left bottom)) +    ) +    (fp_poly (pts (xy -0.1999 0.25) (xy 0.1999 0.25) (xy 0.1999 -0.25) (xy -0.1999 -0.25)) (layer F.Adhes) (width 0)) +    (fp_poly (pts (xy -0.8 0.4) (xy -0.4318 0.4) (xy -0.4318 -0.4) (xy -0.8 -0.4)) (layer F.Fab) (width 0)) +    (fp_poly (pts (xy 0.4318 0.4) (xy 0.8 0.4) (xy 0.8 -0.4) (xy 0.4318 -0.4)) (layer F.Fab) (width 0)) +    (fp_line (start 0 -0.254) (end 0 0.254) (layer F.SilkS) (width 0.2032)) +    (fp_line (start 0.432 -0.306) (end -0.432 -0.306) (layer F.Fab) (width 0.1016)) +    (fp_line (start -0.432 0.306) (end 0.432 0.306) (layer F.Fab) (width 0.1016)) +    (pad 2 smd rect (at 0.762 0 270) (size 0.8 0.8) (layers Top F.Paste F.Mask) +      (net 7 /A2_TEMP_SENSE) (solder_mask_margin 0.0635)) +    (pad 1 smd rect (at -0.762 0 270) (size 0.8 0.8) (layers Top F.Paste F.Mask) +      (net 2 VCC) (solder_mask_margin 0.0635)) +  ) + +  (module "Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001:B1,27" (layer Bottom) (tedit 0) (tstamp 63E6D22B) +    (at 146.1135 102.8472 180) +    (descr "<b>TEST PAD</b>") +    (path /8E097FD0) +    (fp_text reference GND1 (at -1.778 0) (layer B.SilkS) +      (effects (font (size 0.7239 0.7239) (thickness 0.130302)) (justify right bottom mirror)) +    ) +    (fp_text value TPB1,27 (at -0.635 -0.762) (layer B.Fab) +      (effects (font (size 0.77216 0.77216) (thickness 0.138988)) (justify right bottom mirror)) +    ) +    (fp_line (start 0 0.635) (end 0 -0.635) (layer Dwgs.User) (width 0.0024)) +    (fp_line (start -0.635 0) (end 0.635 0) (layer Dwgs.User) (width 0.0024)) +    (fp_text user >TP_SIGNAL_NAME (at -0.635 -1.905 180) (layer Dwgs.User) +      (effects (font (size 0.95 0.95) (thickness 0.08)) (justify right bottom)) +    ) +    (pad TP smd roundrect (at 0 0 180) (size 1.27 1.27) (layers Bottom B.Mask) (roundrect_rratio 0.5) +      (net 1 GND) (solder_mask_margin 0.0635)) +  ) + +  (module "Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001:B1,27" (layer Bottom) (tedit 0) (tstamp 63E6D232) +    (at 144.0815 101.2216 180) +    (descr "<b>TEST PAD</b>") +    (path /E65641C5) +    (fp_text reference A4 (at 1.524 0) (layer B.SilkS) +      (effects (font (size 0.7239 0.7239) (thickness 0.130302)) (justify right bottom mirror)) +    ) +    (fp_text value TPB1,27 (at -0.635 -0.762) (layer B.Fab) +      (effects (font (size 0.77216 0.77216) (thickness 0.138988)) (justify right bottom mirror)) +    ) +    (fp_line (start 0 0.635) (end 0 -0.635) (layer Dwgs.User) (width 0.0024)) +    (fp_line (start -0.635 0) (end 0.635 0) (layer Dwgs.User) (width 0.0024)) +    (fp_text user >TP_SIGNAL_NAME (at -0.635 -1.905 180) (layer Dwgs.User) +      (effects (font (size 0.95 0.95) (thickness 0.08)) (justify right bottom)) +    ) +    (pad TP smd roundrect (at 0 0 180) (size 1.27 1.27) (layers Bottom B.Mask) (roundrect_rratio 0.5) +      (net 9 /A4_SERCOM3.2_TC3.0) (solder_mask_margin 0.0635)) +  ) + +  (module "Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001:B1,27" (layer Bottom) (tedit 0) (tstamp 63E6D239) +    (at 146.1135 101.2216 180) +    (descr "<b>TEST PAD</b>") +    (path /D0DD1D8E) +    (fp_text reference VCC1 (at -1.778 0) (layer B.SilkS) +      (effects (font (size 0.7239 0.7239) (thickness 0.130302)) (justify right bottom mirror)) +    ) +    (fp_text value TPB1,27 (at -0.635 -0.762) (layer B.Fab) +      (effects (font (size 0.77216 0.77216) (thickness 0.138988)) (justify right bottom mirror)) +    ) +    (fp_line (start 0 0.635) (end 0 -0.635) (layer Dwgs.User) (width 0.0024)) +    (fp_line (start -0.635 0) (end 0.635 0) (layer Dwgs.User) (width 0.0024)) +    (fp_text user >TP_SIGNAL_NAME (at -0.635 -1.905 180) (layer Dwgs.User) +      (effects (font (size 0.95 0.95) (thickness 0.08)) (justify right bottom)) +    ) +    (pad TP smd roundrect (at 0 0 180) (size 1.27 1.27) (layers Bottom B.Mask) (roundrect_rratio 0.5) +      (net 2 VCC) (solder_mask_margin 0.0635)) +  ) + +  (module "Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001:B1,27" (layer Bottom) (tedit 0) (tstamp 63E6D240) +    (at 146.1135 104.4728 180) +    (descr "<b>TEST PAD</b>") +    (path /252148C1) +    (fp_text reference SCL1 (at -1.778 0) (layer B.SilkS) +      (effects (font (size 0.7239 0.7239) (thickness 0.130302)) (justify right bottom mirror)) +    ) +    (fp_text value TPB1,27 (at -0.635 -0.762) (layer B.Fab) +      (effects (font (size 0.77216 0.77216) (thickness 0.138988)) (justify right bottom mirror)) +    ) +    (fp_line (start 0 0.635) (end 0 -0.635) (layer Dwgs.User) (width 0.0024)) +    (fp_line (start -0.635 0) (end 0.635 0) (layer Dwgs.User) (width 0.0024)) +    (fp_text user >TP_SIGNAL_NAME (at -0.635 -1.905 180) (layer Dwgs.User) +      (effects (font (size 0.95 0.95) (thickness 0.08)) (justify right bottom)) +    ) +    (pad TP smd roundrect (at 0 0 180) (size 1.27 1.27) (layers Bottom B.Mask) (roundrect_rratio 0.5) +      (net 4 /SCL) (solder_mask_margin 0.0635)) +  ) + +  (module "Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001:B1,27" (layer Bottom) (tedit 0) (tstamp 63E6D247) +    (at 144.0815 104.4728 180) +    (descr "<b>TEST PAD</b>") +    (path /943CED1C) +    (fp_text reference SDA1 (at 1.778 -0.0127) (layer B.SilkS) +      (effects (font (size 0.7239 0.7239) (thickness 0.130302)) (justify right bottom mirror)) +    ) +    (fp_text value TPB1,27 (at -0.635 -0.762) (layer B.Fab) +      (effects (font (size 0.77216 0.77216) (thickness 0.138988)) (justify right bottom mirror)) +    ) +    (fp_line (start 0 0.635) (end 0 -0.635) (layer Dwgs.User) (width 0.0024)) +    (fp_line (start -0.635 0) (end 0.635 0) (layer Dwgs.User) (width 0.0024)) +    (fp_text user >TP_SIGNAL_NAME (at -0.635 -1.905 180) (layer Dwgs.User) +      (effects (font (size 0.95 0.95) (thickness 0.08)) (justify right bottom)) +    ) +    (pad TP smd roundrect (at 0 0 180) (size 1.27 1.27) (layers Bottom B.Mask) (roundrect_rratio 0.5) +      (net 5 /SDA) (solder_mask_margin 0.0635)) +  ) + +  (module "Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001:B1,27" (layer Bottom) (tedit 0) (tstamp 63E6D24E) +    (at 144.0815 102.8472 180) +    (descr "<b>TEST PAD</b>") +    (path /E1B0505C) +    (fp_text reference A1 (at 1.524 0) (layer B.SilkS) +      (effects (font (size 0.7239 0.7239) (thickness 0.130302)) (justify right bottom mirror)) +    ) +    (fp_text value TPB1,27 (at -0.635 -0.762) (layer B.Fab) +      (effects (font (size 0.77216 0.77216) (thickness 0.138988)) (justify right bottom mirror)) +    ) +    (fp_line (start 0 0.635) (end 0 -0.635) (layer Dwgs.User) (width 0.0024)) +    (fp_line (start -0.635 0) (end 0.635 0) (layer Dwgs.User) (width 0.0024)) +    (fp_text user >TP_SIGNAL_NAME (at -0.635 -1.905 180) (layer Dwgs.User) +      (effects (font (size 0.95 0.95) (thickness 0.08)) (justify right bottom)) +    ) +    (pad TP smd roundrect (at 0 0 180) (size 1.27 1.27) (layers Bottom B.Mask) (roundrect_rratio 0.5) +      (net 6 /A1_SERCOM3.3_TC3.1) (solder_mask_margin 0.0635)) +  ) + +  (gr_arc (start 150.4823 106.5556) (end 150.7363 106.5556) (angle -90) (layer Edge.Cuts) (width 0.05) (tstamp 803D32C0)) +  (gr_line (start 150.4823 106.3016) (end 145.7325 106.3016) (layer Edge.Cuts) (width 0.05) (tstamp 803D3820)) +  (gr_line (start 145.0975 105.6666) (end 142.1765 105.6666) (layer Edge.Cuts) (width 0.05) (tstamp 803D3C70)) +  (gr_arc (start 142.1765 104.7776) (end 142.1765 105.6666) (angle 90) (layer Edge.Cuts) (width 0.05) (tstamp 63E7417A)) +  (gr_line (start 141.2875 104.7776) (end 141.2875 100.8406) (layer Edge.Cuts) (width 0.05) (tstamp 63E75941)) +  (gr_arc (start 142.1765 100.8406) (end 141.2875 100.8406) (angle 90) (layer Edge.Cuts) (width 0.05) (tstamp 63E74180)) +  (gr_line (start 142.1765 99.9516) (end 155.3337 99.9516) (layer Edge.Cuts) (width 0.05) (tstamp 7FB9B000)) +  (gr_arc (start 155.3337 100.3326) (end 155.3337 99.9516) (angle 90) (layer Edge.Cuts) (width 0.05) (tstamp 7FB9B410)) +  (gr_line (start 155.7147 100.3326) (end 155.7147 106.5556) (layer Edge.Cuts) (width 0.05) (tstamp 7FB9B950)) +  (gr_arc (start 145.0975 106.3016) (end 145.7325 106.3016) (angle -90) (layer Edge.Cuts) (width 0.05) (tstamp 7FB9BE00)) +  (gr_text "OPT3001 I2C\nSensor Board" (at 151.4475 100.2056) (layer F.SilkS) (tstamp 7FC58850) +    (effects (font (size 0.57912 0.57912) (thickness 0.109728)) (justify top)) +  ) +  (gr_line (start 155.7147 105.2856) (end 147.5105 105.2856) (layer F.SilkS) (width 0.127) (tstamp 7FC58F50)) +  (gr_line (start 147.0025 100.7136) (end 147.0025 104.7776) (layer F.SilkS) (width 0.127) (tstamp 7FA4B140)) +  (gr_arc (start 147.5105 104.7776) (end 147.0025 104.7776) (angle -90) (layer F.SilkS) (width 0.127) (tstamp 7FA4B6B0)) +  (gr_arc (start 146.2405 100.7136) (end 147.0025 100.7136) (angle -90) (layer F.SilkS) (width 0.127) (tstamp 7FA4BCC0)) +  (gr_text "A0: Thermistor !EN\nA2: Temp. Sense\nA1/A4/SDA/SCL:\nTest Points" (at 151.4475 102.1106) (layer F.SilkS) (tstamp 7FA08AA0) +    (effects (font (size 0.4826 0.4826) (thickness 0.06096)) (justify top)) +  ) +  (gr_text "Digital IO\nAnalog input\nPWM on TC3\nUART RX/TX\nInterrupt 1/0\nA4 ONLY: Ext. wake 0" (at 155.5115 101.2216) (layer B.SilkS) (tstamp 7FA09230) +    (effects (font (size 0.4826 0.4826) (thickness 0.06096)) (justify left top mirror)) +  ) +  (gr_text "A1/A4 Uses" (at 155.5115 100.2056) (layer B.SilkS) (tstamp 7F9A10A0) +    (effects (font (size 0.57912 0.57912) (thickness 0.109728)) (justify left top mirror)) +  ) +  (gr_text "" (at 142.9385 104.1172) (layer F.SilkS) (tstamp 7F9A17A0) +    (effects (font (size 0.57912 0.57912) (thickness 0.073152)) (justify left)) +  ) +  (gr_text "" (at 142.9385 101.5518) (layer F.SilkS) (tstamp 7F9A1E50) +    (effects (font (size 0.57912 0.57912) (thickness 0.073152)) (justify left)) +  ) +  (dimension 3 (width 0.12) (layer F.SilkS) +    (gr_text "3.000 mm" (at 160.9575 108.5016 90) (layer F.SilkS) +      (effects (font (size 1 1) (thickness 0.15))) +    ) +    (feature1 (pts (xy 156.0875 107.0016) (xy 160.273921 107.0016))) +    (feature2 (pts (xy 156.0875 110.0016) (xy 160.273921 110.0016))) +    (crossbar (pts (xy 159.6875 110.0016) (xy 159.6875 107.0016))) +    (arrow1a (pts (xy 159.6875 107.0016) (xy 160.273921 108.128104))) +    (arrow1b (pts (xy 159.6875 107.0016) (xy 159.101079 108.128104))) +    (arrow2a (pts (xy 159.6875 110.0016) (xy 160.273921 108.875096))) +    (arrow2b (pts (xy 159.6875 110.0016) (xy 159.101079 108.875096))) +  ) +  (gr_text "Stiffener only\nin this area" (at 159.5755 108.5876) (layer F.SilkS) (tstamp 7F95BC90) +    (effects (font (size 0.57912 0.57912) (thickness 0.109728))) +  ) + +  (segment (start 148.082 100.457) (end 148.137 100.457) (width 0.25) (layer Bottom) (net 0)) +  (segment (start 142.098 101.5) (end 142.748 101.5) (width 0.25) (layer Top) (net 1)) +  (via (at 142.494 100.529) (size 0.8) (drill 0.4) (layers Top Bottom) (net 1)) +  (segment (start 142.748 100.783) (end 142.494 100.529) (width 0.25) (layer Top) (net 1)) +  (segment (start 142.748 101.5) (end 142.748 100.783) (width 0.25) (layer Top) (net 1)) +  (segment (start 142.494 100.529) (end 142.76899 100.25401) (width 0.25) (layer Bottom) (net 1)) +  (segment (start 145.201089 100.256533) (end 145.201089 101.934789) (width 0.25) (layer Bottom) (net 1)) +  (segment (start 142.76899 100.25401) (end 145.198566 100.25401) (width 0.25) (layer Bottom) (net 1)) +  (segment (start 145.198566 100.25401) (end 145.201089 100.256533) (width 0.25) (layer Bottom) (net 1)) +  (segment (start 145.201089 101.934789) (end 146.1135 102.8472) (width 0.25) (layer Bottom) (net 1)) +  (segment (start 147.022102 101.938598) (end 146.1135 102.8472) (width 0.25) (layer Bottom) (net 1)) +  (segment (start 154.7255 104.319944) (end 152.344154 101.938598) (width 0.25) (layer Bottom) (net 1)) +  (segment (start 152.344154 101.938598) (end 147.022102 101.938598) (width 0.25) (layer Bottom) (net 1)) +  (segment (start 154.7255 108.8056) (end 154.7255 104.319944) (width 0.25) (layer Bottom) (net 1)) +  (via (at 146.939 101.219) (size 0.8) (drill 0.4) (layers Top Bottom) (net 2) (status 1000000)) +  (segment (start 152.129838 100.901187) (end 147.822498 100.901187) (width 0.25) (layer Bottom) (net 2)) +  (segment (start 146.7332 101.4248) (end 146.939 101.219) (width 0.25) (layer Top) (net 2)) +  (segment (start 146.3929 101.4248) (end 146.7332 101.4248) (width 0.25) (layer Top) (net 2)) +  (segment (start 146.142049 101.675651) (end 146.3929 101.4248) (width 0.25) (layer Top) (net 2)) +  (segment (start 143.573651 101.675651) (end 146.142049 101.675651) (width 0.25) (layer Top) (net 2)) +  (segment (start 146.1161 101.219) (end 146.1135 101.2216) (width 0.25) (layer Bottom) (net 2)) +  (segment (start 147.822498 100.901187) (end 147.504685 101.219) (width 0.25) (layer Bottom) (net 2)) +  (segment (start 155.2255 103.996849) (end 152.129838 100.901187) (width 0.25) (layer Bottom) (net 2)) +  (segment (start 143.398 101.5) (end 143.573651 101.675651) (width 0.25) (layer Top) (net 2)) +  (segment (start 146.939 101.219) (end 146.1161 101.219) (width 0.25) (layer Bottom) (net 2)) +  (segment (start 155.2255 108.8056) (end 155.2255 103.996849) (width 0.25) (layer Bottom) (net 2)) +  (segment (start 147.504685 101.219) (end 146.939 101.219) (width 0.25) (layer Bottom) (net 2)) +  (via (at 147.828 105.664) (size 0.8) (drill 0.4) (layers Top Bottom) (net 3)) +  (segment (start 147.6782 105.5142) (end 147.828 105.664) (width 0.25) (layer Top) (net 3)) +  (segment (start 146.3929 105.5142) (end 147.6782 105.5142) (width 0.25) (layer Top) (net 3)) +  (segment (start 151.2255 106.512573) (end 151.2255 108.8056) (width 0.25) (layer Bottom) (net 3)) +  (segment (start 150.712117 105.99919) (end 151.2255 106.512573) (width 0.25) (layer Bottom) (net 3)) +  (segment (start 148.16319 105.99919) (end 150.712117 105.99919) (width 0.25) (layer Bottom) (net 3)) +  (segment (start 147.828 105.664) (end 148.16319 105.99919) (width 0.25) (layer Bottom) (net 3)) +  (segment (start 142.37541 105.26741) (end 145.075078 105.26741) (width 0.25) (layer Top) (net 4)) +  (via (at 145.243931 105.098557) (size 0.8) (drill 0.4) (layers Top Bottom) (net 4)) +  (segment (start 142.098 104.99) (end 142.37541 105.26741) (width 0.25) (layer Top) (net 4)) +  (segment (start 142.098 104.24) (end 142.098 104.99) (width 0.25) (layer Top) (net 4)) +  (segment (start 145.075078 105.26741) (end 145.243931 105.098557) (width 0.25) (layer Top) (net 4)) +  (segment (start 145.487743 105.098557) (end 146.1135 104.4728) (width 0.25) (layer Bottom) (net 4)) +  (segment (start 145.243931 105.098557) (end 145.487743 105.098557) (width 0.25) (layer Bottom) (net 4)) +  (segment (start 150.674396 105.392376) (end 151.7255 106.44348) (width 0.25) (layer Bottom) (net 4)) +  (segment (start 150.421816 105.392376) (end 150.674396 105.392376) (width 0.25) (layer Bottom) (net 4)) +  (segment (start 146.1135 104.4728) (end 149.50224 104.4728) (width 0.25) (layer Bottom) (net 4)) +  (segment (start 151.7255 106.44348) (end 151.7255 108.8056) (width 0.25) (layer Bottom) (net 4)) +  (segment (start 149.50224 104.4728) (end 150.421816 105.392376) (width 0.25) (layer Bottom) (net 4)) +  (segment (start 144.0815 104.4728) (end 144.4472 104.4728) (width 0.25) (layer Bottom) (net 5)) +  (segment (start 144.4472 104.4728) (end 145.034 103.886) (width 0.25) (layer Bottom) (net 5)) +  (via (at 145.034 103.886) (size 0.8) (drill 0.4) (layers Top Bottom) (net 5)) +  (segment (start 145.034 103.886) (end 145.007 103.913) (width 0.25) (layer Top) (net 5)) +  (segment (start 145.007 103.913) (end 145.007 104.24) (width 0.25) (layer Top) (net 5)) +  (segment (start 143.398 104.24) (end 145.007 104.24) (width 0.25) (layer Top) (net 5)) +  (segment (start 145.007 104.24) (end 145.381654 104.24) (width 0.25) (layer Top) (net 5)) +  (segment (start 152.2255 108.8056) (end 152.2255 106.193504) (width 0.25) (layer Bottom) (net 5)) +  (segment (start 145.381654 104.24) (end 145.856628 104.714974) (width 0.25) (layer Top) (net 5)) +  (segment (start 145.856628 104.714974) (end 150.74697 104.714974) (width 0.25) (layer Top) (net 5)) +  (via (at 150.74697 104.714974) (size 0.8) (drill 0.4) (layers Top Bottom) (net 5)) +  (segment (start 152.2255 106.193504) (end 150.74697 104.714974) (width 0.25) (layer Bottom) (net 5)) +  (segment (start 144.0815 102.8472) (end 144.803349 102.8472) (width 0.25) (layer Bottom) (net 6)) +  (via (at 144.899309 102.94316) (size 0.8) (drill 0.4) (layers Top Bottom) (net 6)) +  (segment (start 144.803349 102.8472) (end 144.899309 102.94316) (width 0.25) (layer Bottom) (net 6)) +  (segment (start 144.899309 102.94316) (end 145.57107 102.271399) (width 0.25) (layer Top) (net 6)) +  (via (at 148.336 103.52461) (size 0.8) (drill 0.4) (layers Top Bottom) (net 6)) +  (segment (start 147.082789 102.271399) (end 148.336 103.52461) (width 0.25) (layer Top) (net 6)) +  (segment (start 145.57107 102.271399) (end 147.082789 102.271399) (width 0.25) (layer Top) (net 6)) +  (segment (start 152.7255 106.045058) (end 151.490164 104.809722) (width 0.25) (layer Bottom) (net 6)) +  (segment (start 151.490164 104.35972) (end 150.655054 103.52461) (width 0.25) (layer Bottom) (net 6)) +  (segment (start 152.7255 108.8056) (end 152.7255 106.045058) (width 0.25) (layer Bottom) (net 6)) +  (segment (start 151.490164 104.809722) (end 151.490164 104.35972) (width 0.25) (layer Bottom) (net 6)) +  (segment (start 150.655054 103.52461) (end 148.336 103.52461) (width 0.25) (layer Bottom) (net 6)) +  (segment (start 146.2659 103.9902) (end 146.2659 102.9488) (width 0.254) (layer Top) (net 7) (tstamp 63E759C5)) +  (segment (start 153.2255 105.415504) (end 152.231065 104.421069) (width 0.25) (layer Bottom) (net 7)) +  (segment (start 148.842094 104.02107) (end 151.831066 104.02107) (width 0.25) (layer Top) (net 7)) +  (via (at 152.231065 104.421069) (size 0.8) (drill 0.4) (layers Top Bottom) (net 7)) +  (segment (start 148.661153 104.202011) (end 148.842094 104.02107) (width 0.25) (layer Top) (net 7)) +  (segment (start 146.3929 103.9902) (end 146.604711 104.202011) (width 0.25) (layer Top) (net 7)) +  (segment (start 146.604711 104.202011) (end 148.661153 104.202011) (width 0.25) (layer Top) (net 7)) +  (segment (start 151.831066 104.02107) (end 152.231065 104.421069) (width 0.25) (layer Top) (net 7)) +  (segment (start 153.2255 108.8056) (end 153.2255 105.415504) (width 0.25) (layer Bottom) (net 7)) +  (segment (start 144.0815 101.2216) (end 144.283947 101.2216) (width 0.25) (layer Bottom) (net 9)) +  (via (at 144.523679 100.981868) (size 0.8) (drill 0.4) (layers Top Bottom) (net 9)) +  (segment (start 144.283947 101.2216) (end 144.523679 100.981868) (width 0.25) (layer Bottom) (net 9)) +  (segment (start 144.523679 100.981868) (end 145.175547 100.33) (width 0.25) (layer Top) (net 9)) +  (via (at 152.019 102.616) (size 0.8) (drill 0.4) (layers Top Bottom) (net 9)) +  (segment (start 154.2255 104.8225) (end 152.019 102.616) (width 0.25) (layer Bottom) (net 9)) +  (segment (start 154.2255 108.8056) (end 154.2255 104.8225) (width 0.25) (layer Bottom) (net 9)) +  (segment (start 149.733 100.33) (end 147.574 100.33) (width 0.25) (layer Top) (net 9)) +  (segment (start 152.019 102.616) (end 149.733 100.33) (width 0.25) (layer Top) (net 9)) +  (segment (start 147.574 100.33) (end 147.955 100.33) (width 0.25) (layer Top) (net 9)) +  (segment (start 145.175547 100.33) (end 147.574 100.33) (width 0.25) (layer Top) (net 9)) + +) diff --git a/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001.pretty/B1,27.kicad_mod b/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001.pretty/B1,27.kicad_mod new file mode 100644 index 00000000..448fc3c1 --- /dev/null +++ b/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001.pretty/B1,27.kicad_mod @@ -0,0 +1,16 @@ +(module B1,27 (layer F.Cu) (tedit 0) +  (descr "<b>TEST PAD</b>") +  (fp_text reference A1 (at 1.524 0 -180) (layer F.SilkS) +    (effects (font (size 0.7239 0.7239) (thickness 0.130302)) (justify left bottom)) +  ) +  (fp_text value TPB1,27 (at -0.635 0.762 -180) (layer F.Fab) +    (effects (font (size 0.77216 0.77216) (thickness 0.138988)) (justify left bottom)) +  ) +  (fp_line (start -0.635 0) (end 0.635 0) (layer Dwgs.User) (width 0.0024)) +  (fp_line (start 0 -0.635) (end 0 0.635) (layer Dwgs.User) (width 0.0024)) +  (fp_text user >TP_SIGNAL_NAME (at -0.635 1.905) (layer Dwgs.User) +    (effects (font (size 0.95 0.95) (thickness 0.08)) (justify left bottom)) +  ) +  (pad TP smd roundrect (at 0 0) (size 1.27 1.27) (layers F.Cu F.Mask) (roundrect_rratio 0.5) +    (solder_mask_margin 0.0635)) +) diff --git a/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001.pretty/FH19C9S05SH10-FFC.kicad_mod b/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001.pretty/FH19C9S05SH10-FFC.kicad_mod new file mode 100644 index 00000000..61ebf5f7 --- /dev/null +++ b/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001.pretty/FH19C9S05SH10-FFC.kicad_mod @@ -0,0 +1,33 @@ +(module FH19C9S05SH10-FFC (layer F.Cu) (tedit 0) +  (descr "<b>FH19C-9S-0.5SH(10)-1</b><br>\n") +  (fp_text reference U$3 (at 0 0) (layer F.SilkS) hide +    (effects (font (size 1.27 1.27) (thickness 0.15))) +  ) +  (fp_text value FH19C-9S-0.5SH_10-FFC (at 0 0) (layer F.SilkS) hide +    (effects (font (size 1.27 1.27) (thickness 0.15))) +  ) +  (fp_line (start -2.4892 0) (end -2.4892 3.35) (layer Edge.Cuts) (width 0.05)) +  (fp_line (start -2.3392 3.5) (end 2.3392 3.5) (layer Edge.Cuts) (width 0.05)) +  (fp_line (start 2.4892 0) (end 2.4892 3.35) (layer Edge.Cuts) (width 0.05)) +  (fp_arc (start -2.3392 3.35) (end -2.3392 3.5) (angle 90) (layer Edge.Cuts) (width 0.05)) +  (fp_arc (start 2.3392 3.35) (end 2.3392 3.5) (angle -90) (layer Edge.Cuts) (width 0.05)) +  (fp_poly (pts (xy -2.4902 0.9742) (xy 2.4882 0.9742) (xy 2.4892 3.4798) (xy -2.4892 3.4798)) (layer B.Mask) (width 0)) +  (pad 1 smd rect (at 2 2.25 90) (size 2.5 0.347) (layers B.Cu B.Mask) +    (solder_mask_margin 0.0635)) +  (pad 2 smd rect (at 1.5 2.25 90) (size 2.5 0.347) (layers B.Cu B.Mask) +    (solder_mask_margin 0.0635)) +  (pad 3 smd rect (at 1 2.25 90) (size 2.5 0.347) (layers B.Cu B.Mask) +    (solder_mask_margin 0.0635)) +  (pad 4 smd rect (at 0.5 2.25 90) (size 2.5 0.347) (layers B.Cu B.Mask) +    (solder_mask_margin 0.0635)) +  (pad 5 smd rect (at 0 2.25 90) (size 2.5 0.347) (layers B.Cu B.Mask) +    (solder_mask_margin 0.0635)) +  (pad 6 smd rect (at -0.5 2.25 90) (size 2.5 0.347) (layers B.Cu B.Mask) +    (solder_mask_margin 0.0635)) +  (pad 7 smd rect (at -1 2.25 90) (size 2.5 0.347) (layers B.Cu B.Mask) +    (solder_mask_margin 0.0635)) +  (pad 8 smd rect (at -1.5 2.25 90) (size 2.5 0.347) (layers B.Cu B.Mask) +    (solder_mask_margin 0.0635)) +  (pad 9 smd rect (at -2 2.25 90) (size 2.5 0.347) (layers B.Cu B.Mask) +    (solder_mask_margin 0.0635)) +) diff --git a/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001.pretty/_0603MP.kicad_mod b/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001.pretty/_0603MP.kicad_mod new file mode 100644 index 00000000..b242ec47 --- /dev/null +++ b/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001.pretty/_0603MP.kicad_mod @@ -0,0 +1,19 @@ +(module _0603MP (layer F.Cu) (tedit 0) +  (descr "<b>0603 MicroPitch</b>") +  (fp_text reference R1 (at -0.0635 1.7145 -180) (layer F.SilkS) +    (effects (font (size 0.77216 0.77216) (thickness 0.138988)) (justify left bottom)) +  ) +  (fp_text value "1% 10K" (at -0.9525 0.9525 -180) (layer F.Fab) +    (effects (font (size 0.77216 0.77216) (thickness 0.138988)) (justify left bottom)) +  ) +  (fp_line (start -0.432 0.306) (end 0.432 0.306) (layer F.Fab) (width 0.1016)) +  (fp_line (start 0.432 -0.306) (end -0.432 -0.306) (layer F.Fab) (width 0.1016)) +  (fp_line (start 0 -0.254) (end 0 0.254) (layer F.SilkS) (width 0.2032)) +  (fp_poly (pts (xy 0.4318 0.4) (xy 0.8 0.4) (xy 0.8 -0.4) (xy 0.4318 -0.4)) (layer F.Fab) (width 0)) +  (fp_poly (pts (xy -0.8 0.4) (xy -0.4318 0.4) (xy -0.4318 -0.4) (xy -0.8 -0.4)) (layer F.Fab) (width 0)) +  (fp_poly (pts (xy -0.1999 0.25) (xy 0.1999 0.25) (xy 0.1999 -0.25) (xy -0.1999 -0.25)) (layer F.Adhes) (width 0)) +  (pad 1 smd rect (at -0.762 0) (size 0.8 0.8) (layers F.Cu F.Paste F.Mask) +    (solder_mask_margin 0.0635)) +  (pad 2 smd rect (at 0.762 0) (size 0.8 0.8) (layers F.Cu F.Paste F.Mask) +    (solder_mask_margin 0.0635)) +) diff --git a/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001.sch b/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001.sch new file mode 100644 index 00000000..7f0a6a3d --- /dev/null +++ b/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001.sch @@ -0,0 +1,279 @@ +EESchema Schematic File Version 4 +EELAYER 30 0 +EELAYER END +$Descr User 11980 8268 +encoding utf-8 +Sheet 1 1 +Title "" +Date "" +Rev "" +Comp "" +Comment1 "" +Comment2 "" +Comment3 "" +Comment4 "" +$EndDescr +Wire Wire Line +	3300 3100 2200 3100 +Text Label 2300 3100 0    70   ~ 0 +SCL +Wire Wire Line +	3300 3000 2200 3000 +Text Label 2300 3000 0    70   ~ 0 +SDA +Wire Wire Line +	4200 2500 2200 2500 +Wire Wire Line +	4200 2500 4200 2600 +Wire Wire Line +	4300 2500 4200 2500 +Text Label 2300 2500 0    70   ~ 0 +GND +Connection ~ 4200 2500 +Wire Wire Line +	2200 3200 3300 3200 +Text Label 2300 3200 0    70   ~ 0 +A0_TEMP_ENABLE +Wire Wire Line +	4800 3200 5900 3200 +Text Label 4900 3200 0    70   ~ 0 +A0_TEMP_ENABLE +Wire Wire Line +	3300 2600 2200 2600 +Text Label 2300 2600 0    70   ~ 0 +A4_SERCOM3.2_TC3.0 +Wire Wire Line +	3300 2700 2200 2700 +Text Label 2300 2700 0    70   ~ 0 +NC +Wire Wire Line +	3300 2800 2200 2800 +Text Label 2300 2800 0    70   ~ 0 +A2_TEMP_SENSE +Wire Wire Line +	5900 2800 4800 2800 +Connection ~ 5900 2800 +Text Label 4900 2800 0    70   ~ 0 +A2_TEMP_SENSE +Wire Wire Line +	4300 2400 4200 2400 +Wire Wire Line +	4200 2400 2200 2400 +Wire Wire Line +	4200 2300 4200 2400 +Text Label 2300 2400 0    70   ~ 0 +VCC +Connection ~ 4200 2400 +Wire Wire Line +	3300 2900 2200 2900 +Text Label 2300 2900 0    70   ~ 0 +A1_SERCOM3.3_TC3.1 +$Comp +L Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import:A4L-LOC #FRAME1 +U 1 1 73DA64CA +P 900 6200 +F 0 "#FRAME1" H 900 6200 50  0001 C CNN +F 1 "A4L-LOC" H 900 6200 50  0001 C CNN +F 2 "" H 900 6200 50  0001 C CNN +F 3 "" H 900 6200 50  0001 C CNN +	1    900  6200 +	1    0    0    -1   +$EndComp +$Comp +L Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import:FH19C-9S-0.5SH_10-FFC U$3 +U 1 1 54307519 +P 1700 2800 +F 0 "U$3" H 2050 3500 59  0000 L CNN +F 1 "FH19C-9S-0.5SH_10-FFC" H 2050 3400 59  0000 L CNN +F 2 "Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001:FH19C9S05SH10-FFC" H 1700 2800 50  0001 C CNN +F 3 "" H 1700 2800 50  0001 C CNN +	1    1700 2800 +	1    0    0    -1   +$EndComp +$Comp +L Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import:RESISTOR_0603MP RT1 +U 1 1 6C7771A6 +P 5900 2600 +F 0 "RT1" H 5900 2700 50  0000 C CNN +F 1 "NTC 10K" H 5900 2500 40  0000 C CNB +F 2 "Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001:_0603MP" H 5900 2600 50  0001 C CNN +F 3 "" H 5900 2600 50  0001 C CNN +	1    5900 2600 +	0    1    1    0    +$EndComp +$Comp +L Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import:RESISTOR_0603MP R1 +U 1 1 05CBC8DB +P 5900 3000 +F 0 "R1" H 5900 3100 50  0000 C CNN +F 1 "1% 10K" H 5900 2900 40  0000 C CNB +F 2 "Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001:_0603MP" H 5900 3000 50  0001 C CNN +F 3 "" H 5900 3000 50  0001 C CNN +	1    5900 3000 +	0    1    1    0    +$EndComp +$Comp +L Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import:GND #GND01 +U 1 1 DB8695AC +P 4200 2700 +F 0 "#GND01" H 4200 2700 50  0001 C CNN +F 1 "GND" H 4100 2600 59  0000 L BNN +F 2 "" H 4200 2700 50  0001 C CNN +F 3 "" H 4200 2700 50  0001 C CNN +	1    4200 2700 +	1    0    0    -1   +$EndComp +$Comp +L Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import:VCC #P+01 +U 1 1 BCDF72C5 +P 4200 2200 +F 0 "#P+01" H 4200 2200 50  0001 C CNN +F 1 "VCC" V 4100 2200 59  0000 L BNN +F 2 "" H 4200 2200 50  0001 C CNN +F 3 "" H 4200 2200 50  0001 C CNN +	1    4200 2200 +	1    0    0    -1   +$EndComp +$Comp +L Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import:VCC #P+02 +U 1 1 339DE9D3 +P 5900 2300 +F 0 "#P+02" H 5900 2300 50  0001 C CNN +F 1 "VCC" V 5800 2200 59  0000 L BNN +F 2 "" H 5900 2300 50  0001 C CNN +F 3 "" H 5900 2300 50  0001 C CNN +	1    5900 2300 +	1    0    0    -1   +$EndComp +$Comp +L Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import:TPB1,27 GND1 +U 1 1 8E097FD0 +P 4400 2500 +F 0 "GND1" V 4450 2550 59  0000 L BNN +F 1 "TPB1,27" H 4400 2500 50  0001 C CNN +F 2 "Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001:B1,27" H 4400 2500 50  0001 C CNN +F 3 "" H 4400 2500 50  0001 C CNN +	1    4400 2500 +	0    1    1    0    +$EndComp +$Comp +L Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import:TPB1,27 A4 +U 1 1 E65641C5 +P 3400 2600 +F 0 "A4" V 3450 2650 59  0000 L BNN +F 1 "TPB1,27" H 3400 2600 50  0001 C CNN +F 2 "Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001:B1,27" H 3400 2600 50  0001 C CNN +F 3 "" H 3400 2600 50  0001 C CNN +	1    3400 2600 +	0    1    1    0    +$EndComp +$Comp +L Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import:TPB1,27 VCC1 +U 1 1 D0DD1D8E +P 4400 2400 +F 0 "VCC1" V 4350 2450 59  0000 L BNN +F 1 "TPB1,27" H 4400 2400 50  0001 C CNN +F 2 "Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001:B1,27" H 4400 2400 50  0001 C CNN +F 3 "" H 4400 2400 50  0001 C CNN +	1    4400 2400 +	0    1    1    0    +$EndComp +$Comp +L Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import:TPB1,27 SCL1 +U 1 1 252148C1 +P 3400 3100 +F 0 "SCL1" V 3450 3150 59  0000 L BNN +F 1 "TPB1,27" H 3400 3100 50  0001 C CNN +F 2 "Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001:B1,27" H 3400 3100 50  0001 C CNN +F 3 "" H 3400 3100 50  0001 C CNN +	1    3400 3100 +	0    1    1    0    +$EndComp +$Comp +L Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import:TPB1,27 SDA1 +U 1 1 943CED1C +P 3400 3000 +F 0 "SDA1" V 3450 3050 59  0000 L BNN +F 1 "TPB1,27" H 3400 3000 50  0001 C CNN +F 2 "Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001:B1,27" H 3400 3000 50  0001 C CNN +F 3 "" H 3400 3000 50  0001 C CNN +	1    3400 3000 +	0    1    1    0    +$EndComp +$Comp +L Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import:TPB1,27 A1 +U 1 1 E1B0505C +P 3400 2900 +F 0 "A1" V 3450 2950 59  0000 L BNN +F 1 "TPB1,27" H 3400 2900 50  0001 C CNN +F 2 "Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001:B1,27" H 3400 2900 50  0001 C CNN +F 3 "" H 3400 2900 50  0001 C CNN +	1    3400 2900 +	0    1    1    0    +$EndComp +$Comp +L OPT3001DNPT:OPT3001DNPT U1 +U 1 1 63E70E51 +P 7050 3100 +F 0 "U1" H 7050 3767 50  0000 C CNN +F 1 "OPT3001DNPT" H 7050 3676 50  0000 C CNN +F 2 "SON65P200X200X65-7N" H 7050 3100 50  0001 L BNN +F 3 "" H 7050 3100 50  0001 L BNN +F 4 "" H 7050 3100 50  0001 L BNN "EMAX" +F 5 "" H 7050 3100 50  0001 L BNN "BALL_COLUMNS" +F 6 "" H 7050 3100 50  0001 L BNN "BODY_DIAMETER" +F 7 "0.65" H 7050 3100 50  0001 L BNN "ENOM" +F 8 "" H 7050 3100 50  0001 L BNN "D1_MIN" +F 9 "1.9" H 7050 3100 50  0001 L BNN "E_MIN" +F 10 "0.25" H 7050 3100 50  0001 L BNN "L_MIN" +F 11 "2.0" H 7050 3100 50  0001 L BNN "E_NOM" +F 12 "0.65" H 7050 3100 50  0001 L BNN "A_MAX" +F 13 "0.65" H 7050 3100 50  0001 L BNN "E2_NOM" +F 14 "IPC 7351B" H 7050 3100 50  0001 L BNN "STANDARD" +F 15 "01/2018" H 7050 3100 50  0001 L BNN "PARTREV" +F 16 "0.25" H 7050 3100 50  0001 L BNN "B_NOM" +F 17 "" H 7050 3100 50  0001 L BNN "THERMAL_PAD" +F 18 "0.3" H 7050 3100 50  0001 L BNN "B_MAX" +F 19 "0.2" H 7050 3100 50  0001 L BNN "B_MIN" +F 20 "" H 7050 3100 50  0001 L BNN "IPC" +F 21 "" H 7050 3100 50  0001 L BNN "DNOM" +F 22 "6.0" H 7050 3100 50  0001 L BNN "PIN_COUNT" +F 23 "2.1" H 7050 3100 50  0001 L BNN "E_MAX" +F 24 "" H 7050 3100 50  0001 L BNN "JEDEC" +F 25 "" H 7050 3100 50  0001 L BNN "BALL_ROWS" +F 26 "" H 7050 3100 50  0001 L BNN "L1_MIN" +F 27 "" H 7050 3100 50  0001 L BNN "L1_NOM" +F 28 "" H 7050 3100 50  0001 L BNN "DMAX" +F 29 "" H 7050 3100 50  0001 L BNN "PIN_COLUMNS" +F 30 "" H 7050 3100 50  0001 L BNN "VACANCIES" +F 31 "" H 7050 3100 50  0001 L BNN "SNAPEDA_PACKAGE_ID" +F 32 "" H 7050 3100 50  0001 L BNN "DMIN" +F 33 "" H 7050 3100 50  0001 L BNN "L1_MAX" +F 34 "0.35" H 7050 3100 50  0001 L BNN "L_MAX" +F 35 "" H 7050 3100 50  0001 L BNN "D1_NOM" +F 36 "Texas Instruments" H 7050 3100 50  0001 L BNN "MANUFACTURER" +F 37 "1.35" H 7050 3100 50  0001 L BNN "D2_NOM" +F 38 "" H 7050 3100 50  0001 L BNN "PACKAGE_TYPE" +F 39 "" H 7050 3100 50  0001 L BNN "D1_MAX" +F 40 "0.3" H 7050 3100 50  0001 L BNN "L_NOM" +F 41 "2.1" H 7050 3100 50  0001 L BNN "D_MAX" +F 42 "2.0" H 7050 3100 50  0001 L BNN "D_NOM" +F 43 "" H 7050 3100 50  0001 L BNN "PINS" +F 44 "1.9" H 7050 3100 50  0001 L BNN "D_MIN" +F 45 "" H 7050 3100 50  0001 L BNN "EMIN" +	1    7050 3100 +	1    0    0    -1   +$EndComp +NoConn ~ 7650 3200 +NoConn ~ 7650 2900 +Text Label 7650 2700 0    50   ~ 0 +VCC +Text Label 7650 3400 0    50   ~ 0 +GND +Text Label 6450 2900 2    50   ~ 0 +GND +Text Label 6450 3100 2    50   ~ 0 +SCL +Text Label 6450 3200 2    50   ~ 0 +SDA +$EndSCHEMATC diff --git a/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001.sch-bak b/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001.sch-bak new file mode 100644 index 00000000..7f0a6a3d --- /dev/null +++ b/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001.sch-bak @@ -0,0 +1,279 @@ +EESchema Schematic File Version 4 +EELAYER 30 0 +EELAYER END +$Descr User 11980 8268 +encoding utf-8 +Sheet 1 1 +Title "" +Date "" +Rev "" +Comp "" +Comment1 "" +Comment2 "" +Comment3 "" +Comment4 "" +$EndDescr +Wire Wire Line +	3300 3100 2200 3100 +Text Label 2300 3100 0    70   ~ 0 +SCL +Wire Wire Line +	3300 3000 2200 3000 +Text Label 2300 3000 0    70   ~ 0 +SDA +Wire Wire Line +	4200 2500 2200 2500 +Wire Wire Line +	4200 2500 4200 2600 +Wire Wire Line +	4300 2500 4200 2500 +Text Label 2300 2500 0    70   ~ 0 +GND +Connection ~ 4200 2500 +Wire Wire Line +	2200 3200 3300 3200 +Text Label 2300 3200 0    70   ~ 0 +A0_TEMP_ENABLE +Wire Wire Line +	4800 3200 5900 3200 +Text Label 4900 3200 0    70   ~ 0 +A0_TEMP_ENABLE +Wire Wire Line +	3300 2600 2200 2600 +Text Label 2300 2600 0    70   ~ 0 +A4_SERCOM3.2_TC3.0 +Wire Wire Line +	3300 2700 2200 2700 +Text Label 2300 2700 0    70   ~ 0 +NC +Wire Wire Line +	3300 2800 2200 2800 +Text Label 2300 2800 0    70   ~ 0 +A2_TEMP_SENSE +Wire Wire Line +	5900 2800 4800 2800 +Connection ~ 5900 2800 +Text Label 4900 2800 0    70   ~ 0 +A2_TEMP_SENSE +Wire Wire Line +	4300 2400 4200 2400 +Wire Wire Line +	4200 2400 2200 2400 +Wire Wire Line +	4200 2300 4200 2400 +Text Label 2300 2400 0    70   ~ 0 +VCC +Connection ~ 4200 2400 +Wire Wire Line +	3300 2900 2200 2900 +Text Label 2300 2900 0    70   ~ 0 +A1_SERCOM3.3_TC3.1 +$Comp +L Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import:A4L-LOC #FRAME1 +U 1 1 73DA64CA +P 900 6200 +F 0 "#FRAME1" H 900 6200 50  0001 C CNN +F 1 "A4L-LOC" H 900 6200 50  0001 C CNN +F 2 "" H 900 6200 50  0001 C CNN +F 3 "" H 900 6200 50  0001 C CNN +	1    900  6200 +	1    0    0    -1   +$EndComp +$Comp +L Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import:FH19C-9S-0.5SH_10-FFC U$3 +U 1 1 54307519 +P 1700 2800 +F 0 "U$3" H 2050 3500 59  0000 L CNN +F 1 "FH19C-9S-0.5SH_10-FFC" H 2050 3400 59  0000 L CNN +F 2 "Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001:FH19C9S05SH10-FFC" H 1700 2800 50  0001 C CNN +F 3 "" H 1700 2800 50  0001 C CNN +	1    1700 2800 +	1    0    0    -1   +$EndComp +$Comp +L Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import:RESISTOR_0603MP RT1 +U 1 1 6C7771A6 +P 5900 2600 +F 0 "RT1" H 5900 2700 50  0000 C CNN +F 1 "NTC 10K" H 5900 2500 40  0000 C CNB +F 2 "Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001:_0603MP" H 5900 2600 50  0001 C CNN +F 3 "" H 5900 2600 50  0001 C CNN +	1    5900 2600 +	0    1    1    0    +$EndComp +$Comp +L Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import:RESISTOR_0603MP R1 +U 1 1 05CBC8DB +P 5900 3000 +F 0 "R1" H 5900 3100 50  0000 C CNN +F 1 "1% 10K" H 5900 2900 40  0000 C CNB +F 2 "Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001:_0603MP" H 5900 3000 50  0001 C CNN +F 3 "" H 5900 3000 50  0001 C CNN +	1    5900 3000 +	0    1    1    0    +$EndComp +$Comp +L Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import:GND #GND01 +U 1 1 DB8695AC +P 4200 2700 +F 0 "#GND01" H 4200 2700 50  0001 C CNN +F 1 "GND" H 4100 2600 59  0000 L BNN +F 2 "" H 4200 2700 50  0001 C CNN +F 3 "" H 4200 2700 50  0001 C CNN +	1    4200 2700 +	1    0    0    -1   +$EndComp +$Comp +L Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import:VCC #P+01 +U 1 1 BCDF72C5 +P 4200 2200 +F 0 "#P+01" H 4200 2200 50  0001 C CNN +F 1 "VCC" V 4100 2200 59  0000 L BNN +F 2 "" H 4200 2200 50  0001 C CNN +F 3 "" H 4200 2200 50  0001 C CNN +	1    4200 2200 +	1    0    0    -1   +$EndComp +$Comp +L Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import:VCC #P+02 +U 1 1 339DE9D3 +P 5900 2300 +F 0 "#P+02" H 5900 2300 50  0001 C CNN +F 1 "VCC" V 5800 2200 59  0000 L BNN +F 2 "" H 5900 2300 50  0001 C CNN +F 3 "" H 5900 2300 50  0001 C CNN +	1    5900 2300 +	1    0    0    -1   +$EndComp +$Comp +L Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import:TPB1,27 GND1 +U 1 1 8E097FD0 +P 4400 2500 +F 0 "GND1" V 4450 2550 59  0000 L BNN +F 1 "TPB1,27" H 4400 2500 50  0001 C CNN +F 2 "Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001:B1,27" H 4400 2500 50  0001 C CNN +F 3 "" H 4400 2500 50  0001 C CNN +	1    4400 2500 +	0    1    1    0    +$EndComp +$Comp +L Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import:TPB1,27 A4 +U 1 1 E65641C5 +P 3400 2600 +F 0 "A4" V 3450 2650 59  0000 L BNN +F 1 "TPB1,27" H 3400 2600 50  0001 C CNN +F 2 "Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001:B1,27" H 3400 2600 50  0001 C CNN +F 3 "" H 3400 2600 50  0001 C CNN +	1    3400 2600 +	0    1    1    0    +$EndComp +$Comp +L Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import:TPB1,27 VCC1 +U 1 1 D0DD1D8E +P 4400 2400 +F 0 "VCC1" V 4350 2450 59  0000 L BNN +F 1 "TPB1,27" H 4400 2400 50  0001 C CNN +F 2 "Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001:B1,27" H 4400 2400 50  0001 C CNN +F 3 "" H 4400 2400 50  0001 C CNN +	1    4400 2400 +	0    1    1    0    +$EndComp +$Comp +L Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import:TPB1,27 SCL1 +U 1 1 252148C1 +P 3400 3100 +F 0 "SCL1" V 3450 3150 59  0000 L BNN +F 1 "TPB1,27" H 3400 3100 50  0001 C CNN +F 2 "Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001:B1,27" H 3400 3100 50  0001 C CNN +F 3 "" H 3400 3100 50  0001 C CNN +	1    3400 3100 +	0    1    1    0    +$EndComp +$Comp +L Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import:TPB1,27 SDA1 +U 1 1 943CED1C +P 3400 3000 +F 0 "SDA1" V 3450 3050 59  0000 L BNN +F 1 "TPB1,27" H 3400 3000 50  0001 C CNN +F 2 "Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001:B1,27" H 3400 3000 50  0001 C CNN +F 3 "" H 3400 3000 50  0001 C CNN +	1    3400 3000 +	0    1    1    0    +$EndComp +$Comp +L Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import:TPB1,27 A1 +U 1 1 E1B0505C +P 3400 2900 +F 0 "A1" V 3450 2950 59  0000 L BNN +F 1 "TPB1,27" H 3400 2900 50  0001 C CNN +F 2 "Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001:B1,27" H 3400 2900 50  0001 C CNN +F 3 "" H 3400 2900 50  0001 C CNN +	1    3400 2900 +	0    1    1    0    +$EndComp +$Comp +L OPT3001DNPT:OPT3001DNPT U1 +U 1 1 63E70E51 +P 7050 3100 +F 0 "U1" H 7050 3767 50  0000 C CNN +F 1 "OPT3001DNPT" H 7050 3676 50  0000 C CNN +F 2 "SON65P200X200X65-7N" H 7050 3100 50  0001 L BNN +F 3 "" H 7050 3100 50  0001 L BNN +F 4 "" H 7050 3100 50  0001 L BNN "EMAX" +F 5 "" H 7050 3100 50  0001 L BNN "BALL_COLUMNS" +F 6 "" H 7050 3100 50  0001 L BNN "BODY_DIAMETER" +F 7 "0.65" H 7050 3100 50  0001 L BNN "ENOM" +F 8 "" H 7050 3100 50  0001 L BNN "D1_MIN" +F 9 "1.9" H 7050 3100 50  0001 L BNN "E_MIN" +F 10 "0.25" H 7050 3100 50  0001 L BNN "L_MIN" +F 11 "2.0" H 7050 3100 50  0001 L BNN "E_NOM" +F 12 "0.65" H 7050 3100 50  0001 L BNN "A_MAX" +F 13 "0.65" H 7050 3100 50  0001 L BNN "E2_NOM" +F 14 "IPC 7351B" H 7050 3100 50  0001 L BNN "STANDARD" +F 15 "01/2018" H 7050 3100 50  0001 L BNN "PARTREV" +F 16 "0.25" H 7050 3100 50  0001 L BNN "B_NOM" +F 17 "" H 7050 3100 50  0001 L BNN "THERMAL_PAD" +F 18 "0.3" H 7050 3100 50  0001 L BNN "B_MAX" +F 19 "0.2" H 7050 3100 50  0001 L BNN "B_MIN" +F 20 "" H 7050 3100 50  0001 L BNN "IPC" +F 21 "" H 7050 3100 50  0001 L BNN "DNOM" +F 22 "6.0" H 7050 3100 50  0001 L BNN "PIN_COUNT" +F 23 "2.1" H 7050 3100 50  0001 L BNN "E_MAX" +F 24 "" H 7050 3100 50  0001 L BNN "JEDEC" +F 25 "" H 7050 3100 50  0001 L BNN "BALL_ROWS" +F 26 "" H 7050 3100 50  0001 L BNN "L1_MIN" +F 27 "" H 7050 3100 50  0001 L BNN "L1_NOM" +F 28 "" H 7050 3100 50  0001 L BNN "DMAX" +F 29 "" H 7050 3100 50  0001 L BNN "PIN_COLUMNS" +F 30 "" H 7050 3100 50  0001 L BNN "VACANCIES" +F 31 "" H 7050 3100 50  0001 L BNN "SNAPEDA_PACKAGE_ID" +F 32 "" H 7050 3100 50  0001 L BNN "DMIN" +F 33 "" H 7050 3100 50  0001 L BNN "L1_MAX" +F 34 "0.35" H 7050 3100 50  0001 L BNN "L_MAX" +F 35 "" H 7050 3100 50  0001 L BNN "D1_NOM" +F 36 "Texas Instruments" H 7050 3100 50  0001 L BNN "MANUFACTURER" +F 37 "1.35" H 7050 3100 50  0001 L BNN "D2_NOM" +F 38 "" H 7050 3100 50  0001 L BNN "PACKAGE_TYPE" +F 39 "" H 7050 3100 50  0001 L BNN "D1_MAX" +F 40 "0.3" H 7050 3100 50  0001 L BNN "L_NOM" +F 41 "2.1" H 7050 3100 50  0001 L BNN "D_MAX" +F 42 "2.0" H 7050 3100 50  0001 L BNN "D_NOM" +F 43 "" H 7050 3100 50  0001 L BNN "PINS" +F 44 "1.9" H 7050 3100 50  0001 L BNN "D_MIN" +F 45 "" H 7050 3100 50  0001 L BNN "EMIN" +	1    7050 3100 +	1    0    0    -1   +$EndComp +NoConn ~ 7650 3200 +NoConn ~ 7650 2900 +Text Label 7650 2700 0    50   ~ 0 +VCC +Text Label 7650 3400 0    50   ~ 0 +GND +Text Label 6450 2900 2    50   ~ 0 +GND +Text Label 6450 3100 2    50   ~ 0 +SCL +Text Label 6450 3200 2    50   ~ 0 +SDA +$EndSCHEMATC diff --git a/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import.dcm b/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import.dcm new file mode 100644 index 00000000..5f3ed79b --- /dev/null +++ b/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import.dcm @@ -0,0 +1,3 @@ +EESchema-DOCLIB  Version 2.0 +# +#End Doc Library diff --git a/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import.lib b/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import.lib new file mode 100644 index 00000000..b3b54896 --- /dev/null +++ b/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import.lib @@ -0,0 +1,990 @@ +EESchema-LIBRARY Version 2.4 +#encoding utf-8 +# +# A4L-LOC +# +DEF A4L-LOC #FRAME 0 40 Y Y 1 L N +F0 "#FRAME" 0 0 50 H I C CNN +F1 "A4L-LOC" 0 0 50 H I C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +T 0 8550 600 85 0 1 0 >DRAWING_NAME Normal 0 L B +T 0 8550 400 76 0 1 0 >LAST_DATE_TIME Normal 0 L B +T 0 8995 200 85 0 1 0 >SHEET Normal 0 L B +T 0 8550 800 85 0 1 0 "by joey castillo" Normal 0 L B +T 0 9300 200 85 0 1 0 "cc-by-sa 4.0" Normal 0 L B +T 0 7300 200 180 0 1 0 oddly_specific_objects Normal 0 L B +T 0 8540 195 85 0 1 0 Sheet: Normal 0 L B +P 2 1 0 0 7250 150 7250 950 N +P 2 1 0 0 7250 950 8475 950 N +P 2 1 0 0 8475 350 8475 150 N +P 2 1 0 0 8475 350 8475 550 N +P 2 1 0 0 8475 550 8475 750 N +P 2 1 0 0 8475 550 10100 550 N +P 2 1 0 0 8475 750 8475 950 N +P 2 1 0 0 8475 750 10100 750 N +P 2 1 0 0 8475 950 10100 950 N +P 2 1 0 0 9250 150 9250 350 N +P 2 1 0 0 9250 350 8475 350 N +P 2 1 0 0 9250 350 10100 350 N +P 2 1 0 0 10100 150 10100 350 N +P 2 1 0 0 10100 350 10100 550 N +P 2 1 0 0 10100 550 10100 750 N +P 2 1 0 0 10100 750 10100 950 N +ENDDRAW +ENDDEF +# +# FH19C-9S-0.5SH_10-FFC +# +DEF FH19C-9S-0.5SH_10-FFC ~ 0 40 Y Y 1 L N +F0 "" 350 700 59 H V L CNN +F1 "FH19C-9S-0.5SH_10-FFC" 350 600 59 H V L CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +P 2 1 0 0 -200 500 -200 -500 N +P 2 1 0 0 -200 500 300 500 N +P 2 1 0 0 300 -500 -200 -500 N +P 2 1 0 0 300 -500 300 500 N +X 1 1 500 400 200 L 50 50 1 0 B +X 2 2 500 300 200 L 50 50 1 0 B +X 3 3 500 200 200 L 50 50 1 0 B +X 4 4 500 100 200 L 50 50 1 0 B +X 5 5 500 0 200 L 50 50 1 0 B +X 6 6 500 -100 200 L 50 50 1 0 B +X 7 7 500 -200 200 L 50 50 1 0 B +X 8 8 500 -300 200 L 50 50 1 0 B +X 9 9 500 -400 200 L 50 50 1 0 B +ENDDRAW +ENDDEF +# +# GND +# +DEF GND #GND 0 40 Y Y 1 L P +F0 "#GND" 0 0 50 H I C CNN +F1 "GND" -100 -100 59 H V L BNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +P 2 1 0 0 -75 0 75 0 N +X GND 1 0 100 100 D 0 0 1 0 W +ENDDRAW +ENDDEF +# +# RESISTOR0603MINI +# +DEF RESISTOR0603MINI R 0 40 Y Y 1 L N +F0 "R" 0 100 50 H V C CNN +F1 "RESISTOR0603MINI" 0 0 40 H V C CNB +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +P 2 1 0 0 -100 -50 -100 50 N +P 2 1 0 0 -100 50 100 50 N +P 2 1 0 0 100 -50 -100 -50 N +P 2 1 0 0 100 50 100 -50 N +X 1 1 -200 0 100 R 0 0 1 0 P +X 2 2 200 0 100 L 0 0 1 0 P +ENDDRAW +ENDDEF +# +# RESISTOR0805_10MGAP +# +DEF RESISTOR0805_10MGAP R 0 40 Y Y 1 L N +F0 "R" 0 100 50 H V C CNN +F1 "RESISTOR0805_10MGAP" 0 0 40 H V C CNB +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +P 2 1 0 0 -100 -50 -100 50 N +P 2 1 0 0 -100 50 100 50 N +P 2 1 0 0 100 -50 -100 -50 N +P 2 1 0 0 100 50 100 -50 N +X 1 1 -200 0 100 R 0 0 1 0 P +X 2 2 200 0 100 L 0 0 1 0 P +ENDDRAW +ENDDEF +# +# RESISTOR0805_NOOUTLINE +# +DEF RESISTOR0805_NOOUTLINE R 0 40 Y Y 1 L N +F0 "R" 0 100 50 H V C CNN +F1 "RESISTOR0805_NOOUTLINE" 0 0 40 H V C CNB +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +P 2 1 0 0 -100 -50 -100 50 N +P 2 1 0 0 -100 50 100 50 N +P 2 1 0 0 100 -50 -100 -50 N +P 2 1 0 0 100 50 100 -50 N +X 1 1 -200 0 100 R 0 0 1 0 P +X 2 2 200 0 100 L 0 0 1 0 P +ENDDRAW +ENDDEF +# +# RESISTOR0805_NOTHERMALS +# +DEF RESISTOR0805_NOTHERMALS R 0 40 Y Y 1 L N +F0 "R" 0 100 50 H V C CNN +F1 "RESISTOR0805_NOTHERMALS" 0 0 40 H V C CNB +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +P 2 1 0 0 -100 -50 -100 50 N +P 2 1 0 0 -100 50 100 50 N +P 2 1 0 0 100 -50 -100 -50 N +P 2 1 0 0 100 50 100 -50 N +X 1 1 -200 0 100 R 0 0 1 0 P +X 2 2 200 0 100 L 0 0 1 0 P +ENDDRAW +ENDDEF +# +# RESISTOR2012 +# +DEF RESISTOR2012 R 0 40 Y Y 1 L N +F0 "R" 0 100 50 H V C CNN +F1 "RESISTOR2012" 0 0 40 H V C CNB +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +P 2 1 0 0 -100 -50 -100 50 N +P 2 1 0 0 -100 50 100 50 N +P 2 1 0 0 100 -50 -100 -50 N +P 2 1 0 0 100 50 100 -50 N +X 1 1 -200 0 100 R 0 0 1 0 P +X 2 2 200 0 100 L 0 0 1 0 P +ENDDRAW +ENDDEF +# +# RESISTOR2512 +# +DEF RESISTOR2512 R 0 40 Y Y 1 L N +F0 "R" 0 100 50 H V C CNN +F1 "RESISTOR2512" 0 0 40 H V C CNB +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +P 2 1 0 0 -100 -50 -100 50 N +P 2 1 0 0 -100 50 100 50 N +P 2 1 0 0 100 -50 -100 -50 N +P 2 1 0 0 100 50 100 -50 N +X 1 1 -200 0 100 R 0 0 1 0 P +X 2 2 200 0 100 L 0 0 1 0 P +ENDDRAW +ENDDEF +# +# RESISTOR_0402 +# +DEF RESISTOR_0402 R 0 40 Y Y 1 L N +F0 "R" 0 100 50 H V C CNN +F1 "RESISTOR_0402" 0 0 40 H V C CNB +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +P 2 1 0 0 -100 -50 -100 50 N +P 2 1 0 0 -100 50 100 50 N +P 2 1 0 0 100 -50 -100 -50 N +P 2 1 0 0 100 50 100 -50 N +X 1 1 -200 0 100 R 0 0 1 0 P +X 2 2 200 0 100 L 0 0 1 0 P +ENDDRAW +ENDDEF +# +# RESISTOR_0402MP +# +DEF RESISTOR_0402MP R 0 40 Y Y 1 L N +F0 "R" 0 100 50 H V C CNN +F1 "RESISTOR_0402MP" 0 0 40 H V C CNB +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +P 2 1 0 0 -100 -50 -100 50 N +P 2 1 0 0 -100 50 100 50 N +P 2 1 0 0 100 -50 -100 -50 N +P 2 1 0 0 100 50 100 -50 N +X 1 1 -200 0 100 R 0 0 1 0 P +X 2 2 200 0 100 L 0 0 1 0 P +ENDDRAW +ENDDEF +# +# RESISTOR_0603 +# +DEF RESISTOR_0603 R 0 40 Y Y 1 L N +F0 "R" 0 100 50 H V C CNN +F1 "RESISTOR_0603" 0 0 40 H V C CNB +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +P 2 1 0 0 -100 -50 -100 50 N +P 2 1 0 0 -100 50 100 50 N +P 2 1 0 0 100 -50 -100 -50 N +P 2 1 0 0 100 50 100 -50 N +X 1 1 -200 0 100 R 0 0 1 0 P +X 2 2 200 0 100 L 0 0 1 0 P +ENDDRAW +ENDDEF +# +# RESISTOR_0603MP +# +DEF RESISTOR_0603MP R 0 40 Y Y 1 L N +F0 "R" 0 100 50 H V C CNN +F1 "RESISTOR_0603MP" 0 0 40 H V C CNB +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +P 2 1 0 0 -100 -50 -100 50 N +P 2 1 0 0 -100 50 100 50 N +P 2 1 0 0 100 -50 -100 -50 N +P 2 1 0 0 100 50 100 -50 N +X 1 1 -200 0 100 R 0 0 1 0 P +X 2 2 200 0 100 L 0 0 1 0 P +ENDDRAW +ENDDEF +# +# RESISTOR_0603_NOOUT +# +DEF RESISTOR_0603_NOOUT R 0 40 Y Y 1 L N +F0 "R" 0 100 50 H V C CNN +F1 "RESISTOR_0603_NOOUT" 0 0 40 H V C CNB +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +P 2 1 0 0 -100 -50 -100 50 N +P 2 1 0 0 -100 50 100 50 N +P 2 1 0 0 100 -50 -100 -50 N +P 2 1 0 0 100 50 100 -50 N +X 1 1 -200 0 100 R 0 0 1 0 P +X 2 2 200 0 100 L 0 0 1 0 P +ENDDRAW +ENDDEF +# +# RESISTOR_0805 +# +DEF RESISTOR_0805 R 0 40 Y Y 1 L N +F0 "R" 0 100 50 H V C CNN +F1 "RESISTOR_0805" 0 0 40 H V C CNB +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +P 2 1 0 0 -100 -50 -100 50 N +P 2 1 0 0 -100 50 100 50 N +P 2 1 0 0 100 -50 -100 -50 N +P 2 1 0 0 100 50 100 -50 N +X 1 1 -200 0 100 R 0 0 1 0 P +X 2 2 200 0 100 L 0 0 1 0 P +ENDDRAW +ENDDEF +# +# RESISTOR_0805MP +# +DEF RESISTOR_0805MP R 0 40 Y Y 1 L N +F0 "R" 0 100 50 H V C CNN +F1 "RESISTOR_0805MP" 0 0 40 H V C CNB +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +P 2 1 0 0 -100 -50 -100 50 N +P 2 1 0 0 -100 50 100 50 N +P 2 1 0 0 100 -50 -100 -50 N +P 2 1 0 0 100 50 100 -50 N +X 1 1 -200 0 100 R 0 0 1 0 P +X 2 2 200 0 100 L 0 0 1 0 P +ENDDRAW +ENDDEF +# +# RESISTOR_1206 +# +DEF RESISTOR_1206 R 0 40 Y Y 1 L N +F0 "R" 0 100 50 H V C CNN +F1 "RESISTOR_1206" 0 0 40 H V C CNB +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +P 2 1 0 0 -100 -50 -100 50 N +P 2 1 0 0 -100 50 100 50 N +P 2 1 0 0 100 -50 -100 -50 N +P 2 1 0 0 100 50 100 -50 N +X 1 1 -200 0 100 R 0 0 1 0 P +X 2 2 200 0 100 L 0 0 1 0 P +ENDDRAW +ENDDEF +# +# RESISTOR_1206MP +# +DEF RESISTOR_1206MP R 0 40 Y Y 1 L N +F0 "R" 0 100 50 H V C CNN +F1 "RESISTOR_1206MP" 0 0 40 H V C CNB +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +P 2 1 0 0 -100 -50 -100 50 N +P 2 1 0 0 -100 50 100 50 N +P 2 1 0 0 100 -50 -100 -50 N +P 2 1 0 0 100 50 100 -50 N +X 1 1 -200 0 100 R 0 0 1 0 P +X 2 2 200 0 100 L 0 0 1 0 P +ENDDRAW +ENDDEF +# +# TPB1,27 +# +DEF TPB1,27 TP 0 40 Y Y 1 L N +F0 "TP" -50 50 59 H V L BNN +F1 "TPB1,27" 0 0 50 H I C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +T 0 50 -50 59 0 1 0 >TP_SIGNAL_NAME Normal 0 L B +P 2 1 0 0 -30 -30 0 0 N +P 2 1 0 0 0 -60 -30 -30 N +P 2 1 0 0 0 0 30 -30 N +P 2 1 0 0 30 -30 0 -60 N +X TP TP 0 -100 100 U 0 0 1 0 I +ENDDRAW +ENDDEF +# +# TPB2,54 +# +DEF TPB2,54 TP 0 40 Y Y 1 L N +F0 "TP" -50 50 59 H V L BNN +F1 "TPB2,54" 0 0 50 H I C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +T 0 50 -50 59 0 1 0 >TP_SIGNAL_NAME Normal 0 L B +P 2 1 0 0 -30 -30 0 0 N +P 2 1 0 0 0 -60 -30 -30 N +P 2 1 0 0 0 0 30 -30 N +P 2 1 0 0 30 -30 0 -60 N +X TP TP 0 -100 100 U 0 0 1 0 I +ENDDRAW +ENDDEF +# +# TPPAD1-13 +# +DEF TPPAD1-13 TP 0 40 Y Y 1 L N +F0 "TP" -50 50 59 H V L BNN +F1 "TPPAD1-13" 0 0 50 H I C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +T 0 50 -50 59 0 1 0 >TP_SIGNAL_NAME Normal 0 L B +P 2 1 0 0 -30 -30 0 0 N +P 2 1 0 0 0 -60 -30 -30 N +P 2 1 0 0 0 0 30 -30 N +P 2 1 0 0 30 -30 0 -60 N +X TP TP 0 -100 100 U 0 0 1 0 I +ENDDRAW +ENDDEF +# +# TPPAD1-13Y +# +DEF TPPAD1-13Y TP 0 40 Y Y 1 L N +F0 "TP" -50 50 59 H V L BNN +F1 "TPPAD1-13Y" 0 0 50 H I C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +T 0 50 -50 59 0 1 0 >TP_SIGNAL_NAME Normal 0 L B +P 2 1 0 0 -30 -30 0 0 N +P 2 1 0 0 0 -60 -30 -30 N +P 2 1 0 0 0 0 30 -30 N +P 2 1 0 0 30 -30 0 -60 N +X TP TP 0 -100 100 U 0 0 1 0 I +ENDDRAW +ENDDEF +# +# TPPAD1-17 +# +DEF TPPAD1-17 TP 0 40 Y Y 1 L N +F0 "TP" -50 50 59 H V L BNN +F1 "TPPAD1-17" 0 0 50 H I C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +T 0 50 -50 59 0 1 0 >TP_SIGNAL_NAME Normal 0 L B +P 2 1 0 0 -30 -30 0 0 N +P 2 1 0 0 0 -60 -30 -30 N +P 2 1 0 0 0 0 30 -30 N +P 2 1 0 0 30 -30 0 -60 N +X TP TP 0 -100 100 U 0 0 1 0 I +ENDDRAW +ENDDEF +# +# TPPAD1-17Y +# +DEF TPPAD1-17Y TP 0 40 Y Y 1 L N +F0 "TP" -50 50 59 H V L BNN +F1 "TPPAD1-17Y" 0 0 50 H I C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +T 0 50 -50 59 0 1 0 >TP_SIGNAL_NAME Normal 0 L B +P 2 1 0 0 -30 -30 0 0 N +P 2 1 0 0 0 -60 -30 -30 N +P 2 1 0 0 0 0 30 -30 N +P 2 1 0 0 30 -30 0 -60 N +X TP TP 0 -100 100 U 0 0 1 0 I +ENDDRAW +ENDDEF +# +# TPPAD1-20 +# +DEF TPPAD1-20 TP 0 40 Y Y 1 L N +F0 "TP" -50 50 59 H V L BNN +F1 "TPPAD1-20" 0 0 50 H I C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +T 0 50 -50 59 0 1 0 >TP_SIGNAL_NAME Normal 0 L B +P 2 1 0 0 -30 -30 0 0 N +P 2 1 0 0 0 -60 -30 -30 N +P 2 1 0 0 0 0 30 -30 N +P 2 1 0 0 30 -30 0 -60 N +X TP TP 0 -100 100 U 0 0 1 0 I +ENDDRAW +ENDDEF +# +# TPPAD1-20Y +# +DEF TPPAD1-20Y TP 0 40 Y Y 1 L N +F0 "TP" -50 50 59 H V L BNN +F1 "TPPAD1-20Y" 0 0 50 H I C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +T 0 50 -50 59 0 1 0 >TP_SIGNAL_NAME Normal 0 L B +P 2 1 0 0 -30 -30 0 0 N +P 2 1 0 0 0 -60 -30 -30 N +P 2 1 0 0 0 0 30 -30 N +P 2 1 0 0 30 -30 0 -60 N +X TP TP 0 -100 100 U 0 0 1 0 I +ENDDRAW +ENDDEF +# +# TPTP06R +# +DEF TPTP06R TP 0 40 Y Y 1 L N +F0 "TP" -50 50 59 H V L BNN +F1 "TPTP06R" 0 0 50 H I C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +T 0 50 -50 59 0 1 0 >TP_SIGNAL_NAME Normal 0 L B +P 2 1 0 0 -30 -30 0 0 N +P 2 1 0 0 0 -60 -30 -30 N +P 2 1 0 0 0 0 30 -30 N +P 2 1 0 0 30 -30 0 -60 N +X TP TP 0 -100 100 U 0 0 1 0 I +ENDDRAW +ENDDEF +# +# TPTP06SQ +# +DEF TPTP06SQ TP 0 40 Y Y 1 L N +F0 "TP" -50 50 59 H V L BNN +F1 "TPTP06SQ" 0 0 50 H I C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +T 0 50 -50 59 0 1 0 >TP_SIGNAL_NAME Normal 0 L B +P 2 1 0 0 -30 -30 0 0 N +P 2 1 0 0 0 -60 -30 -30 N +P 2 1 0 0 0 0 30 -30 N +P 2 1 0 0 30 -30 0 -60 N +X TP TP 0 -100 100 U 0 0 1 0 I +ENDDRAW +ENDDEF +# +# TPTP07R +# +DEF TPTP07R TP 0 40 Y Y 1 L N +F0 "TP" -50 50 59 H V L BNN +F1 "TPTP07R" 0 0 50 H I C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +T 0 50 -50 59 0 1 0 >TP_SIGNAL_NAME Normal 0 L B +P 2 1 0 0 -30 -30 0 0 N +P 2 1 0 0 0 -60 -30 -30 N +P 2 1 0 0 0 0 30 -30 N +P 2 1 0 0 30 -30 0 -60 N +X TP TP 0 -100 100 U 0 0 1 0 I +ENDDRAW +ENDDEF +# +# TPTP07SQ +# +DEF TPTP07SQ TP 0 40 Y Y 1 L N +F0 "TP" -50 50 59 H V L BNN +F1 "TPTP07SQ" 0 0 50 H I C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +T 0 50 -50 59 0 1 0 >TP_SIGNAL_NAME Normal 0 L B +P 2 1 0 0 -30 -30 0 0 N +P 2 1 0 0 0 -60 -30 -30 N +P 2 1 0 0 0 0 30 -30 N +P 2 1 0 0 30 -30 0 -60 N +X TP TP 0 -100 100 U 0 0 1 0 I +ENDDRAW +ENDDEF +# +# TPTP08R +# +DEF TPTP08R TP 0 40 Y Y 1 L N +F0 "TP" -50 50 59 H V L BNN +F1 "TPTP08R" 0 0 50 H I C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +T 0 50 -50 59 0 1 0 >TP_SIGNAL_NAME Normal 0 L B +P 2 1 0 0 -30 -30 0 0 N +P 2 1 0 0 0 -60 -30 -30 N +P 2 1 0 0 0 0 30 -30 N +P 2 1 0 0 30 -30 0 -60 N +X TP TP 0 -100 100 U 0 0 1 0 I +ENDDRAW +ENDDEF +# +# TPTP08SQ +# +DEF TPTP08SQ TP 0 40 Y Y 1 L N +F0 "TP" -50 50 59 H V L BNN +F1 "TPTP08SQ" 0 0 50 H I C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +T 0 50 -50 59 0 1 0 >TP_SIGNAL_NAME Normal 0 L B +P 2 1 0 0 -30 -30 0 0 N +P 2 1 0 0 0 -60 -30 -30 N +P 2 1 0 0 0 0 30 -30 N +P 2 1 0 0 30 -30 0 -60 N +X TP TP 0 -100 100 U 0 0 1 0 I +ENDDRAW +ENDDEF +# +# TPTP09R +# +DEF TPTP09R TP 0 40 Y Y 1 L N +F0 "TP" -50 50 59 H V L BNN +F1 "TPTP09R" 0 0 50 H I C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +T 0 50 -50 59 0 1 0 >TP_SIGNAL_NAME Normal 0 L B +P 2 1 0 0 -30 -30 0 0 N +P 2 1 0 0 0 -60 -30 -30 N +P 2 1 0 0 0 0 30 -30 N +P 2 1 0 0 30 -30 0 -60 N +X TP TP 0 -100 100 U 0 0 1 0 I +ENDDRAW +ENDDEF +# +# TPTP09SQ +# +DEF TPTP09SQ TP 0 40 Y Y 1 L N +F0 "TP" -50 50 59 H V L BNN +F1 "TPTP09SQ" 0 0 50 H I C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +T 0 50 -50 59 0 1 0 >TP_SIGNAL_NAME Normal 0 L B +P 2 1 0 0 -30 -30 0 0 N +P 2 1 0 0 0 -60 -30 -30 N +P 2 1 0 0 0 0 30 -30 N +P 2 1 0 0 30 -30 0 -60 N +X TP TP 0 -100 100 U 0 0 1 0 I +ENDDRAW +ENDDEF +# +# TPTP10R +# +DEF TPTP10R TP 0 40 Y Y 1 L N +F0 "TP" -50 50 59 H V L BNN +F1 "TPTP10R" 0 0 50 H I C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +T 0 50 -50 59 0 1 0 >TP_SIGNAL_NAME Normal 0 L B +P 2 1 0 0 -30 -30 0 0 N +P 2 1 0 0 0 -60 -30 -30 N +P 2 1 0 0 0 0 30 -30 N +P 2 1 0 0 30 -30 0 -60 N +X TP TP 0 -100 100 U 0 0 1 0 I +ENDDRAW +ENDDEF +# +# TPTP10SQ +# +DEF TPTP10SQ TP 0 40 Y Y 1 L N +F0 "TP" -50 50 59 H V L BNN +F1 "TPTP10SQ" 0 0 50 H I C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +T 0 50 -50 59 0 1 0 >TP_SIGNAL_NAME Normal 0 L B +P 2 1 0 0 -30 -30 0 0 N +P 2 1 0 0 0 -60 -30 -30 N +P 2 1 0 0 0 0 30 -30 N +P 2 1 0 0 30 -30 0 -60 N +X TP TP 0 -100 100 U 0 0 1 0 I +ENDDRAW +ENDDEF +# +# TPTP11R +# +DEF TPTP11R TP 0 40 Y Y 1 L N +F0 "TP" -50 50 59 H V L BNN +F1 "TPTP11R" 0 0 50 H I C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +T 0 50 -50 59 0 1 0 >TP_SIGNAL_NAME Normal 0 L B +P 2 1 0 0 -30 -30 0 0 N +P 2 1 0 0 0 -60 -30 -30 N +P 2 1 0 0 0 0 30 -30 N +P 2 1 0 0 30 -30 0 -60 N +X TP TP 0 -100 100 U 0 0 1 0 I +ENDDRAW +ENDDEF +# +# TPTP11SQ +# +DEF TPTP11SQ TP 0 40 Y Y 1 L N +F0 "TP" -50 50 59 H V L BNN +F1 "TPTP11SQ" 0 0 50 H I C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +T 0 50 -50 59 0 1 0 >TP_SIGNAL_NAME Normal 0 L B +P 2 1 0 0 -30 -30 0 0 N +P 2 1 0 0 0 -60 -30 -30 N +P 2 1 0 0 0 0 30 -30 N +P 2 1 0 0 30 -30 0 -60 N +X TP TP 0 -100 100 U 0 0 1 0 I +ENDDRAW +ENDDEF +# +# TPTP12R +# +DEF TPTP12R TP 0 40 Y Y 1 L N +F0 "TP" -50 50 59 H V L BNN +F1 "TPTP12R" 0 0 50 H I C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +T 0 50 -50 59 0 1 0 >TP_SIGNAL_NAME Normal 0 L B +P 2 1 0 0 -30 -30 0 0 N +P 2 1 0 0 0 -60 -30 -30 N +P 2 1 0 0 0 0 30 -30 N +P 2 1 0 0 30 -30 0 -60 N +X TP TP 0 -100 100 U 0 0 1 0 I +ENDDRAW +ENDDEF +# +# TPTP12SQ +# +DEF TPTP12SQ TP 0 40 Y Y 1 L N +F0 "TP" -50 50 59 H V L BNN +F1 "TPTP12SQ" 0 0 50 H I C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +T 0 50 -50 59 0 1 0 >TP_SIGNAL_NAME Normal 0 L B +P 2 1 0 0 -30 -30 0 0 N +P 2 1 0 0 0 -60 -30 -30 N +P 2 1 0 0 0 0 30 -30 N +P 2 1 0 0 30 -30 0 -60 N +X TP TP 0 -100 100 U 0 0 1 0 I +ENDDRAW +ENDDEF +# +# TPTP13R +# +DEF TPTP13R TP 0 40 Y Y 1 L N +F0 "TP" -50 50 59 H V L BNN +F1 "TPTP13R" 0 0 50 H I C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +T 0 50 -50 59 0 1 0 >TP_SIGNAL_NAME Normal 0 L B +P 2 1 0 0 -30 -30 0 0 N +P 2 1 0 0 0 -60 -30 -30 N +P 2 1 0 0 0 0 30 -30 N +P 2 1 0 0 30 -30 0 -60 N +X TP TP 0 -100 100 U 0 0 1 0 I +ENDDRAW +ENDDEF +# +# TPTP13SQ +# +DEF TPTP13SQ TP 0 40 Y Y 1 L N +F0 "TP" -50 50 59 H V L BNN +F1 "TPTP13SQ" 0 0 50 H I C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +T 0 50 -50 59 0 1 0 >TP_SIGNAL_NAME Normal 0 L B +P 2 1 0 0 -30 -30 0 0 N +P 2 1 0 0 0 -60 -30 -30 N +P 2 1 0 0 0 0 30 -30 N +P 2 1 0 0 30 -30 0 -60 N +X TP TP 0 -100 100 U 0 0 1 0 I +ENDDRAW +ENDDEF +# +# TPTP14R +# +DEF TPTP14R TP 0 40 Y Y 1 L N +F0 "TP" -50 50 59 H V L BNN +F1 "TPTP14R" 0 0 50 H I C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +T 0 50 -50 59 0 1 0 >TP_SIGNAL_NAME Normal 0 L B +P 2 1 0 0 -30 -30 0 0 N +P 2 1 0 0 0 -60 -30 -30 N +P 2 1 0 0 0 0 30 -30 N +P 2 1 0 0 30 -30 0 -60 N +X TP TP 0 -100 100 U 0 0 1 0 I +ENDDRAW +ENDDEF +# +# TPTP14SQ +# +DEF TPTP14SQ TP 0 40 Y Y 1 L N +F0 "TP" -50 50 59 H V L BNN +F1 "TPTP14SQ" 0 0 50 H I C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +T 0 50 -50 59 0 1 0 >TP_SIGNAL_NAME Normal 0 L B +P 2 1 0 0 -30 -30 0 0 N +P 2 1 0 0 0 -60 -30 -30 N +P 2 1 0 0 0 0 30 -30 N +P 2 1 0 0 30 -30 0 -60 N +X TP TP 0 -100 100 U 0 0 1 0 I +ENDDRAW +ENDDEF +# +# TPTP15R +# +DEF TPTP15R TP 0 40 Y Y 1 L N +F0 "TP" -50 50 59 H V L BNN +F1 "TPTP15R" 0 0 50 H I C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +T 0 50 -50 59 0 1 0 >TP_SIGNAL_NAME Normal 0 L B +P 2 1 0 0 -30 -30 0 0 N +P 2 1 0 0 0 -60 -30 -30 N +P 2 1 0 0 0 0 30 -30 N +P 2 1 0 0 30 -30 0 -60 N +X TP TP 0 -100 100 U 0 0 1 0 I +ENDDRAW +ENDDEF +# +# TPTP15SQ +# +DEF TPTP15SQ TP 0 40 Y Y 1 L N +F0 "TP" -50 50 59 H V L BNN +F1 "TPTP15SQ" 0 0 50 H I C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +T 0 50 -50 59 0 1 0 >TP_SIGNAL_NAME Normal 0 L B +P 2 1 0 0 -30 -30 0 0 N +P 2 1 0 0 0 -60 -30 -30 N +P 2 1 0 0 0 0 30 -30 N +P 2 1 0 0 30 -30 0 -60 N +X TP TP 0 -100 100 U 0 0 1 0 I +ENDDRAW +ENDDEF +# +# TPTP16R +# +DEF TPTP16R TP 0 40 Y Y 1 L N +F0 "TP" -50 50 59 H V L BNN +F1 "TPTP16R" 0 0 50 H I C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +T 0 50 -50 59 0 1 0 >TP_SIGNAL_NAME Normal 0 L B +P 2 1 0 0 -30 -30 0 0 N +P 2 1 0 0 0 -60 -30 -30 N +P 2 1 0 0 0 0 30 -30 N +P 2 1 0 0 30 -30 0 -60 N +X TP TP 0 -100 100 U 0 0 1 0 I +ENDDRAW +ENDDEF +# +# TPTP16SQ +# +DEF TPTP16SQ TP 0 40 Y Y 1 L N +F0 "TP" -50 50 59 H V L BNN +F1 "TPTP16SQ" 0 0 50 H I C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +T 0 50 -50 59 0 1 0 >TP_SIGNAL_NAME Normal 0 L B +P 2 1 0 0 -30 -30 0 0 N +P 2 1 0 0 0 -60 -30 -30 N +P 2 1 0 0 0 0 30 -30 N +P 2 1 0 0 30 -30 0 -60 N +X TP TP 0 -100 100 U 0 0 1 0 I +ENDDRAW +ENDDEF +# +# TPTP17R +# +DEF TPTP17R TP 0 40 Y Y 1 L N +F0 "TP" -50 50 59 H V L BNN +F1 "TPTP17R" 0 0 50 H I C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +T 0 50 -50 59 0 1 0 >TP_SIGNAL_NAME Normal 0 L B +P 2 1 0 0 -30 -30 0 0 N +P 2 1 0 0 0 -60 -30 -30 N +P 2 1 0 0 0 0 30 -30 N +P 2 1 0 0 30 -30 0 -60 N +X TP TP 0 -100 100 U 0 0 1 0 I +ENDDRAW +ENDDEF +# +# TPTP17SQ +# +DEF TPTP17SQ TP 0 40 Y Y 1 L N +F0 "TP" -50 50 59 H V L BNN +F1 "TPTP17SQ" 0 0 50 H I C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +T 0 50 -50 59 0 1 0 >TP_SIGNAL_NAME Normal 0 L B +P 2 1 0 0 -30 -30 0 0 N +P 2 1 0 0 0 -60 -30 -30 N +P 2 1 0 0 0 0 30 -30 N +P 2 1 0 0 30 -30 0 -60 N +X TP TP 0 -100 100 U 0 0 1 0 I +ENDDRAW +ENDDEF +# +# TPTP18R +# +DEF TPTP18R TP 0 40 Y Y 1 L N +F0 "TP" -50 50 59 H V L BNN +F1 "TPTP18R" 0 0 50 H I C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +T 0 50 -50 59 0 1 0 >TP_SIGNAL_NAME Normal 0 L B +P 2 1 0 0 -30 -30 0 0 N +P 2 1 0 0 0 -60 -30 -30 N +P 2 1 0 0 0 0 30 -30 N +P 2 1 0 0 30 -30 0 -60 N +X TP TP 0 -100 100 U 0 0 1 0 I +ENDDRAW +ENDDEF +# +# TPTP18SQ +# +DEF TPTP18SQ TP 0 40 Y Y 1 L N +F0 "TP" -50 50 59 H V L BNN +F1 "TPTP18SQ" 0 0 50 H I C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +T 0 50 -50 59 0 1 0 >TP_SIGNAL_NAME Normal 0 L B +P 2 1 0 0 -30 -30 0 0 N +P 2 1 0 0 0 -60 -30 -30 N +P 2 1 0 0 0 0 30 -30 N +P 2 1 0 0 30 -30 0 -60 N +X TP TP 0 -100 100 U 0 0 1 0 I +ENDDRAW +ENDDEF +# +# TPTP19R +# +DEF TPTP19R TP 0 40 Y Y 1 L N +F0 "TP" -50 50 59 H V L BNN +F1 "TPTP19R" 0 0 50 H I C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +T 0 50 -50 59 0 1 0 >TP_SIGNAL_NAME Normal 0 L B +P 2 1 0 0 -30 -30 0 0 N +P 2 1 0 0 0 -60 -30 -30 N +P 2 1 0 0 0 0 30 -30 N +P 2 1 0 0 30 -30 0 -60 N +X TP TP 0 -100 100 U 0 0 1 0 I +ENDDRAW +ENDDEF +# +# TPTP19SQ +# +DEF TPTP19SQ TP 0 40 Y Y 1 L N +F0 "TP" -50 50 59 H V L BNN +F1 "TPTP19SQ" 0 0 50 H I C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +T 0 50 -50 59 0 1 0 >TP_SIGNAL_NAME Normal 0 L B +P 2 1 0 0 -30 -30 0 0 N +P 2 1 0 0 0 -60 -30 -30 N +P 2 1 0 0 0 0 30 -30 N +P 2 1 0 0 30 -30 0 -60 N +X TP TP 0 -100 100 U 0 0 1 0 I +ENDDRAW +ENDDEF +# +# TPTP20R +# +DEF TPTP20R TP 0 40 Y Y 1 L N +F0 "TP" -50 50 59 H V L BNN +F1 "TPTP20R" 0 0 50 H I C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +T 0 50 -50 59 0 1 0 >TP_SIGNAL_NAME Normal 0 L B +P 2 1 0 0 -30 -30 0 0 N +P 2 1 0 0 0 -60 -30 -30 N +P 2 1 0 0 0 0 30 -30 N +P 2 1 0 0 30 -30 0 -60 N +X TP TP 0 -100 100 U 0 0 1 0 I +ENDDRAW +ENDDEF +# +# TPTP20SQ +# +DEF TPTP20SQ TP 0 40 Y Y 1 L N +F0 "TP" -50 50 59 H V L BNN +F1 "TPTP20SQ" 0 0 50 H I C CNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +T 0 50 -50 59 0 1 0 >TP_SIGNAL_NAME Normal 0 L B +P 2 1 0 0 -30 -30 0 0 N +P 2 1 0 0 0 -60 -30 -30 N +P 2 1 0 0 0 0 30 -30 N +P 2 1 0 0 30 -30 0 -60 N +X TP TP 0 -100 100 U 0 0 1 0 I +ENDDRAW +ENDDEF +# +# VCC +# +DEF VCC #P+ 0 40 Y Y 1 L P +F0 "#P+" 0 0 50 H I C CNN +F1 "VCC" -100 -100 59 V V L BNN +F2 "" 0 0 50 H I C CNN +F3 "" 0 0 50 H I C CNN +DRAW +P 2 1 0 0 0 0 -50 -75 N +P 2 1 0 0 50 -75 0 0 N +X VCC 1 0 -100 100 U 0 0 1 0 W +ENDDRAW +ENDDEF +# +#End Library diff --git a/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/empty.kicad_wks b/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/empty.kicad_wks new file mode 100644 index 00000000..f50032b1 --- /dev/null +++ b/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/empty.kicad_wks @@ -0,0 +1,5 @@ +(page_layout +(setup (textsize 1.5 1.5)(linewidth 0.15)(textlinewidth 0.15) +(left_margin 10)(right_margin 10)(top_margin 10)(bottom_margin 10)) +(line (name segm1:Line) (start 0 0) (end 0 0)) +) diff --git a/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/fp-info-cache b/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/fp-info-cache new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/fp-info-cache @@ -0,0 +1 @@ +0 diff --git a/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/fp-lib-table b/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/fp-lib-table new file mode 100644 index 00000000..9ebe18e1 --- /dev/null +++ b/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/fp-lib-table @@ -0,0 +1,4 @@ +(fp_lib_table +  (lib (name "Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001")(type KiCad)(uri "$(KIPRJMOD)/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001.pretty")(options "")(descr "")) +  (lib (name OPT3001DNPT)(type KiCad)(uri ${KIPRJMOD}/OPT3001DNPT)(options "")(descr "")) +) diff --git a/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/sym-lib-table b/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/sym-lib-table new file mode 100644 index 00000000..8b9d2689 --- /dev/null +++ b/PCB/Sensor Boards/Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001/sym-lib-table @@ -0,0 +1,4 @@ +(sym_lib_table +  (lib (name Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import)(type Legacy)(uri ${KIPRJMOD}/Q3Q-SWAB-A1-00_Temperature_+_Test_Points_+_OPT3001-eagle-import.lib)(options "")(descr "")) +  (lib (name OPT3001DNPT)(type Legacy)(uri ${KIPRJMOD}/OPT3001DNPT/OPT3001DNPT.lib)(options "")(descr "")) +) @@ -150,6 +150,7 @@ SRCS += \    $(TOP)/watch-library/hardware/hpl/systick/hpl_systick.c \    $(TOP)/watch-library/shared/driver/thermistor_driver.c \    $(TOP)/watch-library/shared/driver/lis2dw.c \ +  $(TOP)/watch-library/shared/driver/opt3001.c \    $(TOP)/watch-library/shared/driver/spiflash.c \    $(TOP)/watch-library/shared/watch/watch_private_buzzer.c \    $(TOP)/watch-library/shared/watch/watch_private_display.c \ @@ -195,6 +196,7 @@ SRCS += \    $(TOP)/watch-library/simulator/watch/watch_private.c \    $(TOP)/watch-library/simulator/watch/watch.c \    $(TOP)/watch-library/shared/driver/thermistor_driver.c \ +  $(TOP)/watch-library/shared/driver/opt3001.c \    $(TOP)/watch-library/shared/watch/watch_private_buzzer.c \    $(TOP)/watch-library/shared/watch/watch_private_display.c \    $(TOP)/watch-library/shared/watch/watch_utility.c \ diff --git a/movement/make/Makefile b/movement/make/Makefile index d403045d..4614cd27 100644 --- a/movement/make/Makefile +++ b/movement/make/Makefile @@ -101,6 +101,7 @@ SRCS += \    ../watch_faces/complication/activity_face.c \    ../watch_faces/demo/chirpy_demo_face.c \    ../watch_faces/complication/ships_bell_face.c \ +  ../watch_faces/sensor/lightmeter_face.c \    ../watch_faces/complication/discgolf_face.c \    ../watch_faces/complication/habit_face.c \    ../watch_faces/complication/breathing_face.c \ diff --git a/movement/movement_config.h b/movement/movement_config.h index 9e446d4d..3f6a0dc1 100644 --- a/movement/movement_config.h +++ b/movement/movement_config.h @@ -29,6 +29,8 @@  const watch_face_t watch_faces[] = {      simple_clock_face, +    lightmeter_face, +    thermistor_readout_face,      world_clock_face,      sunrise_sunset_face,      moon_phase_face, diff --git a/movement/movement_faces.h b/movement/movement_faces.h index b8584756..afa8f14a 100644 --- a/movement/movement_faces.h +++ b/movement/movement_faces.h @@ -76,6 +76,7 @@  #include "activity_face.h"  #include "chirpy_demo_face.h"  #include "ships_bell_face.h" +#include "lightmeter_face.h"  #include "discgolf_face.h"  #include "habit_face.h"  #include "breathing_face.h" diff --git a/movement/watch_faces/sensor/lightmeter_face.c b/movement/watch_faces/sensor/lightmeter_face.c new file mode 100644 index 00000000..861e28d8 --- /dev/null +++ b/movement/watch_faces/sensor/lightmeter_face.c @@ -0,0 +1,206 @@ +/* + * MIT License + * + * Copyright (c) 2022 CC + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +/* Aperture-priority Light Meter Face + * + * Tested with the "Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001" flexboard. + * This flexboard could use a revision:  + * + *  - The thermistor components should be moved west a mm or flipped to the backside + *    to avoid stressing the flexboard against the processor so much. + *  - The 'no connect' pad falls off easily. + * + * Controls: + * + *  - Trigger a measurement by long-pressing Alarm. + *    Sensor integration is happening when the Signal indicator is on. + * + *  - ISO setting can be cycled by long-pressing Light. + *    During integration the current ISO setting will be displayed.  + * + *  - EV measurement in the top right: "LAP" indicates "half stop".  + *    So "LAP -1" means EV = -1.5. Likewise "LAP 13" means EV = +13.5   + * + *  - Aperture in the bottom right: the last 3 main digits are the f-stop.  + *    Adjust this number in half-stop increments using Alarm = +1/2 and Light = -1/2.  + * + *  - Best shutter speed in the bottom left: the first 3 digits are the shutter speed.  + *    Some special chars are needed here: "-" = seconds, "h" = extra half second, "K" = thousands. + *    "HI" or "LO" if there's no shutter in the dictionary within 0.5 stops of correct exposure. + * + *  - Mode long-press changes the main digits to show raw sensor lux measurements. + * + */ + +#include <stdlib.h> +#include <string.h> +#include <math.h> +#include "lightmeter_face.h" +#include "watch_utility.h" +#include "watch_slcd.h" + +uint16_t lightmeter_mod(uint16_t m, uint16_t n) { return (m%n + n)%n; }   + +void lightmeter_face_setup(movement_settings_t *settings, uint8_t watch_face_index, void ** context_ptr) { +    (void) settings; +    (void) watch_face_index; +    if (*context_ptr == NULL) { +        *context_ptr = malloc(sizeof(lightmeter_state_t)); +        lightmeter_state_t *state = (lightmeter_state_t*) *context_ptr; +        state->waiting_for_conversion = 0; +        state->lux = 0.0; +        state->mode = 0; +        state->iso = LIGHTMETER_ISO_100; +        state->ap = LIGHTMETER_AP_4P0; +    } +} + +void lightmeter_face_activate(movement_settings_t *settings, void *context) { +    (void) settings; +    lightmeter_state_t *state = (lightmeter_state_t*) context; +    state->waiting_for_conversion = 0; +    lightmeter_show_ev(state); // Print most current reading +    watch_enable_i2c(); +    return; +} + +void lightmeter_show_ev(lightmeter_state_t *state) { + +    float ev = max(min( +                 log2(state->lux) +  +                 lightmeter_isos[state->iso].ev +  +                 LIGHTMETER_CALIBRATION, +            99), -9); +    int evt = round(2*ev); // Truncated EV + +    // Print EV +    char strbuff[7]; +    watch_clear_all_indicators(); +    watch_display_string("EV        ", 0);  + +    sprintf(strbuff, "%2i", (uint16_t) abs(evt/2)); // Print whole part of EV  +    watch_display_string(strbuff, 2);  +    if(evt%2) watch_set_indicator(WATCH_INDICATOR_LAP); // Indicate half stop +    if(ev<0) watch_set_pixel(1,9);  // Indicate negative EV + +    // Handle lux mode +    if(state->mode == 1) { +        sprintf(strbuff, "%6.0f", min(state->lux, 999999.0));  +        watch_display_string(strbuff, 4);  +        return; +    } + +    // Find and print best shutter speed +    uint16_t bestsh = 0; +    float besterr = 1.0/0.0; +    float errbuf = 1.0/0.0; +    float comp_ev = ev + lightmeter_aps[state->ap].ev;  +    for(uint16_t ind = 2; ind < LIGHTMETER_N_SHS; ind++) { +        errbuf = comp_ev + lightmeter_shs[ind].ev; +        if( fabs(errbuf) < fabs(besterr)) { +            besterr = errbuf; +            bestsh = ind; +        } +    } +    if(besterr >= 0.5) watch_display_string(lightmeter_shs[LIGHTMETER_SH_HIGH].str, 4);  +    else if(besterr <= -0.5) watch_display_string(lightmeter_shs[LIGHTMETER_SH_LOW].str, 4);  +    else watch_display_string(lightmeter_shs[bestsh].str, 4);  + +    // Print aperture +    watch_display_string(lightmeter_aps[state->ap].str, 7);  +    return; +} + +bool lightmeter_face_loop(movement_event_t event, movement_settings_t *settings, void *context) { +    (void) settings; +    lightmeter_state_t *state = (lightmeter_state_t*) context; +     +    opt3001_Config_t c; +    switch (event.event_type) { +        case EVENT_TICK: +            if(state->waiting_for_conversion) { // Check if measurement is ready... +                c = opt3001_readConfig(lightmeter_addr); +                if(c.ConversionReady) { +                    state->waiting_for_conversion = 0; +                    opt3001_t result = opt3001_readResult(lightmeter_addr); +                    state->lux = result.lux; +                    lightmeter_show_ev(state);  +                }  +            } +            break; + +        case EVENT_ALARM_BUTTON_UP: // Increment aperture  +            state->ap = lightmeter_mod(state->ap+1, LIGHTMETER_N_APS); + +            lightmeter_show_ev(state);  +            break; + +        case EVENT_LIGHT_BUTTON_UP: // Decrement aperture  +            if(state->ap == 0) state->ap = LIGHTMETER_N_APS-1;  +            else state->ap = lightmeter_mod(state->ap-1, LIGHTMETER_N_APS); + +            lightmeter_show_ev(state);  +            break; + +        case EVENT_LIGHT_LONG_PRESS: // Cycle ISO +            state->iso = lightmeter_mod(state->iso+1, LIGHTMETER_N_ISOS); + +            watch_clear_all_indicators(); +            watch_display_string("EV  ", 0);  +            watch_display_string(lightmeter_isos[state->iso].str, 4);  +            break; + +        case EVENT_ALARM_LONG_PRESS: // Take measurement +            opt3001_writeConfig(lightmeter_addr, lightmeter_takeNewReading); +            state->waiting_for_conversion = 1; + +            watch_clear_all_indicators(); +            watch_display_string("EV  ", 0);  +            watch_display_string(lightmeter_isos[state->iso].str, 4);  +            watch_set_indicator(WATCH_INDICATOR_SIGNAL); +            break; + +        case EVENT_MODE_LONG_PRESS: // Toggle mode +            state->mode = !state->mode; +            lightmeter_show_ev(state);  +            break; + +        case EVENT_TIMEOUT: +            movement_move_to_face(0); +            break; + +        default: +            movement_default_loop_handler(event, settings); +            break; +    } +    return true; +} + +void lightmeter_face_resign(movement_settings_t *settings, void *context) { +    (void) settings; +    (void) context; +    opt3001_writeConfig(lightmeter_addr, lightmeter_off); +    watch_disable_i2c(); +    return; +} diff --git a/movement/watch_faces/sensor/lightmeter_face.h b/movement/watch_faces/sensor/lightmeter_face.h new file mode 100644 index 00000000..2f8813f4 --- /dev/null +++ b/movement/watch_faces/sensor/lightmeter_face.h @@ -0,0 +1,160 @@ +/* + * MIT License + * + * Copyright (c) 2023 CC + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#ifndef LIGHTMETER_FACE_H_ +#define LIGHTMETER_FACE_H_ + +#include "movement.h" +#include "opt3001.h" + +#define LIGHTMETER_CALIBRATION 2.58 +typedef struct {  +    char * str; +    float ev; +} lightmeter_ev_t; + +static const lightmeter_ev_t lightmeter_isos[] = { +    {" i  25", -2}, +    {" i  50", -1}, +    {" i 100", 0}, +    {" i 160", 0.68}, +    {" i 200", 1}, +    {" i 400", 2}, +    {" i 800", 3}, +    {" i1600", 4}}; +typedef enum {  +    LIGHTMETER_ISO_25, LIGHTMETER_ISO_50, LIGHTMETER_ISO_100, LIGHTMETER_ISO_160, LIGHTMETER_ISO_200, LIGHTMETER_ISO_400, LIGHTMETER_ISO_800, LIGHTMETER_ISO_1600,  +    LIGHTMETER_N_ISOS +} lightmeter_iso_t;  + +static const lightmeter_ev_t lightmeter_aps[] = { +    {"1.4", 0}, +    {"1.8", -0.5}, +    {"2.0", -1}, +    {"2.4", -1.5}, +    {"2.8", -2}, +    {"3.3", -2.5}, +    {"4.0", -3}, +    {"4.8", -3.5}, +    {"5.6", -4}, +    {"6.7", -4.5}, +    {"8.0", -5}, +    {"9.5", -5.5}, +    {"11.", -6}, +    {"13.", -6.5}, +    {"16.", -7}, +    {"19.", -7.5}, +    {"22.", -8}}; +typedef enum {  +    LIGHTMETER_AP_1P4, LIGHTMETER_AP_1P8, LIGHTMETER_AP_2P0, LIGHTMETER_AP_2P4, LIGHTMETER_AP_2P8, LIGHTMETER_AP_3P3, LIGHTMETER_AP_4P0, LIGHTMETER_AP_4P8, LIGHTMETER_AP_5P6, LIGHTMETER_AP_6P7, LIGHTMETER_AP_8P0, LIGHTMETER_AP_9P5,  +    LIGHTMETER_AP_11, LIGHTMETER_AP_13, LIGHTMETER_AP_16, LIGHTMETER_AP_19, LIGHTMETER_AP_22, +    LIGHTMETER_N_APS +} lightmeter_ap_t;  + +static const lightmeter_ev_t lightmeter_shs[] = { +    {"LO-",   99}, +    {"HI ",  -99}, +    {"30-",  5.0}, +    {"20-",  4.5}, +    {"15-",  4.0}, +    {"11-",  3.5}, +    {"8- ",  3.0}, +    {"6- ",  2.5}, +    {"4- ",  2.0}, +    {"3- ",  1.5}, +    {"2- ",  1.0}, +    {"1h-",  0.5}, +    {"1  ",  0.0}, +    {"1h ", -0.5}, +    {"2  ", -1.0}, +    {"3  ", -1.5}, +    {"4  ", -2.0}, +    {"6  ", -2.5}, +    {"8  ", -3.0}, +    {"12 ", -3.5}, +    {"15 ", -4.0}, +    {"20 ", -4.5}, +    {"30 ", -5.0}, +    {"45 ", -5.5}, +    {"60 ", -6.0}, +    {"90 ", -6.5}, +    {"125", -7.0}, +    {"180", -7.5}, +    {"250", -8.0}, +    {"350", -8.5}, +    {"500", -9.0}, +    {"750", -9.5}, +    {"1K ", -10.0}, +    {"1K5", -10.5}, +    {"2K ", -11.0}, +    {"3K ", -11.5}, +    {"4K ", -12.0}, +    {"6K ", -12.5}, +    {"8K ", -13.0}}; +typedef enum {  +    LIGHTMETER_SH_LOW, LIGHTMETER_SH_HIGH,  +    LIGHTMETER_SH_30S, LIGHTMETER_SH_20S, LIGHTMETER_SH_15S, LIGHTMETER_SH_11S, LIGHTMETER_SH_8S, LIGHTMETER_SH_6S, LIGHTMETER_SH_3S, LIGHTMETER_SH_4S, LIGHTMETER_SH_2S, LIGHTMETER_SH_1HS,  +    LIGHTMETER_SH_1, LIGHTMETER_SH_1H, LIGHTMETER_SH_2, LIGHTMETER_SH_3, LIGHTMETER_SH_4, LIGHTMETER_SH_6, LIGHTMETER_SH_8, LIGHTMETER_SH_12, LIGHTMETER_SH_15, LIGHTMETER_SH_20, LIGHTMETER_SH_30, LIGHTMETER_SH_45, LIGHTMETER_SH_60, LIGHTMETER_SH_90, LIGHTMETER_SH_125, LIGHTMETER_SH_180, LIGHTMETER_SH_250, LIGHTMETER_SH_350, LIGHTMETER_SH_500, LIGHTMETER_SH_750, +    LIGHTMETER_SH_1K, LIGHTMETER_SH_1K5, LIGHTMETER_SH_2K, LIGHTMETER_SH_3K, LIGHTMETER_SH_4K, LIGHTMETER_SH_6K, LIGHTMETER_SH_8K, +    LIGHTMETER_N_SHS +} lightmeter_sh_t;  + +typedef struct { +    lightmeter_iso_t iso; +    lightmeter_ap_t ap; +    bool waiting_for_conversion; +    float lux; +    int mode;  +} lightmeter_state_t; + +static const opt3001_Config_t lightmeter_takeNewReading = {  +    .RangeNumber = 0B1100, +    .ConversionTime = 0B1, +    .Latch = 0B1, +    .ModeOfConversionOperation = 0B01 +}; + +static const opt3001_Config_t lightmeter_off = {  +    .ModeOfConversionOperation = 0B00 +}; + +uint16_t lightmeter_mod(uint16_t m, uint16_t n);  + +void lightmeter_face_setup(movement_settings_t *settings, uint8_t watch_face_index, void ** context_ptr); +void lightmeter_face_activate(movement_settings_t *settings, void *context); +void lightmeter_show_ev(lightmeter_state_t *state); +bool lightmeter_face_loop(movement_event_t event, movement_settings_t *settings, void *context); +void lightmeter_face_resign(movement_settings_t *settings, void *context); + +static const uint8_t lightmeter_addr = 0x44; + +#define lightmeter_face ((const watch_face_t){ \ +    lightmeter_face_setup, \ +    lightmeter_face_activate, \ +    lightmeter_face_loop, \ +    lightmeter_face_resign, \ +    NULL, \ +}) + +#endif // LIGHTMETER_FACE_H_ diff --git a/watch-library/shared/driver/opt3001.c b/watch-library/shared/driver/opt3001.c new file mode 100644 index 00000000..d2f4e8ce --- /dev/null +++ b/watch-library/shared/driver/opt3001.c @@ -0,0 +1,91 @@ +/* + +Arduino library for Texas Instruments opt3001_t Digital Ambient Light Sensor +Written by AA for ClosedCube +Adapted to Sensor-Watch interface by CC +--- + +The MIT License (MIT) + +Copyright (c) 2015 ClosedCube Limited + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +*/ +#include <math.h> + +#include "opt3001.h" +#include "watch_utility.h" + +uint16_t opt3001_readManufacturerID(uint8_t devaddr) { +	uint8_t buf[2]; +	buf[0] = (uint8_t) OPT3001_MANUFACTURER_ID;  +	watch_i2c_send(devaddr, buf, 1); +	watch_i2c_receive(devaddr, buf, 2); +    return ((uint16_t) buf[0] << 8) | ((uint16_t) buf[1]); +} + +uint16_t opt3001_readDeviceID(uint8_t devaddr) { +	uint8_t buf[2]; +   	buf[0] = (uint8_t) OPT3001_DEVICE_ID;  +	watch_i2c_send(devaddr, buf, 1); +	watch_i2c_receive(devaddr, buf, 2); +    return ((uint16_t) buf[0] << 8) | ((uint16_t) buf[1]); +} + +opt3001_Config_t opt3001_readConfig(uint8_t devaddr) { +	opt3001_Config_t config; +	uint8_t buf[2]; +	buf[0] = (uint8_t) OPT3001_CONFIG;  +	watch_i2c_send(devaddr, buf, 1); +	watch_i2c_receive(devaddr, buf, 2); +    config.rawData = ((uint16_t) buf[0] << 8) | ((uint16_t) buf[1]); +	return config; +} + +void opt3001_writeConfig(uint8_t devaddr, opt3001_Config_t config) { +    uint8_t buf[3] = {OPT3001_CONFIG, (uint8_t)(config.rawData >> 8), (uint8_t)(config.rawData & 0x00FF)}; +    watch_i2c_send(devaddr, buf, 3); +	return; +} + +opt3001_t opt3001_readResult(uint8_t devaddr) { +	return opt3001_readRegister(devaddr, OPT3001_RESULT); +} + +opt3001_t opt3001_readHighLimit(uint8_t devaddr) { +	return opt3001_readRegister(devaddr, OPT3001_HIGH_LIMIT); +} + +opt3001_t opt3001_readLowLimit(uint8_t devaddr) { +	return opt3001_readRegister(devaddr, OPT3001_LOW_LIMIT); +} + +opt3001_t opt3001_readRegister(uint8_t devaddr, opt3001_Command_t command) { +    opt3001_t result; +    opt3001_ER_t er; +    uint8_t buf[2];  +	buf[0] = (uint8_t) command;  +	watch_i2c_send(devaddr, buf, 1); +	watch_i2c_receive(devaddr, buf, 2); +    er.rawData = ((uint16_t) buf[0] << 8) | ((uint16_t) buf[1]); +    result.raw = er; +    result.lux = 0.01*pow(2, er.Exponent)*er.Result; +    return result; +} diff --git a/watch-library/shared/driver/opt3001.h b/watch-library/shared/driver/opt3001.h new file mode 100644 index 00000000..1ed8eea9 --- /dev/null +++ b/watch-library/shared/driver/opt3001.h @@ -0,0 +1,87 @@ +/* + +Arduino library for Texas Instruments OPT3001 Digital Ambient Light Sensor +Adapted to Sensor-Watch interface by CC +--- + +The MIT License (MIT) + +Copyright (c) 2015 ClosedCube Limited + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY	 CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +*/ + +#ifndef OPT3001_ +#define OPT3001_ +#include <stdint.h> + +typedef enum { +	OPT3001_RESULT		= 0x00, +	OPT3001_CONFIG		= 0x01, +	OPT3001_LOW_LIMIT	= 0x02, +	OPT3001_HIGH_LIMIT	= 0x03, + +	OPT3001_MANUFACTURER_ID = 0x7E, +	OPT3001_DEVICE_ID		= 0x7F, +} opt3001_Command_t; + +typedef union { +	uint16_t rawData; +	struct { +		uint16_t Result : 12; +		uint8_t Exponent : 4; +	}; +} opt3001_ER_t; + + +typedef union { +	struct { +		uint8_t FaultCount : 2; +		uint8_t MaskExponent : 1; +		uint8_t Polarity : 1; +		uint8_t Latch : 1; +		uint8_t FlagLow : 1; +		uint8_t FlagHigh : 1; +		uint8_t ConversionReady : 1; +		uint8_t OverflowFlag : 1; +		uint8_t ModeOfConversionOperation : 2; +		uint8_t ConversionTime : 1; +		uint8_t RangeNumber : 4;		 +	}; +	uint16_t rawData; +} opt3001_Config_t; + +typedef struct { +	float lux; +	opt3001_ER_t raw; +} opt3001_t; + +uint16_t opt3001_readManufacturerID(uint8_t devaddr); +uint16_t opt3001_readDeviceID(uint8_t devaddr); + +opt3001_t opt3001_readResult(uint8_t devaddr); +opt3001_t opt3001_readHighLimit(uint8_t devaddr); +opt3001_t opt3001_readLowLimit(uint8_t devaddr); + +opt3001_Config_t opt3001_readConfig(uint8_t devaddr); +void opt3001_writeConfig(uint8_t devaddr, opt3001_Config_t config); +opt3001_t opt3001_readRegister(uint8_t devaddr, opt3001_Command_t command); + +#endif // OPT3001_  | 
