From 2237de33db047b43c8da84a2abe26eb3e3fe6cbe Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Sat, 9 Sep 2017 08:33:30 +0200 Subject: wip: Parsing schematics. --- .gitignore | 6 + src/ee/__init__.py | 5 +- src/ee/formatting/__init__.py | 1 - src/ee/kicad/__init__.py | 238 ++++ test/parser/foo.pro | 63 + test/parser/foo.sch | 2663 +++++++++++++++++++++++++++++++++++ test/parser/parser-demo-1-cache.lib | 47 + test/parser/parser-demo-1.kicad_pcb | 1 + test/parser/parser-demo-1.pro | 60 + test/parser/parser-demo-1.sch | 68 + test/test_sch.py | 34 + 11 files changed, 3182 insertions(+), 4 deletions(-) create mode 100644 test/parser/foo.pro create mode 100644 test/parser/foo.sch create mode 100644 test/parser/parser-demo-1-cache.lib create mode 100644 test/parser/parser-demo-1.kicad_pcb create mode 100644 test/parser/parser-demo-1.pro create mode 100644 test/parser/parser-demo-1.sch create mode 100644 test/test_sch.py diff --git a/.gitignore b/.gitignore index 074e9f9..a394db4 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,9 @@ ee.egg-info demo/*/*.net demo/*/*.raw demo/*/*.log + +.tox +.ipynb*/ + +# KiCAD +*.bak diff --git a/src/ee/__init__.py b/src/ee/__init__.py index e5519f8..b1b825b 100644 --- a/src/ee/__init__.py +++ b/src/ee/__init__.py @@ -1,12 +1,11 @@ import numpy as np __all__ = [ - 'EeError', + 'EeException', 'read_ltspice_raw' ] - -class EeError(Exception): +class EeException(Exception): pass diff --git a/src/ee/formatting/__init__.py b/src/ee/formatting/__init__.py index 32eaf64..33673a1 100644 --- a/src/ee/formatting/__init__.py +++ b/src/ee/formatting/__init__.py @@ -1,5 +1,4 @@ import math -from ee import EeError __all__ = [ 'e6', 'e12', 'e24', 'e48', 'e96', 'e192', diff --git a/src/ee/kicad/__init__.py b/src/ee/kicad/__init__.py index e69de29..9f6394d 100644 --- a/src/ee/kicad/__init__.py +++ b/src/ee/kicad/__init__.py @@ -0,0 +1,238 @@ +import re +from ee import EeException +import shlex +from typing import List + +class Position(object): + def __init__(self, x, y): + self._x = x + self._y = y + + @property + def x(self): + return _x + + @property + def y(self): + return _y + +class ComponentField(object): + names = ["Name", "Reference", "Value", "Footprint", "Datasheet"] + def __init__(self, index, name, value, position): + self._index = index + self._name = name if index >= len(ComponentField.names) else ComponentField.names[index] + self._value = value + self._position = position + + @property + def name(self): + return self._name + + @property + def value(self): + return self._value + + @property + def position(self): + return self._position + +class Component(object): + def __init__(self, position, timestamp, library, name, unit, ref, fields): + self._position = position + self._timestamp = timestamp + self._library = library + self._name = name + self._unit = unit + self._ref = ref + self._fields = fields # type List[ComponentField] + + @property + def unit(self): + return self._unit + + @property + def ref(self): + return self._ref + + @property + def fields(self) -> List[ComponentField]: + return list(self._fields) + + @property + def named_fields(self): + return [f for f in self._fields if f.name] + +class Sheet(object): + def __init__(self): + self._components = [] + pass + + @property + def components(self): + return frozenset(self._components) + + def add_component(self, component): + self._components.append(component) + +class Library(object): + def __init__(self, name): + self.name = name + +class Schematic(object): + def __init__(self): + self._libraries = set() + self._sheets = [Sheet()] + pass + + @property + def first_sheet(self): + return self._sheets[0] + + @property + def libraries(self): + return frozenset(self._libraries) + + def add_library(self, library): + self._libraries.add(Library(library)) + + # Getters + @property + def components(self): + a = [] + for s in self._sheets: + for c in s.components: + a.append(c) + return a + + def get_component(self, ref, unit = 1): + for c in self.components: + if c.ref == ref and unit == unit: + return c + + raise KeyError("No such component: {}".format(ref)) + +def read_schematic(path): + schematic = Schematic() + sheet = None + + def descr_section(lines): + print("descr_section: len={}".format(len(lines))) + pass + + def comp_section(lines): + print("comp_section: len={}".format(len(lines))) + timestamp = None + position = None + library = None + name = None + unit = None + fields = [] + + extra_lines = 0 + for line in lines: + if line.startswith((' ', '\t')): + parts = line.strip().split(" ") + if extra_lines == 0: + pass + else: + # rotation/mirroring, x1, y1, x2, y2 + pass + extra_lines += 1 + else: + parts = shlex.split(line) + if len(parts) < 3: + raise EeException("Bad component line: {}".format(line)) + + if parts[0] == "L" and len(parts) == 3: + name = parts[1] + ref = parts[2] + elif parts[0] == "U" and len(parts) == 4: + unit = int(parts[1]) + # parts[2] == body style + timestamp = parts[3] + elif parts[0] == "P" and len(parts) == 3: + position = Position(int(parts[1]), int(parts[2])) + elif parts[0] == "F" and len(parts) >= 10: + oritentation = parts[3] + pos = Position(int(parts[4]), int(parts[5])) + value = parts[2] + size = parts[6] + attributes = parts[7] + justify = parts[8] # One of L, R, C + textAttrs = parts[9] # tree characters, + # 0: T=top justify, B=bottom justify, C=center + # 1: I=italics, N=normal + # 2: B=bold, N=normal + field_name = parts[10] if len(parts) > 10 else None + idx = int(parts[1]) + if len(fields) != idx: + raise EeException("Bad index: {}, expected={}. component={}, line={}".format(idx, len(fields), ref, line)) + fields.append(ComponentField(idx, field_name, value, pos)) + else: + raise EeException("Bad component field: '{}'".format(line)) + + sheet.add_component(Component(position, timestamp, library, name, unit, ref, fields)) + + with open(path) as f: + header = f.readline() + if not "EESchema Schematic File Version" in header: + raise EeException("Not a KiCAD schematic file.") + + sheet = schematic.first_sheet + + section_name = None + section = [] + + seen_end = False + while not seen_end: + line = f.readline() + if not line: + break + + line = line.rstrip() + + if section_name: + if line.startswith("$End"): + print("END SECTION: {}".format(section_name)) + if section_name == "$Comp": + comp_section(section) + elif section_name == "$Descr": + descr_section(section) + else: + if line == "$EndSCHEMATIC": + seen_end = True + break + section_name = None + else: + section.append(line) + else: + parts = line.split(" ") + if line.startswith("EELAYER "): + pass # Legacy, ignored + elif line.startswith("LIBS:"): + schematic.add_library(line[5:]) + elif line.startswith("$"): + section_name = parts[0] + print("SECTION: {}".format(section_name)) + section = [] + elif line == "Entry Wire Line": + f.readline() # ignore the next line for now + elif line.startswith("Text Label "): + f.readline() # ignore the next line for now + elif line.startswith("Text Notes "): + f.readline() # ignore the next line for now + elif line.startswith("NoConn "): + pass + elif parts[0:3] == ["Wire", "Notes", "Line"]: + f.readline() # ignore the next line for now + elif parts[0:3] == ["Wire", "Wire", "Line"]: + f.readline() # ignore the next line for now + elif parts[0:3] == ["Wire", "Bus", "Line"]: + f.readline() # ignore the next line for now + elif parts[0:2] == ["Connection", "~"]: + pass + else: + print("line={}, len={}, wat={}".format(line, len(line), parts[0:3])) + raise EeException("Bad line: {}".format(line)) + + return schematic diff --git a/test/parser/foo.pro b/test/parser/foo.pro new file mode 100644 index 0000000..52c16a1 --- /dev/null +++ b/test/parser/foo.pro @@ -0,0 +1,63 @@ +update=ti. 29. aug. 2017 kl. 21.41 +0200 +version=1 +last_client=eeschema +[general] +version=1 +RootSch= +BoardNm= +[pcbnew] +version=1 +LastNetListRead= +UseCmpFile=1 +PadDrill=0.600000000000 +PadDrillOvalY=0.600000000000 +PadSizeH=1.500000000000 +PadSizeV=1.500000000000 +PcbTextSizeV=1.500000000000 +PcbTextSizeH=1.500000000000 +PcbTextThickness=0.300000000000 +ModuleTextSizeV=1.000000000000 +ModuleTextSizeH=1.000000000000 +ModuleTextSizeThickness=0.150000000000 +SolderMaskClearance=0.000000000000 +SolderMaskMinWidth=0.000000000000 +DrawSegmentWidth=0.200000000000 +BoardOutlineThickness=0.100000000000 +ModuleOutlineThickness=0.150000000000 +[cvpcb] +version=1 +NetIExt=net +[eeschema] +version=1 +LibDir= +[eeschema/libraries] +LibName1=foo-rescue +LibName2=power +LibName3=device +LibName4=transistors +LibName5=conn +LibName6=linear +LibName7=regul +LibName8=74xx +LibName9=cmos4000 +LibName10=adc-dac +LibName11=memory +LibName12=xilinx +LibName13=microcontrollers +LibName14=dsp +LibName15=microchip +LibName16=analog_switches +LibName17=motorola +LibName18=texas +LibName19=intel +LibName20=audio +LibName21=interface +LibName22=digital-audio +LibName23=philips +LibName24=display +LibName25=cypress +LibName26=siliconi +LibName27=opto +LibName28=atmel +LibName29=contrib +LibName30=valves diff --git a/test/parser/foo.sch b/test/parser/foo.sch new file mode 100644 index 0000000..cfedec7 --- /dev/null +++ b/test/parser/foo.sch @@ -0,0 +1,2663 @@ +EESchema Schematic File Version 2 +LIBS:power +LIBS:device +LIBS:transistors +LIBS:conn +LIBS:linear +LIBS:regul +LIBS:74xx +LIBS:cmos4000 +LIBS:adc-dac +LIBS:memory +LIBS:xilinx +LIBS:microcontrollers +LIBS:dsp +LIBS:microchip +LIBS:analog_switches +LIBS:motorola +LIBS:texas +LIBS:intel +LIBS:audio +LIBS:interface +LIBS:digital-audio +LIBS:philips +LIBS:display +LIBS:cypress +LIBS:siliconi +LIBS:opto +LIBS:atmel +LIBS:contrib +LIBS:valves +LIBS:sweetzpot_misc +LIBS:mcp6421_mcp6422_mcp6424 +LIBS:mcp6041_mcp6042_mcp6043_mcp6044 +LIBS:sweetzpot_power_symbols +LIBS:mcp4018 +LIBS:sweetzpot_nrf52832 +LIBS:max30003 +LIBS:em7180sfp +LIBS:MMBD4148 +LIBS:ASTMKH +LIBS:TCR2LF +LIBS:rateboard-2_b-cache +EELAYER 25 0 +EELAYER END +$Descr A3 16535 11693 +encoding utf-8 +Sheet 1 1 +Title "SweetZpot Sensor" +Date "2017-08-04" +Rev "2_b" +Comp "SweetZpot AS" +Comment1 "" +Comment2 "" +Comment3 "" +Comment4 "" +$EndDescr +$Comp +L MCP6424 U1 +U 1 1 582D7504 +P 3150 7750 +F 0 "U1" H 3150 8000 60 0000 C CNN +F 1 "MCP6424" H 3150 7450 60 0000 C CNN +F 2 "Housings_SSOP:SSOP-14_5.3x6.2mm_Pitch0.65mm" H 2950 7750 60 0001 C CNN +F 3 "" H 2950 7750 60 0001 C CNN +F 4 "MCP6424-E/ST-ND" H 3150 7750 60 0001 C CNN "digikey" +F 5 "MCP6424-E/ST" H 3150 7750 60 0001 C CNN "part" + 1 3150 7750 + 1 0 0 -1 +$EndComp +$Comp +L MCP6424 U1 +U 3 1 582D7758 +P 5950 7650 +F 0 "U1" H 5950 7900 60 0000 C CNN +F 1 "MCP6424" H 5950 7350 60 0000 C CNN +F 2 "Housings_SSOP:SSOP-14_5.3x6.2mm_Pitch0.65mm" H 5750 7650 60 0001 C CNN +F 3 "" H 5750 7650 60 0001 C CNN + 3 5950 7650 + 1 0 0 -1 +$EndComp +$Comp +L MCP6424 U1 +U 4 1 582D77CD +P 7050 7650 +F 0 "U1" H 7050 7900 60 0000 C CNN +F 1 "MCP6424" H 7050 7350 60 0000 C CNN +F 2 "Housings_SSOP:SSOP-14_5.3x6.2mm_Pitch0.65mm" H 6850 7650 60 0001 C CNN +F 3 "" H 6850 7650 60 0001 C CNN + 4 7050 7650 + 1 0 0 -1 +$EndComp +$Comp +L R R3 +U 1 1 582D7852 +P 1800 7250 +F 0 "R3" V 1880 7250 50 0000 C CNN +F 1 "150k" V 1800 7250 50 0000 C CNN +F 2 "Resistors_SMD:R_0402" V 1730 7250 50 0001 C CNN +F 3 "" H 1800 7250 50 0000 C CNN +F 4 "311-150KLRCT-ND" V 1800 7250 60 0001 C CNN "digikey" +F 5 "RC0402FR-07150KL" V 1800 7250 60 0001 C CNN "part" +F 6 "1%" V 1800 7250 60 0001 C CNN "tolerance" + 1 1800 7250 + 1 0 0 1 +$EndComp +$Comp +L R R1 +U 1 1 582D78B5 +P 2350 7250 +F 0 "R1" V 2430 7250 50 0000 C CNN +F 1 "1M" V 2350 7250 50 0000 C CNN +F 2 "Resistors_SMD:R_0402" V 2280 7250 50 0001 C CNN +F 3 "" H 2350 7250 50 0000 C CNN +F 4 "311-1.00MLRCT-ND" V 2350 7250 60 0001 C CNN "digikey" +F 5 "RC0402FR-071ML" V 2350 7250 60 0001 C CNN "part" +F 6 "1%" V 2350 7250 60 0001 C CNN "tolerance" + 1 2350 7250 + 1 0 0 -1 +$EndComp +$Comp +L R R22 +U 1 1 582D78E6 +P 3200 8200 +F 0 "R22" V 3280 8200 50 0000 C CNN +F 1 "270k" V 3200 8200 50 0000 C CNN +F 2 "Resistors_SMD:R_0402" V 3130 8200 50 0001 C CNN +F 3 "" H 3200 8200 50 0000 C CNN +F 4 "311-270KLRCT-ND" V 3200 8200 60 0001 C CNN "digikey" +F 5 "RC0402FR-07270KL" V 3200 8200 60 0001 C CNN "part" +F 6 "1%" V 3200 8200 60 0001 C CNN "tolerance" + 1 3200 8200 + 0 1 1 0 +$EndComp +$Comp +L R R2 +U 1 1 582D7922 +P 2350 8150 +F 0 "R2" V 2430 8150 50 0000 C CNN +F 1 "6.8k" V 2350 8150 50 0000 C CNN +F 2 "Resistors_SMD:R_0402" V 2280 8150 50 0001 C CNN +F 3 "" H 2350 8150 50 0000 C CNN +F 4 "311-6.80KLRCT-ND" V 2350 8150 60 0001 C CNN "digikey" +F 5 "RC0402FR-076K8L" V 2350 8150 60 0001 C CNN "part" +F 6 "1%" V 2350 8150 60 0001 C CNN "tolerance" + 1 2350 8150 + 1 0 0 -1 +$EndComp +$Comp +L R R4 +U 1 1 582D7A92 +P 3750 6550 +F 0 "R4" V 3830 6550 50 0000 C CNN +F 1 "1M" V 3750 6550 50 0000 C CNN +F 2 "Resistors_SMD:R_0402" V 3680 6550 50 0001 C CNN +F 3 "" H 3750 6550 50 0000 C CNN +F 4 "311-1.00MLRCT-ND" V 3750 6550 60 0001 C CNN "digikey" +F 5 "RC0402FR-071ML" V 3750 6550 60 0001 C CNN "part" +F 6 "1%" V 3750 6550 60 0001 C CNN "tolerance" + 1 3750 6550 + 1 0 0 -1 +$EndComp +$Comp +L MCP6424 U1 +U 5 1 582D7B59 +P 2550 10350 +F 0 "U1" H 2550 10600 60 0000 C CNN +F 1 "MCP6424" H 2550 10050 60 0000 C CNN +F 2 "Housings_SSOP:SSOP-14_5.3x6.2mm_Pitch0.65mm" H 2350 10350 60 0001 C CNN +F 3 "" H 2350 10350 60 0001 C CNN +F 4 "MCP6424-E/ST-ND" H 2550 10350 60 0001 C CNN "digikey" +F 5 "MCP6424-E/ST" H 2550 10350 60 0001 C CNN "part" + 5 2550 10350 + 1 0 0 -1 +$EndComp +Text Label 2050 6300 0 60 ~ 0 +STRAIN_POWER +$Comp +L GND #PWR01 +U 1 1 582D853C +P 1800 10700 +F 0 "#PWR01" H 1800 10450 50 0001 C CNN +F 1 "GND" H 1800 10550 50 0000 C CNN +F 2 "" H 1800 10700 50 0000 C CNN +F 3 "" H 1800 10700 50 0000 C CNN + 1 1800 10700 + 1 0 0 -1 +$EndComp +Text Label 1250 7850 0 60 ~ 0 +STRAIN_+ +Text Label 1250 7950 0 60 ~ 0 +STRAIN_- +$Comp +L GND #PWR02 +U 1 1 582D9C36 +P 1800 8150 +F 0 "#PWR02" H 1800 7900 50 0001 C CNN +F 1 "GND" H 1800 8000 50 0000 C CNN +F 2 "" H 1800 8150 50 0000 C CNN +F 3 "" H 1800 8150 50 0000 C CNN + 1 1800 8150 + 1 0 0 -1 +$EndComp +$Comp +L VDD_STRAIN #PWR03 +U 1 1 582D9EB5 +P 2850 6200 +F 0 "#PWR03" H 2850 6150 60 0001 C CNN +F 1 "VDD_STRAIN" H 2850 6350 60 0000 C CNN +F 2 "" H 2850 6200 60 0001 C CNN +F 3 "" H 2850 6200 60 0001 C CNN + 1 2850 6200 + 1 0 0 -1 +$EndComp +$Comp +L VDD_STRAIN #PWR04 +U 1 1 582D9EED +P 1800 9950 +F 0 "#PWR04" H 1800 9900 60 0001 C CNN +F 1 "VDD_STRAIN" H 1800 10100 60 0000 C CNN +F 2 "" H 1800 9950 60 0001 C CNN +F 3 "" H 1800 9950 60 0001 C CNN + 1 1800 9950 + 1 0 0 -1 +$EndComp +$Comp +L C C39 +U 1 1 582DA089 +P 1800 10350 +F 0 "C39" H 1825 10450 50 0000 L CNN +F 1 "0.1u" H 1825 10250 50 0000 L CNN +F 2 "Capacitors_SMD:C_1206" H 1838 10200 50 0001 C CNN +F 3 "" H 1800 10350 50 0000 C CNN +F 4 "490-1767-1-ND" H 1800 10350 60 0001 C CNN "digikey" +F 5 "GRM31C5C1E104JA01L" H 1800 10350 60 0001 C CNN "part" +F 6 "5%" H 1750 3050 60 0001 C CNN "tolerance" +F 7 "6.3V" H 1750 3050 60 0001 C CNN "voltage" +F 8 "C0G / NP0" H 1750 3050 60 0001 C CNN "temp_coeff" + 1 1800 10350 + 1 0 0 -1 +$EndComp +$Comp +L C C5 +U 1 1 582DA8D9 +P 2600 8150 +F 0 "C5" H 2625 8250 50 0000 L CNN +F 1 "1u" H 2625 8050 50 0000 L CNN +F 2 "Capacitors_SMD:C_1206" H 2638 8000 50 0001 C CNN +F 3 "" H 2600 8150 50 0000 C CNN +F 4 "311-1924-1-ND" H 2600 8150 60 0001 C CNN "digikey" +F 5 "CC1206JKX7R7BB105" H 2600 8150 60 0001 C CNN "part" +F 6 "5%" H 2050 3050 60 0001 C CNN "tolerance" +F 7 "16V" H 2050 3050 60 0001 C CNN "voltage" +F 8 "X7R" H 2050 3050 60 0001 C CNN "temp_coeff" + 1 2600 8150 + 1 0 0 -1 +$EndComp +$Comp +L GND #PWR05 +U 1 1 582DA9A3 +P 2600 8400 +F 0 "#PWR05" H 2600 8150 50 0001 C CNN +F 1 "GND" H 2600 8250 50 0000 C CNN +F 2 "" H 2600 8400 50 0000 C CNN +F 3 "" H 2600 8400 50 0000 C CNN + 1 2600 8400 + 1 0 0 -1 +$EndComp +$Comp +L C C29 +U 1 1 582DBF2D +P 3200 8450 +F 0 "C29" H 3225 8550 50 0000 L CNN +F 1 "100n" H 3225 8350 50 0000 L CNN +F 2 "Capacitors_SMD:C_1206" H 3238 8300 50 0001 C CNN +F 3 "" H 3200 8450 50 0000 C CNN +F 4 "490-1767-1-ND" H 3200 8450 60 0001 C CNN "digikey" +F 5 "GRM31C5C1E104JA01L" H 3200 8450 60 0001 C CNN "part" +F 6 "5%" H 2050 3050 60 0001 C CNN "tolerance" +F 7 "6.3V" H 2050 3050 60 0001 C CNN "voltage" +F 8 "C0G / NP0" H 2050 3050 60 0001 C CNN "temp_coeff" + 1 3200 8450 + 0 1 1 0 +$EndComp +$Comp +L C C4 +U 1 1 582DCBD5 +P 3500 7050 +F 0 "C4" H 3525 7150 50 0000 L CNN +F 1 "10u" H 3525 6950 50 0000 L CNN +F 2 "Capacitors_SMD:C_1206" H 3538 6900 50 0001 C CNN +F 3 "" H 3500 7050 50 0000 C CNN +F 4 "1276-1804-1-ND" H 3500 7050 60 0001 C CNN "digikey" +F 5 "CL31B106KAHNNNE" H 3500 7050 60 0001 C CNN "part" +F 6 "10%" H 2050 3050 60 0001 C CNN "tolerance" +F 7 "16V" H 2050 3050 60 0001 C CNN "voltage" +F 8 "X7R" H 2050 3050 60 0001 C CNN "temp_coeff" + 1 3500 7050 + 1 0 0 -1 +$EndComp +$Comp +L R R26 +U 1 1 582DCE85 +P 3750 7050 +F 0 "R26" V 3830 7050 50 0000 C CNN +F 1 "1M" V 3750 7050 50 0000 C CNN +F 2 "Resistors_SMD:R_0402" V 3680 7050 50 0001 C CNN +F 3 "" H 3750 7050 50 0000 C CNN +F 4 "311-1.00MLRCT-ND" V 3750 7050 60 0001 C CNN "digikey" +F 5 "RC0402FR-071ML" V 3750 7050 60 0001 C CNN "part" +F 6 "1%" V 3750 7050 60 0001 C CNN "tolerance" + 1 3750 7050 + 1 0 0 -1 +$EndComp +$Comp +L R R23 +U 1 1 582DF042 +P 4900 7750 +F 0 "R23" V 4980 7750 50 0000 C CNN +F 1 "270k" V 4900 7750 50 0000 C CNN +F 2 "Resistors_SMD:R_0402" V 4830 7750 50 0001 C CNN +F 3 "" H 4900 7750 50 0000 C CNN +F 4 "311-270KLRCT-ND" V 4900 7750 60 0001 C CNN "digikey" +F 5 "RC0402FR-07270KL" V 4900 7750 60 0001 C CNN "part" +F 6 "1%" V 4900 7750 60 0001 C CNN "tolerance" + 1 4900 7750 + 0 1 1 0 +$EndComp +$Comp +L C C2 +U 1 1 582DF0B2 +P 5300 7750 +F 0 "C2" H 5325 7850 50 0000 L CNN +F 1 "100n" H 5325 7650 50 0000 L CNN +F 2 "Capacitors_SMD:C_1206" H 5338 7600 50 0001 C CNN +F 3 "" H 5300 7750 50 0000 C CNN +F 4 "490-1767-1-ND" H 5300 7750 60 0001 C CNN "digikey" +F 5 "GRM31C5C1E104JA01L" H 5300 7750 60 0001 C CNN "part" +F 6 "5%" H 5300 7750 60 0001 C CNN "tolerance" +F 7 "6.3" H 5300 7750 60 0001 C CNN "voltage" +F 8 "C0G / NP0" H 5300 7750 60 0001 C CNN "temp_coeff" + 1 5300 7750 + 0 1 1 0 +$EndComp +$Comp +L R R19 +U 1 1 582E0726 +P 6000 8150 +F 0 "R19" V 6080 8150 50 0000 C CNN +F 1 "1M" V 6000 8150 50 0000 C CNN +F 2 "Resistors_SMD:R_0402" V 5930 8150 50 0001 C CNN +F 3 "" H 6000 8150 50 0000 C CNN +F 4 "311-1.00MLRCT-ND" V 6000 8150 60 0001 C CNN "digikey" +F 5 "RC0402FR-071ML" V 6000 8150 60 0001 C CNN "part" +F 6 "1%" V 6000 8150 60 0001 C CNN "tolerance" + 1 6000 8150 + 0 1 1 0 +$EndComp +Text Label 6450 6400 3 60 ~ 0 +STRAIN_DERIVED +Text Label 7500 6400 3 60 ~ 0 +DERIVED_TRIGGER +$Comp +L GND #PWR06 +U 1 1 582E2D8A +P 3500 7400 +F 0 "#PWR06" H 3500 7150 50 0001 C CNN +F 1 "GND" H 3500 7250 50 0000 C CNN +F 2 "" H 3500 7400 50 0000 C CNN +F 3 "" H 3500 7400 50 0000 C CNN + 1 3500 7400 + 1 0 0 -1 +$EndComp +Text Label 4650 6400 3 60 ~ 0 +STRAIN +$Comp +L C C11 +U 1 1 582D95E7 +P 5250 9250 +F 0 "C11" H 5275 9350 50 0000 L CNN +F 1 "100n" H 5275 9150 50 0000 L CNN +F 2 "Capacitors_SMD:C_1206" H 5288 9100 50 0001 C CNN +F 3 "" H 5250 9250 50 0000 C CNN +F 4 "490-1767-1-ND" H 5250 9250 60 0001 C CNN "digikey" +F 5 "GRM31C5C1E104JA01L" H 5250 9250 60 0001 C CNN "part" +F 6 "5%" H 1750 3050 60 0001 C CNN "tolerance" +F 7 "6.3V" H 1750 3050 60 0001 C CNN "voltage" +F 8 "C0G / NP0" H 1750 3050 60 0001 C CNN "temp_coeff" + 1 5250 9250 + -1 0 0 1 +$EndComp +$Comp +L VDD_STRAIN #PWR07 +U 1 1 582DD45D +P 4500 8650 +F 0 "#PWR07" H 4500 8600 60 0001 C CNN +F 1 "VDD_STRAIN" H 4500 8800 60 0000 C CNN +F 2 "" H 4500 8650 60 0001 C CNN +F 3 "" H 4500 8650 60 0001 C CNN + 1 4500 8650 + 1 0 0 -1 +$EndComp +$Comp +L GND #PWR08 +U 1 1 582DD58B +P 2350 9450 +F 0 "#PWR08" H 2350 9200 50 0001 C CNN +F 1 "GND" H 2350 9300 50 0000 C CNN +F 2 "" H 2350 9450 50 0000 C CNN +F 3 "" H 2350 9450 50 0000 C CNN + 1 2350 9450 + 1 0 0 -1 +$EndComp +NoConn ~ 2500 8900 +Entry Wire Line + 4800 9250 4900 9350 +Entry Wire Line + 4800 9350 4900 9450 +Text Label 3900 9250 0 60 ~ 0 +STRAIN_SCL +Text Label 3900 9350 0 60 ~ 0 +STRAIN_SDA +Text Label 3500 6800 0 60 ~ 0 +VDD_STRAIN_HALF +$Comp +L C C103 +U 1 1 582E80DB +P 2000 2600 +F 0 "C103" H 2025 2700 50 0000 L CNN +F 1 "68n" H 2025 2500 50 0000 L CNN +F 2 "Capacitors_SMD:C_0402" H 2038 2450 50 0001 C CNN +F 3 "" H 2000 2600 50 0000 C CNN +F 4 "X5R" H 2000 2600 60 0001 C CNN "temp_coeff" +F 5 "490-5876-2-ND" H 2000 2600 60 0001 C CNN "digikey" +F 6 "GRM1555C1H680JA01D" H 2000 2600 60 0001 C CNN "part" + 1 2000 2600 + 1 0 0 -1 +$EndComp +$Comp +L C C7 +U 1 1 582EA6F7 +P 2850 3600 +F 0 "C7" H 2875 3700 50 0000 L CNN +F 1 "10u" H 2875 3500 50 0000 L CNN +F 2 "Capacitors_SMD:C_1206" H 2888 3450 50 0001 C CNN +F 3 "" H 2850 3600 50 0000 C CNN +F 4 "1276-1804-1-ND" H 2850 3600 60 0001 C CNN "digikey" +F 5 "CL31B106KAHNNNE" H 2850 3600 60 0001 C CNN "part" +F 6 "10%" H 2000 2600 60 0001 C CNN "tolerance" +F 7 "16V" H 2000 2600 60 0001 C CNN "voltage" +F 8 "X7R" H 2000 2600 60 0001 C CNN "temp_coeff" + 1 2850 3600 + 1 0 0 -1 +$EndComp +$Comp +L C C8 +U 1 1 582EA78C +P 3050 3600 +F 0 "C8" H 3075 3700 50 0000 L CNN +F 1 "10u" H 3075 3500 50 0000 L CNN +F 2 "Capacitors_SMD:C_1206" H 3088 3450 50 0001 C CNN +F 3 "" H 3050 3600 50 0000 C CNN +F 4 "1276-1804-1-ND" H 3050 3600 60 0001 C CNN "digikey" +F 5 "CL31B106KAHNNNE" H 3050 3600 60 0001 C CNN "part" +F 6 "10%" H 2000 2600 60 0001 C CNN "tolerance" +F 7 "16V" H 2000 2600 60 0001 C CNN "voltage" +F 8 "X7R" H 2000 2600 60 0001 C CNN "temp_coeff" + 1 3050 3600 + 1 0 0 -1 +$EndComp +$Comp +L C C6 +U 1 1 582EAF06 +P 2650 3600 +F 0 "C6" H 2675 3700 50 0000 L CNN +F 1 "1n" H 2675 3500 50 0000 L CNN +F 2 "Capacitors_SMD:C_0402" H 2688 3450 50 0001 C CNN +F 3 "" H 2650 3600 50 0000 C CNN +F 4 "490-6169-1-ND" H 2650 3600 60 0001 C CNN "digikey" +F 5 "GRM1555C1E102JA01D" H 2650 3600 60 0001 C CNN "part" +F 6 "5%" H 2000 2600 60 0001 C CNN "tolerance" +F 7 "6.3V" H 2000 2600 60 0001 C CNN "voltage" +F 8 "C0G / NP0" H 2000 2600 60 0001 C CNN "temp_coeff" + 1 2650 3600 + 1 0 0 -1 +$EndComp +Text Label 1800 3800 0 60 ~ 0 +HR_CLK +Text Label 5000 2100 0 60 ~ 0 +HR_CS +Text Label 5000 2200 0 60 ~ 0 +HR_SCLK +Text Label 10800 1550 1 60 ~ 0 +HR_MOSI +Text Label 5000 2400 0 60 ~ 0 +HR_MISO +Text Label 5000 2600 0 60 ~ 0 +HR_INT1 +Text Label 5000 2700 0 60 ~ 0 +HR_INT2 +$Comp +L GND #PWR09 +U 1 1 582E8ACD +P 12450 4000 +F 0 "#PWR09" H 12450 3750 50 0001 C CNN +F 1 "GND" H 12450 3850 50 0000 C CNN +F 2 "" H 12450 4000 50 0000 C CNN +F 3 "" H 12450 4000 50 0000 C CNN + 1 12450 4000 + 1 0 0 -1 +$EndComp +$Comp +L VCC #PWR010 +U 1 1 582E8F0A +P 13950 2050 +F 0 "#PWR010" H 13950 1900 50 0001 C CNN +F 1 "VCC" H 13950 2200 50 0000 C CNN +F 2 "" H 13950 2050 50 0000 C CNN +F 3 "" H 13950 2050 50 0000 C CNN + 1 13950 2050 + 1 0 0 -1 +$EndComp +$Comp +L GND #PWR011 +U 1 1 58356475 +P 4750 3450 +F 0 "#PWR011" H 4750 3200 50 0001 C CNN +F 1 "GND" H 4750 3300 50 0000 C CNN +F 2 "" H 4750 3450 50 0000 C CNN +F 3 "" H 4750 3450 50 0000 C CNN + 1 4750 3450 + 1 0 0 -1 +$EndComp +$Comp +L GND #PWR012 +U 1 1 58357FCA +P 5250 9500 +F 0 "#PWR012" H 5250 9250 50 0001 C CNN +F 1 "GND" H 5250 9350 50 0000 C CNN +F 2 "" H 5250 9500 50 0000 C CNN +F 3 "" H 5250 9500 50 0000 C CNN + 1 5250 9500 + 1 0 0 -1 +$EndComp +$Comp +L C C10 +U 1 1 58358D6C +P 5700 4650 +F 0 "C10" H 5725 4750 50 0000 L CNN +F 1 "0.1u" H 5725 4550 50 0000 L CNN +F 2 "Capacitors_SMD:C_1206" H 5738 4500 50 0001 C CNN +F 3 "" H 5700 4650 50 0000 C CNN +F 4 "490-1767-1-ND" H 5700 4650 60 0001 C CNN "digikey" +F 5 "GRM31C5C1E104JA01L" H 5700 4650 60 0001 C CNN "part" +F 6 "5%" H 6850 6350 60 0001 C CNN "tolerance" +F 7 "6.3V" H 6850 6350 60 0001 C CNN "voltage" +F 8 "C0G / NP0" H 6850 6350 60 0001 C CNN "temp_coeff" + 1 5700 4650 + 1 0 0 -1 +$EndComp +$Comp +L C C14 +U 1 1 58359AE7 +P 3900 4650 +F 0 "C14" H 3925 4750 50 0000 L CNN +F 1 "10u" H 3925 4550 50 0000 L CNN +F 2 "Capacitors_SMD:C_1206" H 3938 4500 50 0001 C CNN +F 3 "" H 3900 4650 50 0000 C CNN +F 4 "1276-1804-1-ND" H 3900 4650 60 0001 C CNN "digikey" +F 5 "CL31B106KAHNNNE" H 3900 4650 60 0001 C CNN "part" +F 6 "10%" H 4350 6350 60 0001 C CNN "tolerance" +F 7 "16V" H 4350 6350 60 0001 C CNN "voltage" +F 8 "X7R" H 4350 6350 60 0001 C CNN "temp_coeff" + 1 3900 4650 + 1 0 0 -1 +$EndComp +$Comp +L VDD_HR #PWR013 +U 1 1 5835C555 +P 3650 1550 +F 0 "#PWR013" H 3650 1500 60 0001 C CNN +F 1 "VDD_HR" H 3650 1700 60 0000 C CNN +F 2 "" H 3650 1550 60 0001 C CNN +F 3 "" H 3650 1550 60 0001 C CNN + 1 3650 1550 + 1 0 0 -1 +$EndComp +$Comp +L GND #PWR014 +U 1 1 5835C9D5 +P 2650 3850 +F 0 "#PWR014" H 2650 3600 50 0001 C CNN +F 1 "GND" H 2650 3700 50 0000 C CNN +F 2 "" H 2650 3850 50 0000 C CNN +F 3 "" H 2650 3850 50 0000 C CNN + 1 2650 3850 + 1 0 0 -1 +$EndComp +$Comp +L C C20 +U 1 1 5835E6E9 +P 13350 3500 +F 0 "C20" H 13375 3600 50 0000 L CNN +F 1 "100n" H 13375 3400 50 0000 L CNN +F 2 "Capacitors_SMD:C_0402" H 13388 3350 50 0001 C CNN +F 3 "" H 13350 3500 50 0000 C CNN +F 4 "1276-1001-1-ND" H 13350 3500 60 0001 C CNN "digikey" +F 5 "CL05B104KO5NNNC" H 13350 3500 60 0001 C CNN "part" +F 6 "10%" H 2050 3050 60 0001 C CNN "tolerance" +F 7 "6.3V" H 2050 3050 60 0001 C CNN "voltage" +F 8 "XR7" H 2050 3050 60 0001 C CNN "temp_coeff" + 1 13350 3500 + 1 0 0 -1 +$EndComp +$Comp +L C C18 +U 1 1 5835E8DB +P 12850 3500 +F 0 "C18" H 12875 3600 50 0000 L CNN +F 1 "100p" H 12875 3400 50 0000 L CNN +F 2 "Capacitors_SMD:C_0402" H 12888 3350 50 0001 C CNN +F 3 "" H 12850 3500 50 0000 C CNN +F 4 "1276-1025-1-ND" H 12850 3500 60 0001 C CNN "digikey" +F 5 "CL05C101JB5NNNC" H 12850 3500 60 0001 C CNN "part" +F 6 "5%" H 2050 3050 60 0001 C CNN "tolerance" +F 7 "6.3V" H 2050 3050 60 0001 C CNN "voltage" +F 8 "C0G / NP0" H 2050 3050 60 0001 C CNN "temp_coeff" + 1 12850 3500 + 1 0 0 -1 +$EndComp +$Comp +L C C19 +U 1 1 5835E9E0 +P 13100 3500 +F 0 "C19" H 13125 3600 50 0000 L CNN +F 1 "NA" H 13125 3400 50 0000 L CNN +F 2 "Capacitors_SMD:C_0402" H 13138 3350 50 0001 C CNN +F 3 "" H 13100 3500 50 0000 C CNN +F 4 "DNI" H 13200 3300 60 0000 C CNN "assembly" + 1 13100 3500 + 1 0 0 -1 +$EndComp +$Comp +L C C15 +U 1 1 5835F888 +P 12600 3500 +F 0 "C15" H 12625 3600 50 0000 L CNN +F 1 "1u" H 12625 3400 50 0000 L CNN +F 2 "Capacitors_SMD:C_0402" H 12638 3350 50 0001 C CNN +F 3 "" H 12600 3500 50 0000 C CNN +F 4 "GRM155R61C105KA12D" H 12600 3500 60 0001 C CNN "part" +F 5 "490-10694-2-ND" H 12600 3500 60 0001 C CNN "digikey" +F 6 "10%" H 2050 3050 60 0001 C CNN "tolerance" +F 7 "16V" H 2050 3050 60 0001 C CNN "voltage" +F 8 "X5R" H 2050 3050 60 0001 C CNN "temp_coeff" + 1 12600 3500 + 1 0 0 -1 +$EndComp +Text Label 12350 3250 0 60 ~ 0 +Dec4 +Text Label 12350 3150 0 60 ~ 0 +Dec3 +Text Label 12350 3050 0 60 ~ 0 +Dec2 +Text Label 12350 2950 0 60 ~ 0 +Dec1 +$Comp +L GND #PWR015 +U 1 1 583605FE +P 12900 1600 +F 0 "#PWR015" H 12900 1350 50 0001 C CNN +F 1 "GND" H 12900 1450 50 0000 C CNN +F 2 "" H 12900 1600 50 0000 C CNN +F 3 "" H 12900 1600 50 0000 C CNN + 1 12900 1600 + 1 0 0 -1 +$EndComp +$Comp +L C C16 +U 1 1 58360687 +P 13100 1250 +F 0 "C16" H 13125 1350 50 0000 L CNN +F 1 "12p" H 13125 1150 50 0000 L CNN +F 2 "Capacitors_SMD:C_0402" H 13138 1100 50 0001 C CNN +F 3 "" H 13100 1250 50 0000 C CNN +F 4 "490-6197-1-ND" H 13100 1250 60 0001 C CNN "digikey" +F 5 "GRM1555C1H120GA01D" H 13100 1250 60 0001 C CNN "part" +F 6 "2%" H 2500 3250 60 0001 C CNN "tolerance" +F 7 "C0G / NP0" H 2500 3250 60 0001 C CNN "temp_coeff" + 1 13100 1250 + 1 0 0 -1 +$EndComp +$Comp +L C C17 +U 1 1 583607F9 +P 12700 1250 +F 0 "C17" H 12725 1350 50 0000 L CNN +F 1 "12p" H 12725 1150 50 0000 L CNN +F 2 "Capacitors_SMD:C_0402" H 12738 1100 50 0001 C CNN +F 3 "" H 12700 1250 50 0000 C CNN +F 4 "490-6197-1-ND" H 12700 1250 60 0001 C CNN "digikey" +F 5 "GRM1555C1H120GA01D" H 12700 1250 60 0001 C CNN "part" +F 6 "2%" H 2100 2850 60 0001 C CNN "tolerance" +F 7 "C0G / NP0" H 2100 2850 60 0001 C CNN "temp_coeff" + 1 12700 1250 + -1 0 0 -1 +$EndComp +$Comp +L L_Small L1 +U 1 1 58361EFC +P 13650 2850 +F 0 "L1" H 13680 2890 50 0000 L CNN +F 1 "10u" H 13680 2810 50 0000 L CNN +F 2 "Capacitors_SMD:C_0805" H 13650 2850 50 0001 C CNN +F 3 "" H 13650 2850 50 0000 C CNN +F 4 "587-2045-1-ND" H 13650 2850 60 0001 C CNN "digikey" +F 5 "LBR2012T100K" H 13650 2850 60 0001 C CNN "part" +F 6 "20%" H 13650 2850 60 0001 C CNN "tolerance" + 1 13650 2850 + 1 0 0 -1 +$EndComp +$Comp +L L_Small L2 +U 1 1 58362144 +P 13650 3100 +F 0 "L2" H 13680 3140 50 0000 L CNN +F 1 "15n" H 13680 3060 50 0000 L CNN +F 2 "Capacitors_SMD:C_0402" H 13650 3100 50 0001 C CNN +F 3 "" H 13650 3100 50 0000 C CNN +F 4 "553-2320-1-ND" H 13650 3100 60 0001 C CNN "digikey" +F 5 "PE-0402CC150JTT" H 13650 3100 60 0001 C CNN "part" +F 6 "10%" H 13650 3100 60 0001 C CNN "tolerance" + 1 13650 3100 + 1 0 0 -1 +$EndComp +$Comp +L C C21 +U 1 1 58362A6F +P 13950 2850 +F 0 "C21" H 13975 2950 50 0000 L CNN +F 1 "100n" H 13975 2750 50 0000 L CNN +F 2 "Capacitors_SMD:C_0402" H 13988 2700 50 0001 C CNN +F 3 "" H 13950 2850 50 0000 C CNN +F 4 "1276-1001-1-ND" H 13950 2850 60 0001 C CNN "digikey" +F 5 "CL05B104KO5NNNC" H 13950 2850 60 0001 C CNN "part" +F 6 "10%" H 2050 3050 60 0001 C CNN "tolerance" +F 7 "XR7" H 2050 3050 60 0001 C CNN "temp_coeff" + 1 13950 2850 + 1 0 0 -1 +$EndComp +$Comp +L C C23 +U 1 1 58363148 +P 14450 2850 +F 0 "C23" H 14475 2950 50 0000 L CNN +F 1 "4.7u" H 14475 2750 50 0000 L CNN +F 2 "Capacitors_SMD:C_1210" H 14488 2700 50 0001 C CNN +F 3 "" H 14450 2850 50 0000 C CNN +F 4 "399-5777-2-ND" H 14450 2850 60 0001 C CNN "digikey" +F 5 "C1210C475J3NACTU" H 14450 2850 60 0001 C CNN "part" +F 6 "5%" H 2050 3050 60 0001 C CNN "tolerance" +F 7 "16V" H 2050 3050 60 0001 C CNN "voltage" +F 8 "X5R" H 2050 3050 60 0001 C CNN "temp_coeff" + 1 14450 2850 + 1 0 0 -1 +$EndComp +$Comp +L C C22 +U 1 1 58364114 +P 14200 2850 +F 0 "C22" H 14225 2950 50 0000 L CNN +F 1 "100n" H 14225 2750 50 0000 L CNN +F 2 "Capacitors_SMD:C_0402" H 14238 2700 50 0001 C CNN +F 3 "" H 14200 2850 50 0000 C CNN +F 4 "1276-1001-1-ND" H 14200 2850 60 0001 C CNN "digikey" +F 5 "CL05B104KO5NNNC" H 14200 2850 60 0001 C CNN "part" +F 6 "10%" H 2050 3050 60 0001 C CNN "tolerance" +F 7 "X7R" H 2050 3050 60 0001 C CNN "temp_coeff" + 1 14200 2850 + 1 0 0 -1 +$EndComp +Entry Wire Line + 12800 1950 12900 2050 +Entry Wire Line + 12800 2050 12900 2150 +Entry Wire Line + 12800 2150 12900 2250 +Text Label 12350 1950 0 60 ~ 0 +SWDCLK +Text Label 12350 2050 0 60 ~ 0 +SWDIO +Text Label 12350 2150 0 60 ~ 0 +SWO +$Comp +L Crystal_Small Y2 +U 1 1 58367469 +P 9050 1400 +F 0 "Y2" H 9050 1500 50 0000 C CNN +F 1 "32.768kHz" H 9050 1300 50 0000 C CNN +F 2 "SweetZpot:FC-135" H 9050 1400 50 0001 C CNN +F 3 "" H 9050 1400 50 0000 C CNN +F 4 "EPSON TOYOCOM - FC-135 32.768KHZ ±20PPM,9.0PF - CRYSTAL, SM, WATCH" H 9050 1400 60 0001 C CNN "Quality" +F 5 "FC-135 32.768KHZ ±20PPM,9.0PF" H 9050 1400 60 0001 C CNN "nrf52dk" +F 6 "FC-135R 32.7680KA-AC3" H 9050 1400 60 0001 C CNN "part" +F 7 "SER4072CT-ND" H 9050 1400 60 0001 C CNN "digikey" + 1 9050 1400 + -1 0 0 1 +$EndComp +$Comp +L C C24 +U 1 1 58367561 +P 8850 1650 +F 0 "C24" H 8875 1750 50 0000 L CNN +F 1 "12p" H 8875 1550 50 0000 L CNN +F 2 "Capacitors_SMD:C_0402" H 8888 1500 50 0001 C CNN +F 3 "" H 8850 1650 50 0000 C CNN +F 4 "490-6197-1-ND" H 8850 1650 60 0001 C CNN "digikey" +F 5 "GRM1555C1H120GA01D" H 8850 1650 60 0001 C CNN "part" +F 6 "2%" H 2050 3050 60 0001 C CNN "tolerance" +F 7 "C0G / NP0" H 2050 3050 60 0001 C CNN "temp_coeff" + 1 8850 1650 + -1 0 0 -1 +$EndComp +$Comp +L C C25 +U 1 1 58367816 +P 9250 1650 +F 0 "C25" H 9275 1750 50 0000 L CNN +F 1 "12p" H 9275 1550 50 0000 L CNN +F 2 "Capacitors_SMD:C_0402" H 9288 1500 50 0001 C CNN +F 3 "" H 9250 1650 50 0000 C CNN +F 4 "490-6197-1-ND" H 9250 1650 60 0001 C CNN "digikey" +F 5 "GRM1555C1H120GA01D" H 9250 1650 60 0001 C CNN "part" +F 6 "2%" H 2050 3050 60 0001 C CNN "tolerance" +F 7 "C0G / NP0" H 2050 3050 60 0001 C CNN "temp_coeff" + 1 9250 1650 + 1 0 0 -1 +$EndComp +$Comp +L GND #PWR016 +U 1 1 58367EEF +P 9050 2000 +F 0 "#PWR016" H 9050 1750 50 0001 C CNN +F 1 "GND" H 9050 1850 50 0000 C CNN +F 2 "" H 9050 2000 50 0000 C CNN +F 3 "" H 9050 2000 50 0000 C CNN + 1 9050 2000 + 1 0 0 -1 +$EndComp +Text Notes 6000 5400 2 100 ~ 20 +Heart rate +Text Notes 5800 5700 0 100 ~ 20 +Breating +Text Notes 6200 5400 0 100 ~ 20 +Bluetooth +Text Label 12050 4400 0 60 ~ 0 +ANT +Entry Wire Line + 5500 2100 5600 2200 +Entry Wire Line + 5500 2200 5600 2300 +Entry Wire Line + 5500 2300 5600 2400 +Entry Wire Line + 5500 2400 5600 2500 +Entry Wire Line + 5500 2600 5600 2700 +Entry Wire Line + 5500 2700 5600 2800 +Entry Wire Line + 10600 950 10500 1050 +Entry Wire Line + 10700 950 10600 1050 +Entry Wire Line + 10800 950 10700 1050 +Entry Wire Line + 10900 950 10800 1050 +Entry Wire Line + 11000 950 10900 1050 +Text Label 11000 1550 1 60 ~ 0 +HR_CS +Text Label 10900 1550 1 60 ~ 0 +HR_SCLK +Text Label 5000 2300 0 60 ~ 0 +HR_MOSI +Text Label 10700 1550 1 60 ~ 0 +HR_MISO +Text Label 10600 1550 1 60 ~ 0 +HR_INT1 +Text Label 10500 1550 1 60 ~ 0 +HR_INT2 +Entry Wire Line + 11100 950 11000 1050 +Text Label 10500 950 0 60 ~ 0 +HR_BUS +Text Label 5600 1650 0 60 ~ 0 +HR_BUS +Entry Wire Line + 7500 6400 7600 6300 +Entry Wire Line + 6450 6400 6550 6300 +Entry Wire Line + 4650 6400 4750 6300 +Entry Wire Line + 8150 2800 8050 2900 +Entry Wire Line + 8150 2900 8050 3000 +Entry Wire Line + 8150 3000 8050 3100 +Text Label 9650 2900 2 60 ~ 0 +STRAIN_DERIVED +Text Label 9650 3000 2 60 ~ 0 +DERIVED_TRIGGER +Text Label 9650 2800 2 60 ~ 0 +STRAIN +Text Label 9650 3200 2 60 ~ 0 +STRAIN_SCL +Text Label 9650 3100 2 60 ~ 0 +STRAIN_SDA +NoConn ~ 11150 4250 +NoConn ~ 10950 4250 +NoConn ~ 10850 4250 +NoConn ~ 10750 4250 +NoConn ~ 9650 3400 +NoConn ~ 9650 3500 +NoConn ~ 10400 1550 +$Comp +L C C26 +U 1 1 58371120 +P 12450 4650 +F 0 "C26" H 12475 4750 50 0000 L CNN +F 1 "0.8p" H 12475 4550 50 0000 L CNN +F 2 "Capacitors_SMD:C_0402" H 12488 4500 50 0001 C CNN +F 3 "" H 12450 4650 50 0000 C CNN +F 4 "490-6270-1-ND" H 12450 4650 60 0001 C CNN "digikey" +F 5 "GRM1555C1HR80WA01D" H 12450 4650 60 0001 C CNN "part" +F 6 "5%" H 2050 3050 60 0001 C CNN "tolerance" +F 7 "6.3V" H 2050 3050 60 0001 C CNN "voltage" +F 8 "C0G / NP0" H 2050 3050 60 0001 C CNN "temp_coeff" + 1 12450 4650 + 1 0 0 -1 +$EndComp +$Comp +L L_Small L3 +U 1 1 583711FD +P 12650 4400 +F 0 "L3" H 12680 4440 50 0000 L CNN +F 1 "3.9nH" H 12680 4360 50 0000 L CNN +F 2 "Capacitors_SMD:C_0402" H 12650 4400 50 0001 C CNN +F 3 "" H 12650 4400 50 0000 C CNN +F 4 "587-1509-1-ND" H 12650 4400 60 0001 C CNN "digikey" +F 5 "HK10053N9S-T" H 12650 4400 60 0001 C CNN "part" + 1 12650 4400 + 0 -1 -1 0 +$EndComp +$Comp +L C C27 +U 1 1 583712FB +P 12850 4650 +F 0 "C27" H 12875 4750 50 0000 L CNN +F 1 "1.2p" H 12875 4550 50 0000 L CNN +F 2 "Capacitors_SMD:C_0402" H 12888 4500 50 0001 C CNN +F 3 "" H 12850 4650 50 0000 C CNN +F 4 "490-6210-6-ND" H 12850 4650 60 0001 C CNN "digikey" +F 5 "GRM1555C1H1R2WA01D" H 12850 4650 60 0001 C CNN "part" +F 6 "5%" H 2050 3050 60 0001 C CNN "tolerance" +F 7 "6.3V" H 2050 3050 60 0001 C CNN "voltage" +F 8 "C0G / NP0" H 2050 3050 60 0001 C CNN "temp_coeff" + 1 12850 4650 + 1 0 0 -1 +$EndComp +$Comp +L GND #PWR017 +U 1 1 583717DF +P 12450 4900 +F 0 "#PWR017" H 12450 4650 50 0001 C CNN +F 1 "GND" H 12450 4750 50 0000 C CNN +F 2 "" H 12450 4900 50 0000 C CNN +F 3 "" H 12450 4900 50 0000 C CNN + 1 12450 4900 + 1 0 0 -1 +$EndComp +$Comp +L GND #PWR018 +U 1 1 583721AB +P 12850 4900 +F 0 "#PWR018" H 12850 4650 50 0001 C CNN +F 1 "GND" H 12850 4750 50 0000 C CNN +F 2 "" H 12850 4900 50 0000 C CNN +F 3 "" H 12850 4900 50 0000 C CNN + 1 12850 4900 + 1 0 0 -1 +$EndComp +Text Label 14250 4400 2 60 ~ 0 +ANT_OUT +$Comp +L ANTENNA U5 +U 1 1 58372F5D +P 14450 4400 +F 0 "U5" H 13950 4650 60 0001 C CNN +F 1 "ANTENNA" H 13950 4900 60 0001 C CNN +F 2 "SweetZpot:ANTENNA_RIGHT_UPWARDS_W=1.5mm" H 14450 4400 60 0001 C CNN +F 3 "" H 14450 4400 60 0001 C CNN +F 4 "DNI" H 14450 4400 60 0001 C CNN "assembly" + 1 14450 4400 + 0 1 -1 0 +$EndComp +Text Label 12350 2750 0 60 ~ 0 +Dcc +Entry Wire Line + 8050 3200 8150 3100 +Entry Wire Line + 8050 3300 8150 3200 +Text Label 4300 6300 0 60 ~ 0 +STRAIN_BUS +Text Label 8050 2800 3 60 ~ 0 +STRAIN_BUS +Text Label 4900 9600 2 60 ~ 0 +STRAIN_BUS +$Comp +L NRF52832 U3 +U 1 1 582E32E2 +P 11000 2900 +F 0 "U3" H 11000 2900 60 0000 C CNN +F 1 "NRF52832-QFAA" H 11000 3300 60 0000 C CNN +F 2 "SweetZpot:QFN-48-1EP-6mm-Hatched_3x3" V 11200 1750 60 0001 C CNN +F 3 "" V 11200 1750 60 0001 C CNN +F 4 "1490-1052-1-ND" H 11000 2900 60 0001 C CNN "digikey" +F 5 "NRF52832-QFAA-R" H 11000 2900 60 0001 C CNN "part" + 1 11000 2900 + 1 0 0 -1 +$EndComp +$Comp +L VDD_STRAIN #PWR019 +U 1 1 58384D11 +P 7000 9500 +F 0 "#PWR019" H 7000 9450 60 0001 C CNN +F 1 "VDD_STRAIN" H 7000 9650 60 0000 C CNN +F 2 "" H 7000 9500 60 0001 C CNN +F 3 "" H 7000 9500 60 0001 C CNN + 1 7000 9500 + 1 0 0 -1 +$EndComp +$Comp +L VDD_HR #PWR020 +U 1 1 583850C3 +P 5400 4200 +F 0 "#PWR020" H 5400 4150 60 0001 C CNN +F 1 "VDD_HR" H 5400 4350 60 0000 C CNN +F 2 "" H 5400 4200 60 0001 C CNN +F 3 "" H 5400 4200 60 0001 C CNN + 1 5400 4200 + -1 0 0 -1 +$EndComp +NoConn ~ 11100 1550 +NoConn ~ 11200 1550 +NoConn ~ 11300 1550 +$Comp +L R R25 +U 1 1 584723FE +P 4400 6950 +F 0 "R25" V 4480 6950 50 0000 C CNN +F 1 "27k" V 4400 6950 50 0000 C CNN +F 2 "Resistors_SMD:R_0402" V 4330 6950 50 0001 C CNN +F 3 "" H 4400 6950 50 0000 C CNN +F 4 "311-27.0KLRCT-ND" V 4400 6950 60 0001 C CNN "digikey" +F 5 "RC0402FR-0727KL" V 4400 6950 60 0001 C CNN "part" +F 6 "1%" V 4400 6950 60 0001 C CNN "tolerance" + 1 4400 6950 + 0 1 1 0 +$EndComp +$Comp +L C C33 +U 1 1 584724FA +P 4650 7200 +F 0 "C33" H 4675 7300 50 0000 L CNN +F 1 "1u" H 4675 7100 50 0000 L CNN +F 2 "Capacitors_SMD:C_1206" H 4688 7050 50 0001 C CNN +F 3 "" H 4650 7200 50 0000 C CNN +F 4 "311-1924-1-ND" H 4650 7200 60 0001 C CNN "digikey" +F 5 "CC1206JKX7R7BB105" H 4650 7200 60 0001 C CNN "part" +F 6 "5%" H 2050 3050 60 0001 C CNN "tolerance" +F 7 "16V" H 2050 3050 60 0001 C CNN "voltage" +F 8 "X7R" H 2050 3050 60 0001 C CNN "temp_coeff" + 1 4650 7200 + 1 0 0 -1 +$EndComp +$Comp +L GND #PWR021 +U 1 1 58472C2D +P 4650 7450 +F 0 "#PWR021" H 4650 7200 50 0001 C CNN +F 1 "GND" H 4650 7300 50 0000 C CNN +F 2 "" H 4650 7450 50 0000 C CNN +F 3 "" H 4650 7450 50 0000 C CNN + 1 4650 7450 + 1 0 0 -1 +$EndComp +$Comp +L MCP6424 U1 +U 2 1 58475360 +P 8500 7650 +F 0 "U1" H 8500 7900 60 0000 C CNN +F 1 "MCP6424" H 8500 7350 60 0000 C CNN +F 2 "Housings_SSOP:SSOP-14_5.3x6.2mm_Pitch0.65mm" H 8300 7650 60 0001 C CNN +F 3 "" H 8300 7650 60 0001 C CNN + 2 8500 7650 + 1 0 0 -1 +$EndComp +Text Notes 8100 8300 0 60 ~ 0 +Not used, configured for\nminimal current usage. +Entry Wire Line + 15100 6350 15200 6450 +Entry Wire Line + 15100 6450 15200 6550 +Entry Wire Line + 15100 6550 15200 6650 +Text Label 14800 6450 2 60 ~ 0 +SWDCLK +Text Label 14800 6550 2 60 ~ 0 +SWO +Text Label 12900 1950 0 60 ~ 0 +DEBUG_BUS +Text Label 15200 6350 0 60 ~ 0 +DEBUG_BUS +$Comp +L GND #PWR022 +U 1 1 58480E66 +P 13450 6850 +F 0 "#PWR022" H 13450 6600 50 0001 C CNN +F 1 "GND" H 13450 6700 50 0000 C CNN +F 2 "" H 13450 6850 50 0000 C CNN +F 3 "" H 13450 6850 50 0000 C CNN + 1 13450 6850 + 1 0 0 -1 +$EndComp +Text Label 11250 4600 1 60 ~ 0 +~RESET +Text Label 14800 6350 2 60 ~ 0 +~RESET +$Comp +L VCC #PWR023 +U 1 1 584831C7 +P 13750 5850 +F 0 "#PWR023" H 13750 5700 50 0001 C CNN +F 1 "VCC" H 13750 6000 50 0000 C CNN +F 2 "" H 13750 5850 50 0000 C CNN +F 3 "" H 13750 5850 50 0000 C CNN + 1 13750 5850 + 1 0 0 -1 +$EndComp +$Comp +L GND #PWR024 +U 1 1 58485165 +P 10200 10100 +F 0 "#PWR024" H 10200 9850 50 0001 C CNN +F 1 "GND" H 10200 9950 50 0000 C CNN +F 2 "" H 10200 10100 50 0000 C CNN +F 3 "" H 10200 10100 50 0000 C CNN + 1 10200 10100 + 1 0 0 -1 +$EndComp +$Comp +L VCC #PWR025 +U 1 1 58485AA6 +P 11000 9500 +F 0 "#PWR025" H 11000 9350 50 0001 C CNN +F 1 "VCC" H 11000 9650 50 0000 C CNN +F 2 "" H 11000 9500 50 0000 C CNN +F 3 "" H 11000 9500 50 0000 C CNN + 1 11000 9500 + 1 0 0 -1 +$EndComp +Text Notes 12350 8800 0 100 ~ 20 +Connections +Text Notes 12350 5700 0 100 ~ 20 +Debugger +$Comp +L PWR_FLAG #FLG026 +U 1 1 5848CDAB +P 6800 9750 +F 0 "#FLG026" H 6800 9845 50 0001 C CNN +F 1 "PWR_FLAG" H 6800 9930 50 0000 C CNN +F 2 "" H 6800 9750 50 0000 C CNN +F 3 "" H 6800 9750 50 0000 C CNN + 1 6800 9750 + 1 0 0 -1 +$EndComp +Text Label 600 1200 0 60 ~ 0 +ECGP +Text Label 600 2200 0 60 ~ 0 +ECGN +Text Label 13550 9000 2 60 ~ 0 +ECGP +Text Label 13550 9400 2 60 ~ 0 +ECGN +Text Label 14600 9000 2 60 ~ 0 +STRAIN_+ +Text Label 14600 9400 2 60 ~ 0 +STRAIN_- +$Comp +L CONN_01X01 P10 +U 1 1 58496224 +P 13100 9000 +F 0 "P10" H 13100 9100 50 0000 C CNN +F 1 "ECGP" V 13200 9000 50 0000 C CNN +F 2 "Measurement_Points:Measurement_Point_Square-TH_Small" H 13100 9000 50 0001 C CNN +F 3 "" H 13100 9000 50 0000 C CNN +F 4 "NA" H 13100 9000 60 0001 C CNN "part" + 1 13100 9000 + -1 0 0 -1 +$EndComp +$Comp +L CONN_01X01 P11 +U 1 1 584962FC +P 13100 9400 +F 0 "P11" H 13100 9500 50 0000 C CNN +F 1 "ECGN" V 13200 9400 50 0000 C CNN +F 2 "Measurement_Points:Measurement_Point_Square-TH_Small" H 13100 9400 50 0001 C CNN +F 3 "" H 13100 9400 50 0000 C CNN +F 4 "NA" H 13100 9400 60 0001 C CNN "part" + 1 13100 9400 + -1 0 0 -1 +$EndComp +$Comp +L CONN_01X01 P20 +U 1 1 584969DA +P 14000 9000 +F 0 "P20" H 14000 9100 50 0000 C CNN +F 1 "STRAIN_+" V 14100 9000 50 0000 C CNN +F 2 "Measurement_Points:Measurement_Point_Square-TH_Small" H 14000 9000 50 0001 C CNN +F 3 "" H 14000 9000 50 0000 C CNN +F 4 "NA" H 14000 9000 60 0001 C CNN "part" + 1 14000 9000 + -1 0 0 -1 +$EndComp +$Comp +L CONN_01X01 P21 +U 1 1 584969E0 +P 14000 9400 +F 0 "P21" H 14000 9500 50 0000 C CNN +F 1 "STRAIN_-" V 14100 9400 50 0000 C CNN +F 2 "Measurement_Points:Measurement_Point_Square-TH_Small" H 14000 9400 50 0001 C CNN +F 3 "" H 14000 9400 50 0000 C CNN +F 4 "NA" H 14000 9400 60 0001 C CNN "part" + 1 14000 9400 + -1 0 0 -1 +$EndComp +Text Notes 12350 7600 0 100 ~ 20 +Test points +$Comp +L CONN_02X03 P32 +U 1 1 5849CD83 +P 15250 8200 +F 0 "P32" H 15250 8400 50 0000 C CNN +F 1 "TEST_SWD" H 15250 8000 50 0000 C CNN +F 2 "SweetZpot:TESTPOINT_2x6_1.27_mm" H 15250 8200 50 0001 C CNN +F 3 "" H 15250 8200 50 0000 C CNN +F 4 "NA" H 15250 8200 60 0001 C CNN "part" + 1 15250 8200 + 1 0 0 -1 +$EndComp +Entry Wire Line + 15850 8300 15950 8200 +Text Label 15500 8200 0 60 ~ 0 +SWDCLK +Text Label 15000 7700 0 60 ~ 0 +DEBUG_BUS +Text Label 15500 8300 0 60 ~ 0 +SWO +Text Label 15000 8200 2 60 ~ 0 +SWDIO +$Comp +L GND #PWR027 +U 1 1 5849D7B5 +P 14900 8400 +F 0 "#PWR027" H 14900 8150 50 0001 C CNN +F 1 "GND" H 14900 8250 50 0000 C CNN +F 2 "" H 14900 8400 50 0000 C CNN +F 3 "" H 14900 8400 50 0000 C CNN + 1 14900 8400 + 1 0 0 -1 +$EndComp +$Comp +L VCC #PWR028 +U 1 1 5849E987 +P 14900 8000 +F 0 "#PWR028" H 14900 7850 50 0001 C CNN +F 1 "VCC" H 14900 8150 50 0000 C CNN +F 2 "" H 14900 8000 50 0000 C CNN +F 3 "" H 14900 8000 50 0000 C CNN + 1 14900 8000 + -1 0 0 -1 +$EndComp +Text Label 15500 8100 0 60 ~ 0 +~RESET +Entry Wire Line + 15950 8000 15850 8100 +Entry Wire Line + 14650 8200 14550 8100 +Entry Wire Line + 15950 8100 15850 8200 +Text Label 10700 4700 0 60 ~ 0 +DEBUG_BUS +Entry Wire Line + 11250 4600 11350 4700 +$Comp +L MAX30003 U4 +U 1 1 582E7890 +P 3700 2500 +F 0 "U4" H 3700 2350 60 0000 C CNN +F 1 "MAX30003" H 3700 2650 60 0000 C CNN +F 2 "Housings_DFN_QFN:QFN-28-1EP_5x5mm_Pitch0.5mm" H 3800 2500 60 0001 C CNN +F 3 "" H 3800 2500 60 0001 C CNN +F 4 "MAX30003CTI+-ND" H 3700 2500 60 0001 C CNN "digikey" +F 5 "MAX30003CTI+" H 3700 2500 60 0001 C CNN "part" + 1 3700 2500 + 1 0 0 -1 +$EndComp +$Comp +L EM7180SFP U6 +U 1 1 584C8D6D +P 10550 6650 +F 0 "U6" H 10550 6750 60 0000 C CNN +F 1 "EM7180SFP" H 10600 6550 60 0000 C CNN +F 2 "SweetZpot:EM7180SFP" H 10550 6650 60 0001 C CNN +F 3 "" H 10550 6650 60 0001 C CNN +F 4 "DNI" H 10550 6350 60 0000 C CNN "assembly" + 1 10550 6650 + 1 0 0 -1 +$EndComp +Text Notes 9500 5700 0 100 ~ 20 +Sensor Fuison +$Comp +L VDD_SF #PWR029 +U 1 1 584DA1E9 +P 9650 6450 +F 0 "#PWR029" H 9650 6400 60 0001 C CNN +F 1 "VDD_SF" H 9650 6600 60 0000 C CNN +F 2 "" H 9650 6450 60 0001 C CNN +F 3 "" H 9650 6450 60 0001 C CNN + 1 9650 6450 + 1 0 0 -1 +$EndComp +$Comp +L GND #PWR030 +U 1 1 584DA6FB +P 9750 6850 +F 0 "#PWR030" H 9750 6600 50 0001 C CNN +F 1 "GND" H 9750 6700 50 0000 C CNN +F 2 "" H 9750 6850 50 0000 C CNN +F 3 "" H 9750 6850 50 0000 C CNN + 1 9750 6850 + 1 0 0 -1 +$EndComp +Entry Wire Line + 12000 6550 12100 6650 +Entry Wire Line + 12000 6650 12100 6750 +Entry Wire Line + 12000 6750 12100 6850 +Text Label 11250 6550 0 60 ~ 0 +SF_SDA +Text Label 11250 6650 0 60 ~ 0 +SF_SCL +Text Label 11250 6750 0 60 ~ 0 +SF_INT +$Comp +L CONN_02X05 P1 +U 1 1 584E0718 +P 14100 6550 +F 0 "P1" H 14100 6850 50 0000 C CNN +F 1 "PROGRAMMER" H 14100 6250 50 0000 C CNN +F 2 "JLink:JLINK_10_NEEDLE" H 14100 5350 50 0001 C CNN +F 3 "" H 14100 5350 50 0000 C CNN +F 4 "NA" H 14100 6550 60 0001 C CNN "part" + 1 14100 6550 + 1 0 0 -1 +$EndComp +Text Label 13850 6450 2 60 ~ 0 +SWDIO +Text Label 14800 6650 2 60 ~ 0 +STRAIN_+ +Text Label 13600 6750 0 60 ~ 0 +ECGP +Text Label 14800 6750 2 60 ~ 0 +ECGN +Entry Wire Line + 13350 6450 13250 6550 +Entry Wire Line + 13350 6650 13250 6750 +Text Label 13250 6450 2 60 ~ 0 +DEBUG_BUS +Entry Wire Line + 10550 4950 10650 5050 +Entry Wire Line + 10450 4950 10550 5050 +Text Label 10550 4750 1 60 ~ 0 +SF_SDA +Text Label 10450 4750 1 60 ~ 0 +SF_SCL +Text Label 10650 4750 1 60 ~ 0 +SF_INT +Text Label 10700 5050 0 60 ~ 0 +SENSOR_FUSION +Text Label 12100 6400 3 60 ~ 0 +SENSOR_FUSION +Entry Wire Line + 10650 4950 10750 5050 +Text Label 10350 4750 1 60 ~ 0 +SF_ENABLE +$Comp +L PWR_FLAG #FLG031 +U 1 1 5853B4A4 +P 11400 9500 +F 0 "#FLG031" H 11400 9595 50 0001 C CNN +F 1 "PWR_FLAG" H 11400 9680 50 0000 C CNN +F 2 "" H 11400 9500 50 0000 C CNN +F 3 "" H 11400 9500 50 0000 C CNN + 1 11400 9500 + 1 0 0 -1 +$EndComp +$Comp +L MMBD4148SE D1 +U 1 1 58543D1C +P 6050 8550 +F 0 "D1" H 6050 8750 60 0000 C CNN +F 1 "MMBD4148SE" H 6050 8350 60 0000 C CNN +F 2 "TO_SOT_Packages_SMD:SOT-23" H 6000 8550 60 0001 C CNN +F 3 "" H 6000 8550 60 0001 C CNN +F 4 "MMBD4148SE-TPMSCT-ND" H 6050 8550 60 0001 C CNN "digikey" +F 5 "MMBD4148SE-TP" H 6050 8550 60 0001 C CNN "part" + 1 6050 8550 + 1 0 0 -1 +$EndComp +$Comp +L ASTMKH U7 +U 1 1 58550FEF +P 1350 3850 +F 0 "U7" H 1350 4000 60 0000 C CNN +F 1 "ASTMKH" H 1300 3550 60 0000 C CNN +F 2 "SweetZpot:ASTMKH_V2" H 1350 3850 60 0001 C CNN +F 3 "" H 1350 3850 60 0001 C CNN +F 4 "535-12975-2-ND" H 1350 3850 60 0001 C CNN "digikey" +F 5 "ASTMKH-32.768KHZ-LQ-DCC-T" H 1350 3850 60 0001 C CNN "part" + 1 1350 3850 + 1 0 0 -1 +$EndComp +$Comp +L GND #PWR032 +U 1 1 585514C6 +P 800 4000 +F 0 "#PWR032" H 800 3750 50 0001 C CNN +F 1 "GND" H 800 3850 50 0000 C CNN +F 2 "" H 800 4000 50 0000 C CNN +F 3 "" H 800 4000 50 0000 C CNN + 1 800 4000 + 1 0 0 -1 +$EndComp +$Comp +L CONN_01X02 P22 +U 1 1 58556A40 +P 9900 9650 +F 0 "P22" H 9900 9800 50 0000 C CNN +F 1 "BATTERY" V 10000 9650 50 0000 C CNN +F 2 "SweetZpot:COIN_CELL_BATTERY" H 9900 9650 50 0001 C CNN +F 3 "" H 9900 9650 50 0000 C CNN +F 4 "NA" H 9900 9650 60 0001 C CNN "part" + 1 9900 9650 + -1 0 0 1 +$EndComp +$Comp +L Crystal_Small_gnd Y1 +U 1 1 58568948 +P 12900 900 +F 0 "Y1" H 12900 1000 50 0000 C CNN +F 1 "32 MHz" H 12900 1100 50 0000 C CNN +F 2 "SweetZpot:FA-128" H 12900 900 50 0001 C CNN +F 3 "http://media.digikey.com/pdf/Data%20Sheets/Optrex%20PDFs/CX2016DB_Series_Spec.pdf" H 12900 900 50 0001 C CNN +F 4 "1253-1118-6-ND" H 12900 900 60 0001 C CNN "digikey" +F 5 "CX2016DB32000D0FLJCC" H 12900 900 60 0001 C CNN "part" + 1 12900 900 + -1 0 0 -1 +$EndComp +Text Label 9650 3300 2 60 ~ 0 +STRAIN_ENABLE +Text Label 9650 2700 2 60 ~ 0 +HR_ENABLE +$Comp +L Q_PMOS_GSD Q1 +U 1 1 585B6C74 +P 7300 9900 +F 0 "Q1" H 7600 9950 50 0000 R CNN +F 1 "DMP2305U-7" H 8000 9850 50 0000 R CNN +F 2 "TO_SOT_Packages_SMD:SOT-23" H 7500 10000 50 0001 C CNN +F 3 "DMP2305U-7.pdf" H 7300 9900 50 0001 C CNN +F 4 "DMP2305UDIDKR-ND" H 7300 9900 60 0001 C CNN "digikey" +F 5 "DMP2305U-7" H 7300 9900 60 0001 C CNN "part" + 1 7300 9900 + 0 -1 -1 0 +$EndComp +Text Notes 13400 900 0 60 ~ 0 +Design and values follow the guides from nRF52\nProduct specification, chapter 53.2: "Schematic\nQFAA and QFAB QFN48 with DC/DC regulator setup" +$Comp +L VCC #PWR033 +U 1 1 586420B8 +P 7700 9700 +F 0 "#PWR033" H 7700 9550 50 0001 C CNN +F 1 "VCC" H 7700 9850 50 0000 C CNN +F 2 "" H 7700 9700 50 0000 C CNN +F 3 "" H 7700 9700 50 0000 C CNN + 1 7700 9700 + 1 0 0 -1 +$EndComp +$Comp +L MCP4018 U2 +U 1 1 586AF859 +P 3200 9150 +F 0 "U2" H 3350 9150 60 0000 C CNN +F 1 "MCP4018T-103E/LT" H 3200 8750 60 0000 C CNN +F 2 "TO_SOT_Packages_SMD:SC-70-6" H 3200 9250 60 0001 C CNN +F 3 "" H 3200 9250 60 0001 C CNN +F 4 "MCP4018T-103E/LTCT-ND" H 3200 9150 60 0001 C CNN "digikey" +F 5 "MCP4018T-103E/LT" H 3200 9150 60 0001 C CNN "part" + 1 3200 9150 + 1 0 0 -1 +$EndComp +$Comp +L VCC #PWR034 +U 1 1 586B134D +P 4200 4200 +F 0 "#PWR034" H 4200 4050 50 0001 C CNN +F 1 "VCC" H 4200 4350 50 0000 C CNN +F 2 "" H 4200 4200 50 0000 C CNN +F 3 "" H 4200 4200 50 0000 C CNN + 1 4200 4200 + -1 0 0 -1 +$EndComp +$Comp +L GND #PWR035 +U 1 1 586B1820 +P 4800 5000 +F 0 "#PWR035" H 4800 4750 50 0001 C CNN +F 1 "GND" H 4800 4850 50 0000 C CNN +F 2 "" H 4800 5000 50 0000 C CNN +F 3 "" H 4800 5000 50 0000 C CNN + 1 4800 5000 + -1 0 0 -1 +$EndComp +$Comp +L C C30 +U 1 1 586B322A +P 4200 4650 +F 0 "C30" H 4225 4750 50 0000 L CNN +F 1 "0.1u" H 4225 4550 50 0000 L CNN +F 2 "Capacitors_SMD:C_0402" H 4238 4500 50 0001 C CNN +F 3 "" H 4200 4650 50 0000 C CNN +F 4 "490-6310-2-ND" H 4200 4650 60 0001 C CNN "digikey" +F 5 "GRM155R61C104KA88J" H 4200 4650 60 0001 C CNN "part" + 1 4200 4650 + 1 0 0 -1 +$EndComp +$Comp +L C C31 +U 1 1 586B4ACE +P 5400 4650 +F 0 "C31" H 5425 4750 50 0000 L CNN +F 1 "1u" H 5425 4550 50 0000 L CNN +F 2 "Capacitors_SMD:C_0402" H 5438 4500 50 0001 C CNN +F 3 "" H 5400 4650 50 0000 C CNN +F 4 "490-10694-2-ND" H 5400 4650 60 0001 C CNN "digikey" +F 5 "GRM155R61C105KA12D" H 5400 4650 60 0001 C CNN "part" + 1 5400 4650 + 1 0 0 -1 +$EndComp +$Comp +L TCR2LF18 U8 +U 1 1 586B574C +P 4800 4400 +F 0 "U8" H 4500 4150 60 0000 L CNN +F 1 "TCR2LF18" H 4800 4650 60 0000 C CNN +F 2 "TO_SOT_Packages_SMD:SOT-23-5" H 4800 4400 60 0001 C CNN +F 3 "" H 4800 4400 60 0001 C CNN +F 4 "TCR2LF18LM(CTCT-ND" H 4800 4400 60 0001 C CNN "digikey" +F 5 "TCR2LF18,LM(CT" H 4800 4400 60 0001 C CNN "part" + 1 4800 4400 + 1 0 0 -1 +$EndComp +Entry Wire Line + 5500 1650 5600 1750 +Text Label 5450 1650 2 60 ~ 0 +HR_ENABLE +Entry Wire Line + 11050 4600 11150 4700 +Text Label 11050 4600 1 60 ~ 0 +P0.19 +Text Label 13850 6650 2 60 ~ 0 +P0.19 +$Comp +L R R7 +U 1 1 586CDA03 +P 11600 6200 +F 0 "R7" V 11680 6200 50 0000 C CNN +F 1 "4.7k" V 11600 6200 50 0000 C CNN +F 2 "Resistors_SMD:R_0402" V 11530 6200 50 0001 C CNN +F 3 "" H 11600 6200 50 0000 C CNN +F 4 "311-4.7KJRCT-ND" V 11600 6200 60 0001 C CNN "digikey" +F 5 "RC0402JR-074K7L" V 11600 6200 60 0001 C CNN "part" + 1 11600 6200 + 1 0 0 -1 +$EndComp +$Comp +L R R8 +U 1 1 586CE709 +P 11800 6200 +F 0 "R8" V 11880 6200 50 0000 C CNN +F 1 "4.7k" V 11800 6200 50 0000 C CNN +F 2 "Resistors_SMD:R_0402" V 11730 6200 50 0001 C CNN +F 3 "" H 11800 6200 50 0000 C CNN +F 4 "311-4.7KJRCT-ND" V 11800 6200 60 0001 C CNN "digikey" +F 5 "RC0402JR-074K7L" V 11800 6200 60 0001 C CNN "part" + 1 11800 6200 + 1 0 0 1 +$EndComp +$Comp +L VDD_SF #PWR036 +U 1 1 586CF192 +P 11500 5850 +F 0 "#PWR036" H 11500 5800 60 0001 C CNN +F 1 "VDD_SF" H 11500 6000 60 0000 C CNN +F 2 "" H 11500 5850 60 0001 C CNN +F 3 "" H 11500 5850 60 0001 C CNN + 1 11500 5850 + 1 0 0 -1 +$EndComp +$Comp +L R R5 +U 1 1 586CFF62 +P 4500 9000 +F 0 "R5" V 4580 9000 50 0000 C CNN +F 1 "4.7k" V 4500 9000 50 0000 C CNN +F 2 "Resistors_SMD:R_0402" V 4430 9000 50 0001 C CNN +F 3 "" H 4500 9000 50 0000 C CNN +F 4 "311-4.7KJRCT-ND" V 4500 9000 60 0001 C CNN "digikey" +F 5 "RC0402JR-074K7L" V 4500 9000 60 0001 C CNN "part" + 1 4500 9000 + 1 0 0 -1 +$EndComp +$Comp +L R R6 +U 1 1 586CFF6A +P 4700 9000 +F 0 "R6" V 4780 9000 50 0000 C CNN +F 1 "4.7k" V 4700 9000 50 0000 C CNN +F 2 "Resistors_SMD:R_0402" V 4630 9000 50 0001 C CNN +F 3 "" H 4700 9000 50 0000 C CNN +F 4 "311-4.7KJRCT-ND" V 4700 9000 60 0001 C CNN "digikey" +F 5 "RC0402JR-074K7L" V 4700 9000 60 0001 C CNN "part" + 1 4700 9000 + 1 0 0 -1 +$EndComp +$Comp +L R R9 +U 1 1 59844FD7 +P 13750 6100 +F 0 "R9" V 13830 6100 50 0000 C CNN +F 1 "0" V 13750 6100 50 0000 C CNN +F 2 "Resistors_SMD:R_0603_HandSoldering" V 13680 6100 50 0001 C CNN +F 3 "" H 13750 6100 50 0000 C CNN +F 4 "311-0.0GRCT-ND" V 13750 6100 60 0001 C CNN "digikey" +F 5 "RC0603JR-070RL" V 13750 6100 60 0001 C CNN "part" + 1 13750 6100 + 1 0 0 -1 +$EndComp +$Comp +L C C35 +U 1 1 5989A9B7 +P 7600 10050 +F 0 "C35" H 7625 10150 50 0000 L CNN +F 1 "10u" H 7625 9950 50 0000 L CNN +F 2 "Capacitors_SMD:C_1206" H 7638 9900 50 0001 C CNN +F 3 "" H 7600 10050 50 0000 C CNN +F 4 "1276-1804-1-ND" H 7600 10050 60 0001 C CNN "digikey" +F 5 "CL31B106KAHNNNE" H 7600 10050 60 0001 C CNN "part" +F 6 "10%" H 6150 6050 60 0001 C CNN "tolerance" +F 7 "16V" H 6150 6050 60 0001 C CNN "voltage" +F 8 "X7R" H 6150 6050 60 0001 C CNN "temp_coeff" + 1 7600 10050 + 1 0 0 -1 +$EndComp +$Comp +L GND #PWR037 +U 1 1 5989C350 +P 7600 10300 +F 0 "#PWR037" H 7600 10050 50 0001 C CNN +F 1 "GND" H 7600 10150 50 0000 C CNN +F 2 "" H 7600 10300 50 0001 C CNN +F 3 "" H 7600 10300 50 0001 C CNN + 1 7600 10300 + 1 0 0 -1 +$EndComp +Text Label 8200 10700 2 60 ~ 0 +STRAIN_ENABLE +$Comp +L PWR_FLAG #FLG038 +U 1 1 5989F8A7 +P 10700 7500 +F 0 "#FLG038" H 10700 7595 50 0001 C CNN +F 1 "PWR_FLAG" H 10700 7680 50 0001 C CNN +F 2 "" H 10700 7500 50 0000 C CNN +F 3 "" H 10700 7500 50 0000 C CNN + 1 10700 7500 + 1 0 0 -1 +$EndComp +$Comp +L Q_PMOS_GSD Q2 +U 1 1 5989F8AF +P 11000 7700 +F 0 "Q2" H 11300 7750 50 0000 R CNN +F 1 "DMP2305U-7" H 11700 7650 50 0000 R CNN +F 2 "TO_SOT_Packages_SMD:SOT-23" H 11200 7800 50 0001 C CNN +F 3 "DMP2305U-7.pdf" H 11000 7700 50 0001 C CNN +F 4 "DMP2305UDIDKR-ND" H 11000 7700 60 0001 C CNN "digikey" +F 5 "DMP2305U-7" H 11000 7700 60 0001 C CNN "part" + 1 11000 7700 + 0 -1 -1 0 +$EndComp +$Comp +L VCC #PWR039 +U 1 1 5989F8B5 +P 11400 7500 +F 0 "#PWR039" H 11400 7350 50 0001 C CNN +F 1 "VCC" H 11400 7650 50 0000 C CNN +F 2 "" H 11400 7500 50 0000 C CNN +F 3 "" H 11400 7500 50 0000 C CNN + 1 11400 7500 + 1 0 0 -1 +$EndComp +$Comp +L C C36 +U 1 1 5989F8C0 +P 11300 7850 +F 0 "C36" H 11325 7950 50 0000 L CNN +F 1 "10u" H 11325 7750 50 0000 L CNN +F 2 "Capacitors_SMD:C_1206" H 11338 7700 50 0001 C CNN +F 3 "" H 11300 7850 50 0000 C CNN +F 4 "1276-1804-1-ND" H 11300 7850 60 0001 C CNN "digikey" +F 5 "CL31B106KAHNNNE" H 11300 7850 60 0001 C CNN "part" +F 6 "10%" H 9850 3850 60 0001 C CNN "tolerance" +F 7 "16V" H 9850 3850 60 0001 C CNN "voltage" +F 8 "X7R" H 9850 3850 60 0001 C CNN "temp_coeff" + 1 11300 7850 + 1 0 0 -1 +$EndComp +$Comp +L GND #PWR040 +U 1 1 5989F8D2 +P 11300 8100 +F 0 "#PWR040" H 11300 7850 50 0001 C CNN +F 1 "GND" H 11300 7950 50 0000 C CNN +F 2 "" H 11300 8100 50 0001 C CNN +F 3 "" H 11300 8100 50 0001 C CNN + 1 11300 8100 + 1 0 0 -1 +$EndComp +Text Label 11600 8500 2 60 ~ 0 +SF_ENABLE +$Comp +L VDD_SF #PWR041 +U 1 1 598A09A4 +P 10500 7500 +F 0 "#PWR041" H 10500 7450 60 0001 C CNN +F 1 "VDD_SF" H 10500 7650 60 0000 C CNN +F 2 "" H 10500 7500 60 0001 C CNN +F 3 "" H 10500 7500 60 0001 C CNN + 1 10500 7500 + 1 0 0 -1 +$EndComp +Entry Wire Line + 10350 4950 10450 5050 +Entry Wire Line + 8050 3400 8150 3300 +$Comp +L Q_PMOS_GSD Q3 +U 1 1 598A4293 +P 10500 9700 +F 0 "Q3" H 10800 9750 50 0000 R CNN +F 1 "DMP2305U-7" H 11200 9650 50 0000 R CNN +F 2 "TO_SOT_Packages_SMD:SOT-23" H 10700 9800 50 0001 C CNN +F 3 "DMP2305U-7.pdf" H 10500 9700 50 0001 C CNN +F 4 "DMP2305UDIDKR-ND" H 10500 9700 60 0001 C CNN "digikey" +F 5 "DMP2305U-7" H 10500 9700 60 0001 C CNN "part" + 1 10500 9700 + 0 -1 -1 0 +$EndComp +Text Notes 9500 8900 0 100 ~ 20 +Battery +Entry Wire Line + 7750 2800 7850 2700 +Text Label 7750 3050 1 60 ~ 0 +HR_BUS +Text Label 3300 4400 0 60 ~ 0 +HR_ENABLE +Text Notes 600 5400 0 60 ~ 0 +C14 is current surge protection for the LDO.\n\nC30 and C31 are specified by the LDO.\nCan be ceramic.\n\nC10 is decoupling specified by MAX30003. +$Comp +L C C100 +U 1 1 598DD284 +P 1300 1650 +F 0 "C100" H 1325 1750 50 0000 L CNN +F 1 "1n" H 1325 1550 50 0000 L CNN +F 2 "Capacitors_SMD:C_0402" H 1338 1500 50 0001 C CNN +F 3 "" H 1300 1650 50 0001 C CNN +F 4 "DNI" H 1400 1450 60 0000 C CNN "assembly" +F 5 "490-11362-1-ND" H 1300 1650 60 0001 C CNN "digikey" +F 6 "GRM1555C1E1R0BA01D" H 1300 1650 60 0001 C CNN "part" + 1 1300 1650 + 1 0 0 -1 +$EndComp +$Comp +L C C101 +U 1 1 598DD39A +P 1600 1450 +F 0 "C101" H 1625 1550 50 0000 L CNN +F 1 "4.7n" H 1625 1350 50 0000 L CNN +F 2 "Capacitors_SMD:C_0402" H 1638 1300 50 0001 C CNN +F 3 "" H 1600 1450 50 0001 C CNN +F 4 "490-1309-1-ND" H 1600 1450 60 0001 C CNN "digikey" +F 5 "GRM155R71E472KA01D" H 1600 1450 60 0001 C CNN "part" + 1 1600 1450 + 1 0 0 -1 +$EndComp +$Comp +L C C102 +U 1 1 598DD494 +P 1600 1950 +F 0 "C102" H 1625 2050 50 0000 L CNN +F 1 "4.7n" H 1625 1850 50 0000 L CNN +F 2 "Capacitors_SMD:C_0402" H 1638 1800 50 0001 C CNN +F 3 "" H 1600 1950 50 0001 C CNN +F 4 "490-1309-1-ND" H 1600 1950 60 0001 C CNN "digikey" +F 5 "GRM155R71E472KA01D" H 1600 1950 60 0001 C CNN "part" + 1 1600 1950 + 1 0 0 -1 +$EndComp +$Comp +L R R100 +U 1 1 598DD947 +P 1050 1200 +F 0 "R100" V 1130 1200 50 0000 C CNN +F 1 "1M" V 1050 1200 50 0000 C CNN +F 2 "Resistors_SMD:R_0402" V 980 1200 50 0001 C CNN +F 3 "" H 1050 1200 50 0001 C CNN +F 4 "311-1.00MLRCT-ND" V 1050 1200 60 0001 C CNN "digikey" +F 5 "RC0402FR-071ML" V 1050 1200 60 0001 C CNN "part" + 1 1050 1200 + 0 1 1 0 +$EndComp +$Comp +L R R101 +U 1 1 598DDAA8 +P 1050 2200 +F 0 "R101" V 1130 2200 50 0000 C CNN +F 1 "1M" V 1050 2200 50 0000 C CNN +F 2 "Resistors_SMD:R_0402" V 980 2200 50 0001 C CNN +F 3 "" H 1050 2200 50 0001 C CNN +F 4 "311-1.00MLRCT-ND" V 1050 2200 60 0001 C CNN "digikey" +F 5 "RC0402FR-071ML" V 1050 2200 60 0001 C CNN "part" + 1 1050 2200 + 0 1 1 0 +$EndComp +$Comp +L GND #PWR042 +U 1 1 598DE7B4 +P 2000 1800 +F 0 "#PWR042" H 2000 1550 50 0001 C CNN +F 1 "GND" H 2000 1650 50 0000 C CNN +F 2 "" H 2000 1800 50 0001 C CNN +F 3 "" H 2000 1800 50 0001 C CNN + 1 2000 1800 + 1 0 0 -1 +$EndComp +Wire Wire Line + 4100 1650 5500 1650 +Wire Wire Line + 3800 1650 3800 1750 +Wire Wire Line + 3500 1650 3800 1650 +Wire Wire Line + 3300 4400 4300 4400 +Wire Wire Line + 7850 2700 9650 2700 +Wire Wire Line + 4800 4800 4800 5000 +Wire Wire Line + 5400 4900 5400 4800 +Connection ~ 5400 4300 +Connection ~ 4200 4300 +Connection ~ 4800 4900 +Wire Wire Line + 3900 4900 5700 4900 +Wire Wire Line + 4200 4900 4200 4800 +Wire Wire Line + 4200 4200 4200 4500 +Wire Wire Line + 3900 4300 4300 4300 +Wire Wire Line + 5400 4200 5400 4500 +Wire Wire Line + 5300 4300 5700 4300 +Wire Wire Line + 7300 10100 7300 10700 +Wire Wire Line + 7700 9800 7700 9700 +Wire Wire Line + 7500 9800 7700 9800 +Wire Wire Line + 10550 4250 10550 4950 +Wire Wire Line + 15500 8100 15850 8100 +Wire Wire Line + 15000 8200 14650 8200 +Wire Wire Line + 15850 8200 15500 8200 +Wire Wire Line + 15500 8300 15850 8300 +Wire Bus Line + 15950 7700 15950 8300 +Wire Bus Line + 14550 7700 15950 7700 +Wire Bus Line + 14550 7700 14550 8200 +Wire Wire Line + 15000 8300 14900 8300 +Wire Wire Line + 13650 3250 13650 3200 +Connection ~ 12600 3250 +Connection ~ 7000 9800 +Wire Wire Line + 6800 9800 7100 9800 +Connection ~ 12900 1100 +Connection ~ 12900 1500 +Wire Wire Line + 12900 1100 12900 1600 +Wire Wire Line + 12850 1100 12850 1050 +Wire Wire Line + 12850 1100 12950 1100 +Wire Wire Line + 12950 1100 12950 1050 +Wire Wire Line + 800 3400 800 3800 +Wire Wire Line + 800 3800 900 3800 +Wire Wire Line + 800 3900 800 4000 +Wire Wire Line + 900 3900 800 3900 +Wire Wire Line + 6450 8550 6200 8550 +Wire Wire Line + 6450 6400 6450 8550 +Connection ~ 6450 8150 +Connection ~ 5550 8450 +Wire Wire Line + 5550 8650 5850 8650 +Connection ~ 5550 8150 +Wire Wire Line + 5550 8450 5850 8450 +Wire Wire Line + 11400 9600 11400 9500 +Wire Wire Line + 10650 4250 10650 4950 +Wire Wire Line + 10450 4950 10450 4250 +Wire Wire Line + 10350 4250 10350 4950 +Wire Bus Line + 10300 5050 11400 5050 +Wire Wire Line + 13600 6750 13850 6750 +Wire Bus Line + 13250 6450 13250 7000 +Wire Wire Line + 14350 6750 14800 6750 +Wire Wire Line + 14350 6650 14800 6650 +Wire Wire Line + 13350 6650 13850 6650 +Wire Wire Line + 9850 6650 9750 6650 +Wire Wire Line + 11250 6750 12000 6750 +Wire Wire Line + 11250 6650 12000 6650 +Wire Wire Line + 11250 6550 12000 6550 +Wire Bus Line + 12100 6400 12100 7050 +Wire Wire Line + 9850 6550 9650 6550 +Wire Notes Line + 9400 11200 9400 5500 +Wire Bus Line + 10700 4700 11400 4700 +Wire Wire Line + 14900 8100 14900 8000 +Wire Wire Line + 15000 8100 14900 8100 +Wire Wire Line + 14900 8300 14900 8400 +Wire Wire Line + 14600 9400 14200 9400 +Wire Wire Line + 14200 9000 14600 9000 +Wire Wire Line + 13550 9400 13300 9400 +Wire Wire Line + 13300 9000 13550 9000 +Wire Wire Line + 8150 3300 9650 3300 +Wire Wire Line + 6800 9750 6800 9800 +Wire Notes Line + 12300 8600 15950 8600 +Wire Wire Line + 11000 9600 11000 9500 +Wire Wire Line + 13750 5950 13750 5850 +Wire Wire Line + 13750 6350 13750 6250 +Wire Wire Line + 13850 6350 13750 6350 +Wire Wire Line + 11250 4250 11250 4600 +Wire Wire Line + 13350 6450 13850 6450 +Wire Wire Line + 13450 6550 13450 6850 +Wire Wire Line + 13850 6550 13450 6550 +Wire Notes Line + 12300 5500 12300 9900 +Wire Wire Line + 14350 6450 15100 6450 +Wire Wire Line + 14350 6350 15100 6350 +Wire Wire Line + 14350 6550 15100 6550 +Wire Bus Line + 15200 6350 15200 6900 +Connection ~ 6550 6800 +Wire Wire Line + 8100 7550 8200 7550 +Wire Wire Line + 8100 6800 8100 7550 +Wire Wire Line + 9150 7650 8800 7650 +Wire Wire Line + 9150 8050 9150 7650 +Wire Wire Line + 8100 8050 9150 8050 +Wire Wire Line + 8100 7750 8100 8050 +Wire Wire Line + 8200 7750 8100 7750 +Connection ~ 4650 6950 +Wire Wire Line + 4650 7350 4650 7450 +Wire Wire Line + 4650 6950 4550 6950 +Wire Wire Line + 4150 6950 4250 6950 +Wire Bus Line + 10500 950 11200 950 +Wire Wire Line + 11000 1550 11000 1050 +Wire Wire Line + 10500 1050 10500 1550 +Wire Wire Line + 10600 1050 10600 1550 +Wire Wire Line + 10700 1050 10700 1550 +Wire Wire Line + 10800 1050 10800 1550 +Wire Wire Line + 10900 1050 10900 1550 +Wire Bus Line + 5600 1650 5600 2900 +Wire Wire Line + 11950 4400 12550 4400 +Wire Wire Line + 11950 4250 11950 4400 +Wire Notes Line + 6100 550 6100 5500 +Wire Notes Line + 550 5500 15950 5500 +Connection ~ 9250 1400 +Wire Wire Line + 9500 1200 9250 1200 +Wire Wire Line + 9500 2600 9500 1200 +Wire Wire Line + 9650 2600 9500 2600 +Connection ~ 8850 1400 +Wire Wire Line + 9600 1100 8850 1100 +Wire Wire Line + 9600 2500 9600 1100 +Wire Wire Line + 9650 2500 9600 2500 +Connection ~ 9050 1900 +Wire Wire Line + 9050 2000 9050 1900 +Wire Wire Line + 8850 1900 9250 1900 +Wire Wire Line + 9250 1900 9250 1800 +Wire Wire Line + 8850 1800 8850 1900 +Wire Wire Line + 9250 1200 9250 1500 +Wire Wire Line + 9150 1400 9250 1400 +Wire Wire Line + 8850 1100 8850 1500 +Wire Wire Line + 8950 1400 8850 1400 +Wire Wire Line + 12350 2050 12800 2050 +Wire Wire Line + 12350 1950 12800 1950 +Wire Wire Line + 12350 2150 12800 2150 +Wire Bus Line + 12900 1950 12900 2250 +Connection ~ 13950 2450 +Connection ~ 13950 2350 +Connection ~ 13950 2550 +Wire Wire Line + 14450 2350 14450 2700 +Connection ~ 14200 3750 +Wire Wire Line + 14450 3750 14450 3000 +Wire Wire Line + 13950 2550 12350 2550 +Wire Wire Line + 14200 2450 14200 2700 +Connection ~ 13950 3750 +Wire Wire Line + 14200 3750 14200 3000 +Wire Wire Line + 13950 3750 13950 3000 +Wire Wire Line + 13950 2050 13950 2700 +Connection ~ 13350 3750 +Wire Wire Line + 12350 2750 13650 2750 +Wire Wire Line + 13650 3000 13650 2950 +Connection ~ 12700 900 +Wire Wire Line + 11650 900 11650 1550 +Connection ~ 13100 900 +Wire Wire Line + 11550 600 11550 1550 +Wire Wire Line + 12700 1500 12700 1400 +Wire Wire Line + 12700 1500 13100 1500 +Wire Wire Line + 13100 1500 13100 1400 +Wire Wire Line + 13000 900 13100 900 +Wire Wire Line + 11650 900 12800 900 +Connection ~ 13100 3750 +Wire Wire Line + 13350 3750 13350 3650 +Wire Wire Line + 13350 2950 13350 3350 +Wire Wire Line + 12600 3250 12600 3350 +Wire Wire Line + 12350 3250 13650 3250 +Wire Wire Line + 12850 3150 12850 3350 +Wire Wire Line + 12350 3150 12850 3150 +Wire Wire Line + 13100 3050 13100 3350 +Wire Wire Line + 12350 3050 13100 3050 +Wire Wire Line + 12350 2950 13350 2950 +Connection ~ 12450 3750 +Connection ~ 12850 3750 +Wire Wire Line + 13100 3750 13100 3650 +Connection ~ 12600 3750 +Wire Wire Line + 12850 3750 12850 3650 +Wire Wire Line + 12450 3750 14450 3750 +Wire Wire Line + 12600 3650 12600 3750 +Wire Wire Line + 5250 9400 5250 9500 +Wire Wire Line + 5250 8750 5250 9100 +Wire Wire Line + 2350 9350 2350 9450 +Connection ~ 4150 7750 +Wire Wire Line + 4150 7750 4150 6950 +Wire Wire Line + 4650 6400 4650 7050 +Connection ~ 12450 3550 +Wire Wire Line + 12350 3550 12450 3550 +Connection ~ 12450 3650 +Wire Wire Line + 12450 3650 12350 3650 +Wire Wire Line + 12450 3450 12450 4000 +Wire Wire Line + 12350 3450 12450 3450 +Wire Wire Line + 12350 2450 14200 2450 +Wire Wire Line + 12350 2350 14450 2350 +Wire Wire Line + 5000 2700 5500 2700 +Wire Wire Line + 5000 2600 5500 2600 +Wire Wire Line + 5000 2400 5500 2400 +Wire Wire Line + 5000 2300 5500 2300 +Wire Wire Line + 5000 2200 5500 2200 +Wire Wire Line + 5000 2100 5500 2100 +Connection ~ 3650 1650 +Wire Wire Line + 3650 1550 3650 1650 +Wire Wire Line + 4100 1650 4100 1750 +Wire Wire Line + 3500 1750 3500 1650 +Connection ~ 4750 3350 +Connection ~ 3550 3350 +Wire Wire Line + 3550 3250 3550 3350 +Connection ~ 3650 3350 +Wire Wire Line + 3650 3350 3650 3250 +Connection ~ 3750 3350 +Wire Wire Line + 3750 3350 3750 3250 +Connection ~ 3850 3350 +Wire Wire Line + 3850 3350 3850 3250 +Connection ~ 3950 3350 +Wire Wire Line + 3950 3350 3950 3250 +Connection ~ 4150 3350 +Wire Wire Line + 4150 3350 4150 3250 +Connection ~ 4350 3350 +Wire Wire Line + 4350 3350 4350 3250 +Connection ~ 4550 3350 +Wire Wire Line + 4550 3350 4550 3250 +Connection ~ 4650 3350 +Wire Wire Line + 4650 3350 4650 3250 +Wire Wire Line + 4750 3250 4750 3450 +Wire Wire Line + 3450 3350 4750 3350 +Wire Wire Line + 3450 3250 3450 3350 +Wire Wire Line + 2650 3750 2650 3850 +Wire Wire Line + 2850 3350 2850 3450 +Wire Wire Line + 3050 3350 2850 3350 +Wire Wire Line + 3050 3250 3050 3350 +Wire Wire Line + 2950 3300 2950 3250 +Wire Wire Line + 2650 3300 2950 3300 +Wire Wire Line + 2650 3450 2650 3300 +Wire Wire Line + 3050 3400 3050 3450 +Wire Wire Line + 3150 3400 3050 3400 +Wire Wire Line + 3150 3250 3150 3400 +Wire Wire Line + 3250 3250 3250 3450 +Wire Wire Line + 2000 2850 2400 2850 +Wire Wire Line + 2000 2750 2000 2850 +Wire Wire Line + 2000 2400 2400 2400 +Wire Wire Line + 2000 2450 2000 2400 +Wire Wire Line + 1200 2200 2400 2200 +Wire Wire Line + 2350 9100 2500 9100 +Wire Bus Line + 4900 9200 4900 9600 +Wire Wire Line + 3900 9350 4800 9350 +Wire Wire Line + 3900 9250 4800 9250 +Wire Wire Line + 2350 8300 2350 9100 +Wire Wire Line + 2500 9350 2350 9350 +Wire Wire Line + 3900 8900 4000 8900 +Wire Wire Line + 3500 6800 3500 6900 +Connection ~ 3500 7300 +Wire Wire Line + 3500 7200 3500 7400 +Wire Wire Line + 3750 7300 3500 7300 +Wire Wire Line + 3750 7200 3750 7300 +Connection ~ 3750 6800 +Wire Wire Line + 3750 6700 3750 6900 +Connection ~ 2850 6300 +Wire Wire Line + 2850 6300 2850 6200 +Wire Wire Line + 7500 7650 7500 6400 +Wire Wire Line + 7350 7650 7500 7650 +Connection ~ 5550 7750 +Wire Wire Line + 5550 7750 5550 8650 +Wire Wire Line + 5850 8150 5550 8150 +Connection ~ 6450 7750 +Wire Wire Line + 6450 8150 6150 8150 +Connection ~ 6450 7650 +Wire Wire Line + 6450 7750 6750 7750 +Wire Wire Line + 6250 7650 6450 7650 +Connection ~ 5550 6800 +Wire Wire Line + 6550 6800 6550 7550 +Wire Wire Line + 6550 7550 6750 7550 +Wire Wire Line + 3500 6800 8100 6800 +Wire Wire Line + 5550 7550 5550 6800 +Wire Wire Line + 5650 7550 5550 7550 +Wire Wire Line + 5450 7750 5650 7750 +Wire Wire Line + 5050 7750 5150 7750 +Connection ~ 3650 7750 +Wire Wire Line + 3750 6300 3750 6400 +Connection ~ 3650 8200 +Wire Wire Line + 3350 8200 3650 8200 +Wire Wire Line + 3450 7750 4750 7750 +Wire Wire Line + 3650 7750 3650 8450 +Wire Wire Line + 3650 8450 3350 8450 +Connection ~ 2750 8200 +Wire Wire Line + 2750 8450 3050 8450 +Connection ~ 2750 7850 +Wire Wire Line + 2750 8200 3050 8200 +Wire Wire Line + 2750 7850 2750 8450 +Connection ~ 2350 7650 +Wire Wire Line + 2600 8300 2600 8400 +Connection ~ 2600 7650 +Wire Wire Line + 2600 7650 2600 8000 +Wire Wire Line + 2350 7650 2850 7650 +Wire Wire Line + 2350 7400 2350 8000 +Connection ~ 2350 6300 +Wire Wire Line + 2350 7100 2350 6300 +Wire Wire Line + 2100 10100 2100 10250 +Connection ~ 1800 10600 +Wire Wire Line + 2100 10600 2100 10450 +Wire Wire Line + 1800 10500 1800 10700 +Connection ~ 1800 10100 +Wire Wire Line + 1800 9950 1800 10200 +Wire Wire Line + 1800 7950 1800 8150 +Wire Wire Line + 1250 7950 1800 7950 +Wire Wire Line + 2100 10250 2200 10250 +Wire Wire Line + 2100 10450 2200 10450 +Connection ~ 1800 7850 +Wire Wire Line + 1800 7400 1800 7850 +Wire Wire Line + 1800 6300 3750 6300 +Wire Wire Line + 1800 7100 1800 6300 +Wire Wire Line + 1250 7850 2850 7850 +Wire Bus Line + 4300 6300 7700 6300 +Wire Bus Line + 8050 2800 8050 3450 +Wire Wire Line + 8150 2800 9650 2800 +Wire Wire Line + 8150 2900 9650 2900 +Wire Wire Line + 8150 3000 9650 3000 +Wire Wire Line + 12450 4400 12450 4500 +Connection ~ 12450 4400 +Wire Wire Line + 12450 4900 12450 4800 +Wire Wire Line + 12750 4400 14450 4400 +Wire Wire Line + 12850 4400 12850 4500 +Wire Wire Line + 12850 4800 12850 4900 +Connection ~ 12850 4400 +Wire Wire Line + 8150 3100 9650 3100 +Wire Wire Line + 8150 3200 9650 3200 +Wire Wire Line + 7000 9500 7000 9800 +Wire Wire Line + 11050 4250 11050 4600 +Connection ~ 11600 6550 +Connection ~ 11800 6650 +Wire Wire Line + 11800 5950 11800 6050 +Wire Wire Line + 11500 5950 11800 5950 +Wire Wire Line + 11600 5950 11600 6050 +Connection ~ 11600 5950 +Wire Wire Line + 11500 5850 11500 5950 +Wire Wire Line + 4700 8750 4700 8850 +Wire Wire Line + 4000 8750 5250 8750 +Wire Wire Line + 4500 8650 4500 8850 +Connection ~ 4500 8750 +Wire Wire Line + 4500 9150 4500 9250 +Connection ~ 4500 9250 +Wire Wire Line + 4700 9150 4700 9350 +Connection ~ 4700 9350 +Wire Wire Line + 4000 8900 4000 8750 +Connection ~ 4700 8750 +Wire Wire Line + 1800 10100 2100 10100 +Wire Wire Line + 2100 10600 1800 10600 +Wire Wire Line + 7600 9800 7600 9900 +Connection ~ 7600 9800 +Wire Wire Line + 7600 10200 7600 10300 +Wire Wire Line + 7300 10700 8200 10700 +Wire Notes Line + 12300 7400 15950 7400 +Wire Wire Line + 11000 7900 11000 8500 +Wire Wire Line + 11400 7600 11400 7500 +Wire Wire Line + 11200 7600 11400 7600 +Connection ~ 10700 7600 +Wire Wire Line + 10500 7600 10800 7600 +Wire Wire Line + 10500 7500 10500 7600 +Wire Wire Line + 10700 7500 10700 7600 +Wire Wire Line + 11300 7600 11300 7700 +Connection ~ 11300 7600 +Wire Wire Line + 11300 8000 11300 8100 +Wire Notes Line + 9400 8700 12300 8700 +Wire Wire Line + 10100 9700 10200 9700 +Wire Wire Line + 10200 9700 10200 10100 +Wire Wire Line + 10200 10000 10500 10000 +Wire Wire Line + 10500 10000 10500 9900 +Connection ~ 10200 10000 +Wire Wire Line + 10300 9600 10100 9600 +Wire Wire Line + 10700 9600 11400 9600 +Connection ~ 11000 9600 +Wire Wire Line + 13100 600 13100 1100 +Wire Wire Line + 13100 600 11550 600 +Wire Wire Line + 12700 900 12700 1100 +Wire Bus Line + 7750 2700 7750 3050 +Wire Wire Line + 5700 4300 5700 4500 +Wire Wire Line + 5700 4900 5700 4800 +Connection ~ 5400 4900 +Wire Wire Line + 3900 4300 3900 4500 +Wire Wire Line + 3900 4800 3900 4900 +Connection ~ 4200 4900 +Wire Wire Line + 1600 1600 1600 1800 +Wire Wire Line + 1600 1700 2000 1700 +Wire Wire Line + 2000 1700 2000 1800 +Connection ~ 1600 1700 +Wire Wire Line + 1600 1200 1600 1300 +Wire Wire Line + 1200 1200 2200 1200 +Wire Wire Line + 1600 2200 1600 2100 +Wire Wire Line + 1300 2200 1300 1800 +Connection ~ 1600 2200 +Wire Wire Line + 1300 1200 1300 1500 +Connection ~ 1600 1200 +Connection ~ 1300 1200 +Connection ~ 1300 2200 +Wire Wire Line + 900 1200 600 1200 +Wire Wire Line + 900 2200 600 2200 +Wire Wire Line + 2200 1200 2200 2100 +Wire Wire Line + 2200 2100 2400 2100 +Wire Wire Line + 1800 3800 2200 3800 +Wire Wire Line + 2200 3800 2200 2950 +Wire Wire Line + 2200 2950 2400 2950 +$Comp +L GND #PWR043 +U 1 1 598E6B65 +P 2850 3850 +F 0 "#PWR043" H 2850 3600 50 0001 C CNN +F 1 "GND" H 2850 3700 50 0000 C CNN +F 2 "" H 2850 3850 50 0000 C CNN +F 3 "" H 2850 3850 50 0000 C CNN + 1 2850 3850 + 1 0 0 -1 +$EndComp +Wire Wire Line + 2850 3750 2850 3850 +$Comp +L GND #PWR044 +U 1 1 598E6DD6 +P 3050 3850 +F 0 "#PWR044" H 3050 3600 50 0001 C CNN +F 1 "GND" H 3050 3700 50 0000 C CNN +F 2 "" H 3050 3850 50 0000 C CNN +F 3 "" H 3050 3850 50 0000 C CNN + 1 3050 3850 + 1 0 0 -1 +$EndComp +Wire Wire Line + 3050 3750 3050 3850 +$Comp +L GND #PWR045 +U 1 1 598E6F13 +P 3250 3850 +F 0 "#PWR045" H 3250 3600 50 0001 C CNN +F 1 "GND" H 3250 3700 50 0000 C CNN +F 2 "" H 3250 3850 50 0000 C CNN +F 3 "" H 3250 3850 50 0000 C CNN + 1 3250 3850 + 1 0 0 -1 +$EndComp +Wire Wire Line + 3250 3750 3250 3850 +Text Label 800 3400 0 60 ~ 0 +HR_ENABLE +Wire Wire Line + 9850 6750 9750 6750 +Connection ~ 9750 6750 +Connection ~ 9650 6550 +$Comp +L C C9 +U 1 1 599B9B2C +P 3250 3600 +F 0 "C9" H 3275 3700 50 0000 L CNN +F 1 "1u" H 3275 3500 50 0000 L CNN +F 2 "Capacitors_SMD:C_0402" H 3288 3450 50 0001 C CNN +F 3 "" H 3250 3600 50 0000 C CNN +F 4 "490-10694-2-ND" H 3250 3600 60 0001 C CNN "digikey" +F 5 "GRM155R61C105KA12D" H 3250 3600 60 0001 C CNN "part" + 1 3250 3600 + 1 0 0 -1 +$EndComp +Wire Wire Line + 9750 6650 9750 6850 +Wire Wire Line + 9650 6550 9650 6450 +Wire Wire Line + 11600 6550 11600 6350 +Wire Wire Line + 11800 6350 11800 6650 +Wire Wire Line + 11000 8500 11600 8500 +$EndSCHEMATC diff --git a/test/parser/parser-demo-1-cache.lib b/test/parser/parser-demo-1-cache.lib new file mode 100644 index 0000000..c46e7b1 --- /dev/null +++ b/test/parser/parser-demo-1-cache.lib @@ -0,0 +1,47 @@ +EESchema-LIBRARY Version 2.3 +#encoding utf-8 +# +# NE5534 +# +DEF NE5534 U 0 20 Y Y 1 F N +F0 "U" 50 250 50 H V L CNN +F1 "NE5534" 50 150 50 H V L CNN +F2 "" 50 50 50 H I C CNN +F3 "" 50 150 50 H I C CNN +ALIAS SA5534 LM101 LM201 LM301 +$FPLIST + DIP*W7.62mm* + SOIC*3.9x4.9mm*Pitch1.27mm* +$ENDFPLIST +DRAW +P 4 0 1 10 -200 200 200 0 -200 -200 -200 200 f +X ~ 1 0 -300 200 U 50 50 1 1 I +X - 2 -300 -100 100 R 50 50 1 1 I +X + 3 -300 100 100 R 50 50 1 1 I +X V- 4 -100 -300 150 U 50 50 1 1 W +X ~ 5 100 -300 250 U 50 50 1 1 I +X ~ 6 300 0 100 L 50 50 1 1 O +X V+ 7 -100 300 150 D 50 50 1 1 W +X ~ 8 0 300 200 D 50 50 1 1 I +ENDDRAW +ENDDEF +# +# R +# +DEF R R 0 0 N Y 1 F N +F0 "R" 80 0 50 V V C CNN +F1 "R" 0 0 50 V V C CNN +F2 "" -70 0 50 V I C CNN +F3 "" 0 0 50 H I C CNN +$FPLIST + R_* + R_* +$ENDFPLIST +DRAW +S -40 -100 40 100 0 1 10 N +X ~ 1 0 150 50 D 50 50 1 1 P +X ~ 2 0 -150 50 U 50 50 1 1 P +ENDDRAW +ENDDEF +# +#End Library diff --git a/test/parser/parser-demo-1.kicad_pcb b/test/parser/parser-demo-1.kicad_pcb new file mode 100644 index 0000000..02c8ecb --- /dev/null +++ b/test/parser/parser-demo-1.kicad_pcb @@ -0,0 +1 @@ +(kicad_pcb (version 4) (host kicad "dummy file") ) diff --git a/test/parser/parser-demo-1.pro b/test/parser/parser-demo-1.pro new file mode 100644 index 0000000..355a8cb --- /dev/null +++ b/test/parser/parser-demo-1.pro @@ -0,0 +1,60 @@ +update=sø. 27. aug. 2017 kl. 00.42 +0200 +version=1 +last_client=kicad +[pcbnew] +version=1 +LastNetListRead= +UseCmpFile=1 +PadDrill=0.600000000000 +PadDrillOvalY=0.600000000000 +PadSizeH=1.500000000000 +PadSizeV=1.500000000000 +PcbTextSizeV=1.500000000000 +PcbTextSizeH=1.500000000000 +PcbTextThickness=0.300000000000 +ModuleTextSizeV=1.000000000000 +ModuleTextSizeH=1.000000000000 +ModuleTextSizeThickness=0.150000000000 +SolderMaskClearance=0.000000000000 +SolderMaskMinWidth=0.000000000000 +DrawSegmentWidth=0.200000000000 +BoardOutlineThickness=0.100000000000 +ModuleOutlineThickness=0.150000000000 +[cvpcb] +version=1 +NetIExt=net +[eeschema] +version=1 +LibDir= +[eeschema/libraries] +LibName1=power +LibName2=device +LibName3=transistors +LibName4=conn +LibName5=linear +LibName6=regul +LibName7=74xx +LibName8=cmos4000 +LibName9=adc-dac +LibName10=memory +LibName11=xilinx +LibName12=microcontrollers +LibName13=dsp +LibName14=microchip +LibName15=analog_switches +LibName16=motorola +LibName17=texas +LibName18=intel +LibName19=audio +LibName20=interface +LibName21=digital-audio +LibName22=philips +LibName23=display +LibName24=cypress +LibName25=siliconi +LibName26=opto +LibName27=atmel +LibName28=contrib +LibName29=valves +[general] +version=1 diff --git a/test/parser/parser-demo-1.sch b/test/parser/parser-demo-1.sch new file mode 100644 index 0000000..0dad706 --- /dev/null +++ b/test/parser/parser-demo-1.sch @@ -0,0 +1,68 @@ +EESchema Schematic File Version 2 +LIBS:power +LIBS:device +LIBS:transistors +LIBS:conn +LIBS:linear +LIBS:regul +LIBS:74xx +LIBS:cmos4000 +LIBS:adc-dac +LIBS:memory +LIBS:xilinx +LIBS:microcontrollers +LIBS:dsp +LIBS:microchip +LIBS:analog_switches +LIBS:motorola +LIBS:texas +LIBS:intel +LIBS:audio +LIBS:interface +LIBS:digital-audio +LIBS:philips +LIBS:display +LIBS:cypress +LIBS:siliconi +LIBS:opto +LIBS:atmel +LIBS:contrib +LIBS:valves +EELAYER 25 0 +EELAYER END +$Descr A4 11693 8268 +encoding utf-8 +Sheet 1 1 +Title "" +Date "" +Rev "" +Comp "" +Comment1 "" +Comment2 "" +Comment3 "" +Comment4 "" +$EndDescr +$Comp +L LM101 U101 +U 1 1 59A1FBDB +P 3400 2400 +F 0 "U101" H 3450 2650 50 0000 L CNN +F 1 "LM101 \"X\"" H 3450 2550 50 0000 L CNN +F 2 "" H 3450 2450 50 0001 C CNN +F 3 "" H 3450 2550 50 0001 C CNN +F 4 "1234" H 3400 2400 60 0001 C CNN "mpn" + 1 3400 2400 + 1 0 0 -1 +$EndComp +$Comp +L R R101 +U 1 1 59A2E082 +P 4300 2200 +F 0 "R101" V 4380 2200 50 0000 C CNN +F 1 "10k" V 4300 2200 50 0000 C CNN +F 2 "" V 4230 2200 50 0001 C CNN +F 3 "" H 4300 2200 50 0001 C CNN + 1 4300 2200 + 1 0 0 -1 +$EndComp +$EndSCHEMATC diff --git a/test/test_sch.py b/test/test_sch.py new file mode 100644 index 0000000..a3c6915 --- /dev/null +++ b/test/test_sch.py @@ -0,0 +1,34 @@ +import pytest +import sys +import os.path +from ee.kicad import read_schematic + +basedir = os.path.dirname(os.path.abspath(__file__)) + +def dump_schema(sch): + print("Libraries") + for l in sch.libraries: + print("name: {}".format(l.name)) + + print("Components") + for c in sch.components: + if c.unit != 1: + continue + print("REF: {}, fields={}".format(c.ref if c.unit == 1 else "{}/{}".format(c.ref, c.unit), len(c.fields))) + for f in c.fields: + print(" {}={}".format(f.name, f.value)) + +def load(path): + p = basedir + "/parser/" + path + print("p={}".format(p)) + return read_schematic(p) + +def test_demo_1(): + sch = load("parser-demo-1.sch") + dump_schema(sch) + r101 = sch.get_component("R101") + assert r101 + +def test_sch(): + sch = load("foo.sch") + dump_schema(sch) -- cgit v1.2.3