Aperture priority light meter face (#230)

* initial commit, added opt3001 light meter test app

* tested working light meter board, i2c communication still has issues

* fixed i2c; rudimentary lightmeter works!

* added aperture priority ui

* added aperture priority ui

* added README

* adjusted cal

* fixed bugs (HI shutter speed, lux mode toggle)

* made it possible to advance to the next face

* initialized lux variable

* lowered tolerance for HI and LO

* Changed EV display from always showing EV100 to showing EV[iso setting]

* dont display old ev when ISO changes

* changed mode and light behavior

* updated readme

* fixed indentation

* made lightmeter display logic more consistent

* made lightmeter display logic more consistent

* reverted rules.mk (for merge into upstream)

* reverted rules.mk (for merge into upstream)

* removed OPT3001 PCB model

* made lux mode default, corrected timeout behavior

---------

Co-authored-by: Christian Chapman <user@debian>
This commit is contained in:
Christian Chapman 2023-04-16 10:05:55 -04:00 committed by GitHub
parent bfde33c946
commit 462f24b313
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
23 changed files with 3341 additions and 0 deletions

View file

@ -0,0 +1,2 @@
OPT3001DNPT/*

View file

@ -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

View file

@ -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))
)

View file

@ -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))
)

View file

@ -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))
)

View file

@ -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))
)

View file

@ -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))
)

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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))
)

View file

@ -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 ""))
)

View file

@ -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 ""))
)

View file

@ -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 \

View file

@ -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 \

View file

@ -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,

View file

@ -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"

View file

@ -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;
}

View file

@ -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_

View file

@ -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;
}

View file

@ -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_