abse/smart-ring-flex

A tscircuit package created by abse.

Version
0.0.24
License
unset
Stars
0

src/schematic-layout.json

{
  "components": {
    "U1": {
      "sheet": "Radio",
      "x": -8,
      "y": 0,
      "noteX": -10.4,
      "noteY": -4.5,
      "lines": [
        "U1 - BLE microcontroller; reads",
        "sensors and controls charging."
      ],
      "description": "BLE microcontroller; reads sensors and controls charging.",
      "section": "RADIO_MCU"
    },
    "C16": {
      "sheet": "Radio",
      "x": 4,
      "y": 7,
      "noteX": 1.6,
      "noteY": 4.7,
      "lines": [
        "C16 - Crystal load capacitor:",
        "sets clock loading."
      ],
      "description": "Crystal load capacitor: sets clock loading.",
      "section": "RADIO_CLOCK"
    },
    "C17": {
      "sheet": "Radio",
      "x": 11,
      "y": 7,
      "noteX": 8.6,
      "noteY": 4.7,
      "lines": [
        "C17 - Crystal load capacitor:",
        "sets clock loading."
      ],
      "description": "Crystal load capacitor: sets clock loading.",
      "section": "RADIO_CLOCK"
    },
    "Y1": {
      "sheet": "Radio",
      "x": 4,
      "y": 2,
      "noteX": 6,
      "noteY": 1.6,
      "lines": [
        "Y1 - 32 MHz crystal: accurate",
        "clock for BLE radio."
      ],
      "description": "32 MHz crystal: accurate clock for BLE radio.",
      "section": "RADIO_CLOCK"
    },
    "R15": {
      "sheet": "Radio",
      "x": -11,
      "y": 6,
      "noteX": -9,
      "noteY": 6,
      "lines": [
        "R15 - RESET pull-up: holds the",
        "MCU out of reset."
      ],
      "description": "RESET pull-up: holds the MCU out of reset.",
      "section": "RADIO_RESET"
    },
    "L1": {
      "sheet": "Radio",
      "x": 4,
      "y": -3,
      "noteX": -0.1,
      "noteY": -5.3,
      "lines": [
        "L1 - RF matching inductor:",
        "matches MCU to antenna."
      ],
      "description": "RF matching inductor: matches MCU to antenna.",
      "section": "RADIO_RF"
    },
    "R19": {
      "sheet": "Radio",
      "x": 11,
      "y": -3,
      "noteX": 8.6,
      "noteY": -5.3,
      "lines": [
        "R19 - Zero-ohm link: allows",
        "antenna matching changes."
      ],
      "description": "Zero-ohm link: allows antenna matching changes.",
      "section": "RADIO_RF"
    },
    "C18": {
      "sheet": "Radio",
      "x": 4,
      "y": -7,
      "noteX": 1.6,
      "noteY": -9.3,
      "lines": [
        "C18 - RF shunt capacitor: tunes",
        "antenna matching."
      ],
      "description": "RF shunt capacitor: tunes antenna matching.",
      "section": "RADIO_RF"
    },
    "ANT1": {
      "sheet": "Radio",
      "x": 11,
      "y": -7,
      "noteX": 8.6,
      "noteY": -9.3,
      "lines": [
        "ANT1 - 2.4 GHz antenna: sends",
        "and receives BLE RF."
      ],
      "description": "2.4 GHz antenna: sends and receives BLE RF.",
      "section": "RADIO_RF"
    },
    "C9": {
      "sheet": "RadioSupply",
      "x": -6,
      "y": 7,
      "noteX": -3.3,
      "noteY": 7.05,
      "lines": [
        "C9 - DEC1 bypass: stabilizes",
        "internal MCU supply."
      ],
      "description": "DEC1 bypass: stabilizes internal MCU supply.",
      "section": "BLOCK_RadioSupply"
    },
    "C10": {
      "sheet": "RadioSupply",
      "x": -6,
      "y": 4,
      "noteX": -3.3,
      "noteY": 4.05,
      "lines": [
        "C10 - DEC3 bypass: stabilizes",
        "internal MCU supply."
      ],
      "description": "DEC3 bypass: stabilizes internal MCU supply.",
      "section": "BLOCK_RadioSupply"
    },
    "C11": {
      "sheet": "RadioSupply",
      "x": -6,
      "y": 1,
      "noteX": -3.3,
      "noteY": 1.05,
      "lines": [
        "C11 - DEC4 bypass: stabilizes",
        "internal MCU supply."
      ],
      "description": "DEC4 bypass: stabilizes internal MCU supply.",
      "section": "BLOCK_RadioSupply"
    },
    "C12": {
      "sheet": "RadioSupply",
      "x": -6.45,
      "y": -2,
      "noteX": -3.3,
      "noteY": -1.95,
      "lines": [
        "C12 - MCU supply bypass: shunts",
        "fast supply noise."
      ],
      "description": "MCU supply bypass: shunts fast supply noise.",
      "section": "BLOCK_RadioSupply"
    },
    "C13": {
      "sheet": "RadioSupply",
      "x": -6.15,
      "y": -3.5,
      "noteX": -3.3,
      "noteY": -3.45,
      "lines": [
        "C13 - MCU supply bypass: shunts",
        "fast supply noise."
      ],
      "description": "MCU supply bypass: shunts fast supply noise.",
      "section": "BLOCK_RadioSupply"
    },
    "C14": {
      "sheet": "RadioSupply",
      "x": -5.85,
      "y": -5,
      "noteX": -3.3,
      "noteY": -4.95,
      "lines": [
        "C14 - MCU supply bypass: shunts",
        "fast supply noise."
      ],
      "description": "MCU supply bypass: shunts fast supply noise.",
      "section": "BLOCK_RadioSupply"
    },
    "C15": {
      "sheet": "RadioSupply",
      "x": -5.55,
      "y": -6.5,
      "noteX": -3.3,
      "noteY": -6.45,
      "lines": [
        "C15 - MCU bulk bypass: supports",
        "supply transients."
      ],
      "description": "MCU bulk bypass: supports supply transients.",
      "section": "BLOCK_RadioSupply"
    },
    "TP3": {
      "sheet": "RingDebug",
      "x": -10,
      "y": 4,
      "noteX": -12.4,
      "noteY": 1.7000000000000002,
      "lines": [
        "TP3 - SWD data pad: programs and",
        "debugs firmware."
      ],
      "description": "SWD data pad: programs and debugs firmware.",
      "section": "BLOCK_RingDebug"
    },
    "TP4": {
      "sheet": "RingDebug",
      "x": -0.5,
      "y": 4,
      "noteX": -2.9,
      "noteY": 1.7000000000000002,
      "lines": [
        "TP4 - SWD clock pad: clocks",
        "programming/debug data."
      ],
      "description": "SWD clock pad: clocks programming/debug data.",
      "section": "BLOCK_RingDebug"
    },
    "TP5": {
      "sheet": "RingDebug",
      "x": 9,
      "y": 4,
      "noteX": 6.6,
      "noteY": 1.7000000000000002,
      "lines": [
        "TP5 - Reset pad: resets MCU",
        "during programming."
      ],
      "description": "Reset pad: resets MCU during programming.",
      "section": "BLOCK_RingDebug"
    },
    "TP6": {
      "sheet": "RingDebug",
      "x": -10,
      "y": -3,
      "noteX": -12.4,
      "noteY": -5.3,
      "lines": [
        "TP6 - 1.8 V reference pad: sets",
        "debugger I/O level."
      ],
      "description": "1.8 V reference pad: sets debugger I/O level.",
      "section": "BLOCK_RingDebug"
    },
    "TP7": {
      "sheet": "RingDebug",
      "x": -0.5,
      "y": -3,
      "noteX": -2.9,
      "noteY": -5.3,
      "lines": [
        "TP7 - Debug ground pad: debugger",
        "return connection."
      ],
      "description": "Debug ground pad: debugger return connection.",
      "section": "BLOCK_RingDebug"
    },
    "U2": {
      "sheet": "Charging",
      "x": -10,
      "y": 6,
      "noteX": -12.4,
      "noteY": 3.7,
      "lines": [
        "U2 - Programmable cell charger",
        "and system power-path",
        "controller."
      ],
      "description": "Programmable cell charger and system power-path controller.",
      "section": "BLOCK_Charging"
    },
    "C1": {
      "sheet": "Charging",
      "x": -6,
      "y": 6,
      "noteX": -8.4,
      "noteY": 3.7,
      "lines": [
        "C1 - Input bypass: smooths",
        "charging-dock power."
      ],
      "description": "Input bypass: smooths charging-dock power.",
      "section": "BLOCK_Charging"
    },
    "C2": {
      "sheet": "Charging",
      "x": 9,
      "y": 6,
      "noteX": 6.6,
      "noteY": 3.7,
      "lines": [
        "C2 - System reservoir: smooths",
        "the VSYS supply."
      ],
      "description": "System reservoir: smooths the VSYS supply.",
      "section": "BLOCK_Charging"
    },
    "C3": {
      "sheet": "Charging",
      "x": -10,
      "y": 0,
      "noteX": -12.4,
      "noteY": -2.3,
      "lines": [
        "C3 - Battery bypass: stabilizes",
        "charger BAT node."
      ],
      "description": "Battery bypass: stabilizes charger BAT node.",
      "section": "BLOCK_Charging"
    },
    "R2": {
      "sheet": "Charging",
      "x": -0.5,
      "y": 0,
      "noteX": -5,
      "noteY": -2.3,
      "lines": [
        "R2 - Thermistor shunt: adds",
        "margin below 45 C charge limit."
      ],
      "description": "Thermistor shunt: adds margin below 45 C charge limit.",
      "section": "BLOCK_Charging"
    },
    "TP1": {
      "sheet": "ChargingContacts",
      "x": 0,
      "y": 2,
      "noteX": -2.4,
      "noteY": -0.2999999999999998,
      "lines": [
        "TP1 - 5 V test pad; checks ring",
        "charging input power."
      ],
      "description": "5 V test pad; checks ring charging input power.",
      "section": "BLOCK_ChargingContacts"
    },
    "TP2": {
      "sheet": "ChargingContacts",
      "x": 7,
      "y": 2,
      "noteX": 4.6,
      "noteY": -0.2999999999999998,
      "lines": [
        "TP2 - Ground test pad; provides",
        "ring power measurement return."
      ],
      "description": "Ground test pad; provides ring power measurement return.",
      "section": "BLOCK_ChargingContacts"
    },
    "J401": {
      "sheet": "ChargingContacts",
      "x": -7,
      "y": 2,
      "noteX": -9.4,
      "noteY": -0.2999999999999998,
      "lines": [
        "J401 - JST XSR socket; connects",
        "exterior charging targets to",
        "ring."
      ],
      "description": "JST XSR socket; connects exterior charging targets to ring.",
      "section": "BLOCK_ChargingContacts"
    },
    "Q10": {
      "sheet": "ChargeSafety",
      "x": -10,
      "y": 4,
      "noteX": -12.4,
      "noteY": 1.7000000000000002,
      "lines": [
        "Q10 - Transistor level shifter;",
        "keeps charging off until",
        "enabled."
      ],
      "description": "Transistor level shifter; keeps charging off until enabled.",
      "section": "BLOCK_ChargeSafety"
    },
    "R23": {
      "sheet": "ChargeSafety",
      "x": -0.5,
      "y": 4,
      "noteX": -2.9,
      "noteY": 1.7000000000000002,
      "lines": [
        "R23 - Base-bias resistor; limits",
        "charge-enable control current."
      ],
      "description": "Base-bias resistor; limits charge-enable control current.",
      "section": "BLOCK_ChargeSafety"
    },
    "R24": {
      "sheet": "ChargeSafety",
      "x": 9,
      "y": 4,
      "noteX": 6.6,
      "noteY": 1.7000000000000002,
      "lines": [
        "R24 - Pull-up; keeps charging",
        "disabled when MCU power is",
        "absent."
      ],
      "description": "Pull-up; keeps charging disabled when MCU power is absent.",
      "section": "BLOCK_ChargeSafety"
    },
    "R25": {
      "sheet": "ChargeSafety",
      "x": -10,
      "y": -3,
      "noteX": -12.4,
      "noteY": -5.3,
      "lines": [
        "R25 - GPIO pull-up; keeps",
        "charging disabled during reset."
      ],
      "description": "GPIO pull-up; keeps charging disabled during reset.",
      "section": "BLOCK_ChargeSafety"
    },
    "U6": {
      "sheet": "Protection",
      "x": -10,
      "y": 4,
      "noteX": -12.4,
      "noteY": 1.7000000000000002,
      "lines": [
        "U6 - Cell protection: detects",
        "voltage/current faults."
      ],
      "description": "Cell protection: detects voltage/current faults.",
      "section": "BLOCK_Protection"
    },
    "U9": {
      "sheet": "Protection",
      "x": -0.5,
      "y": 4,
      "noteX": -2.9,
      "noteY": 1.7000000000000002,
      "lines": [
        "U9 - Dual MOSFET: disconnects",
        "the cell on a fault."
      ],
      "description": "Dual MOSFET: disconnects the cell on a fault.",
      "section": "BLOCK_Protection"
    },
    "R6": {
      "sheet": "Protection",
      "x": 9,
      "y": 4,
      "noteX": 11,
      "noteY": 4,
      "lines": [
        "R6 - Filters the battery",
        "protector voltage input."
      ],
      "description": "Filters the battery protector voltage input.",
      "section": "BLOCK_Protection"
    },
    "R7": {
      "sheet": "Protection",
      "x": -10,
      "y": -3,
      "noteX": -12.4,
      "noteY": -5.3,
      "lines": [
        "R7 - Limits current into",
        "protector sense input."
      ],
      "description": "Limits current into protector sense input.",
      "section": "BLOCK_Protection"
    },
    "R8": {
      "sheet": "Protection",
      "x": -0.5,
      "y": -3,
      "noteX": -2.9,
      "noteY": -5.3,
      "lines": [
        "R8 - Sense resistance: lowers",
        "overcurrent trip level."
      ],
      "description": "Sense resistance: lowers overcurrent trip level.",
      "section": "BLOCK_Protection"
    },
    "C5": {
      "sheet": "Protection",
      "x": 9,
      "y": -3,
      "noteX": 6.6,
      "noteY": -5.3,
      "lines": [
        "C5 - Protector bypass: filters",
        "measured cell voltage."
      ],
      "description": "Protector bypass: filters measured cell voltage.",
      "section": "BLOCK_Protection"
    },
    "U7": {
      "sheet": "Regulators",
      "x": -4,
      "y": 1,
      "noteX": -6.4,
      "noteY": -1.2999999999999998,
      "lines": [
        "U7 - Low-power regulator:",
        "supplies 1.8 V logic."
      ],
      "description": "Low-power regulator: supplies 1.8 V logic.",
      "section": "BLOCK_Regulators"
    },
    "C6": {
      "sheet": "Regulators",
      "x": -7,
      "y": 5,
      "noteX": -9.4,
      "noteY": 2.7,
      "lines": [
        "C6 - LDO input bypass: smooths",
        "system supply."
      ],
      "description": "LDO input bypass: smooths system supply.",
      "section": "BLOCK_Regulators"
    },
    "C7": {
      "sheet": "Regulators",
      "x": 0,
      "y": 1,
      "noteX": -2.4,
      "noteY": -1.2999999999999998,
      "lines": [
        "C7 - LDO output bypass:",
        "stabilizes 1.8 V supply."
      ],
      "description": "LDO output bypass: stabilizes 1.8 V supply.",
      "section": "BLOCK_Regulators"
    },
    "R17": {
      "sheet": "BatterySense",
      "x": -10,
      "y": 4,
      "noteX": -12.4,
      "noteY": 1.7000000000000002,
      "lines": [
        "R17 - Upper divider resistor:",
        "scales battery voltage."
      ],
      "description": "Upper divider resistor: scales battery voltage.",
      "section": "BLOCK_BatterySense"
    },
    "R18": {
      "sheet": "BatterySense",
      "x": -0.5,
      "y": 4,
      "noteX": -2.9,
      "noteY": 1.7000000000000002,
      "lines": [
        "R18 - Lower divider resistor:",
        "scales battery voltage."
      ],
      "description": "Lower divider resistor: scales battery voltage.",
      "section": "BLOCK_BatterySense"
    },
    "C8": {
      "sheet": "BatterySense",
      "x": 9,
      "y": 4,
      "noteX": 6.6,
      "noteY": 1.7000000000000002,
      "lines": [
        "C8 - ADC filter: smooths",
        "battery-voltage reading."
      ],
      "description": "ADC filter: smooths battery-voltage reading.",
      "section": "BLOCK_BatterySense"
    },
    "R20": {
      "sheet": "BatterySense",
      "x": -10,
      "y": -3,
      "noteX": -12.4,
      "noteY": -5.3,
      "lines": [
        "R20 - Switches bias for the",
        "separate cell-temperature probe."
      ],
      "description": "Switches bias for the separate cell-temperature probe.",
      "section": "BLOCK_BatterySense"
    },
    "U3": {
      "sheet": "Optical",
      "x": -10,
      "y": 6,
      "noteX": -12.4,
      "noteY": 3.7,
      "lines": [
        "U3 - Optical AFE; drives LEDs and",
        "samples two detectors sequentially."
      ],
      "description": "Optical AFE; samples two photodiodes sequentially.",
      "section": "BLOCK_Optical"
    },
    "LED1": {
      "sheet": "Optical",
      "x": -0.5,
      "y": 6,
      "noteX": -2.9,
      "noteY": 3.7,
      "lines": [
        "LED1 - Green, red and IR",
        "emitters: illuminate finger",
        "tissue."
      ],
      "description": "Green, red and IR emitters: illuminate finger tissue.",
      "section": "BLOCK_Optical"
    },
    "PD1": {
      "sheet": "Optical",
      "x": 9,
      "y": 6,
      "noteX": 6.6,
      "noteY": 3.7,
      "lines": [
        "PD1 - Photodiode 1: first",
        "spatial optical measurement",
        "path."
      ],
      "description": "Photodiode 1: first spatial optical measurement path.",
      "section": "BLOCK_Optical"
    },
    "PD2": {
      "sheet": "Optical",
      "x": -10,
      "y": 0,
      "noteX": -12.4,
      "noteY": -2.3,
      "lines": [
        "PD2 - Photodiode 2: second",
        "spatial optical measurement",
        "path."
      ],
      "description": "Photodiode 2: second spatial optical measurement path.",
      "section": "BLOCK_Optical"
    },
    "R22": {
      "sheet": "Optical",
      "x": -0.5,
      "y": 0,
      "noteX": -2.9,
      "noteY": -2.3,
      "lines": [
        "R22 - Pull-up for the dedicated",
        "optical I2C data."
      ],
      "description": "Pull-up for the dedicated optical I2C data.",
      "section": "BLOCK_Optical"
    },
    "C21": {
      "sheet": "Optical",
      "x": 8.85,
      "y": 0,
      "noteX": 11.1,
      "noteY": 0,
      "lines": [
        "C21 - Optical logic bypass:",
        "filters 1.8 V noise."
      ],
      "description": "Optical logic bypass: filters 1.8 V noise.",
      "section": "BLOCK_Optical"
    },
    "C22": {
      "sheet": "Optical",
      "x": -10,
      "y": -6,
      "noteX": -12.4,
      "noteY": -8.3,
      "lines": [
        "C22 - Reference bypass:",
        "stabilizes optical ADC",
        "reference."
      ],
      "description": "Reference bypass: stabilizes optical ADC reference.",
      "section": "BLOCK_Optical"
    },
    "C23": {
      "sheet": "Optical",
      "x": 3,
      "y": 6,
      "noteX": 0.6000000000000001,
      "noteY": 3.7,
      "lines": [
        "C23 - 3.3V LED reservoir",
        "supplies optical pulse charge."
      ],
      "description": "LED reservoir: supplies optical LED pulses.",
      "section": "BLOCK_Optical"
    },
    "C27": {
      "sheet": "Optical",
      "x": 9.15,
      "y": -1.5,
      "noteX": 11.1,
      "noteY": -1.5,
      "lines": [
        "C27 - Analog supply reservoir",
        "for optical AFE."
      ],
      "description": "Analog supply reservoir for optical AFE.",
      "section": "BLOCK_Optical"
    },
    "U4": {
      "sheet": "Sensors",
      "x": -10,
      "y": 6,
      "noteX": -12.4,
      "noteY": 3.7,
      "lines": [
        "U4 - Temperature sensor:",
        "measures local skin-side heat."
      ],
      "description": "Temperature sensor: measures local skin-side heat.",
      "section": "BLOCK_Sensors"
    },
    "U5": {
      "sheet": "Sensors",
      "x": -0.5,
      "y": 5.7,
      "noteX": -2.9,
      "noteY": 3.4,
      "lines": [
        "U5: LIS2DW12 movement sensor",
        "MCU steps; INT2 FIFO/activity"
      ],
      "description": "Accelerometer: measures movement and activity.",
      "section": "BLOCK_Sensors"
    },
    "R12": {
      "sheet": "Sensors",
      "x": 3,
      "y": 6,
      "noteX": -1,
      "noteY": 8,
      "lines": [
        "R12 - SCL pull-up: holds I2C",
        "clock high when idle."
      ],
      "description": "SCL pull-up: holds I2C clock high when idle.",
      "section": "BLOCK_Sensors"
    },
    "R13": {
      "sheet": "Sensors",
      "x": 3,
      "y": 0,
      "noteX": 0.6000000000000001,
      "noteY": -2.3,
      "lines": [
        "R13 - SDA pull-up: holds I2C",
        "data high when idle."
      ],
      "description": "SDA pull-up: holds I2C data high when idle.",
      "section": "BLOCK_Sensors"
    },
    "C24": {
      "sheet": "Sensors",
      "x": 5.7,
      "y": 6,
      "noteX": 8.3,
      "noteY": 6.05,
      "lines": [
        "C24 - Sensor rail bypass:",
        "filters the shared1.8V supply."
      ],
      "description": "Filters the shared1.8V sensor supply.",
      "section": "BLOCK_Sensors"
    },
    "C25": {
      "sheet": "Sensors",
      "x": 6,
      "y": 4.5,
      "noteX": 8.3,
      "noteY": 4.55,
      "lines": [
        "C25 - Sensor rail bypass:",
        "filters the shared1.8V supply."
      ],
      "description": "Filters the shared1.8V sensor supply.",
      "section": "BLOCK_Sensors"
    },
    "C26": {
      "sheet": "Sensors",
      "x": 6.3,
      "y": 3,
      "noteX": 8.3,
      "noteY": 3.05,
      "lines": [
        "C26 - Sensor rail bypass:",
        "filters the shared1.8V supply."
      ],
      "description": "Filters the shared1.8V sensor supply.",
      "section": "BLOCK_Sensors"
    },
    "JPOS": {
      "sheet": "Battery",
      "x": -10,
      "y": 4,
      "noteX": -12.4,
      "noteY": 1.7000000000000002,
      "lines": [
        "JPOS - Gold positive battery",
        "contact; feeds the cell power",
        "input."
      ],
      "description": "Gold positive battery contact; feeds the cell power input.",
      "section": "BLOCK_Battery"
    },
    "U_NEG": {
      "sheet": "Battery",
      "x": -0.5,
      "y": 4,
      "noteX": -2.9,
      "noteY": 1.7000000000000002,
      "lines": [
        "U_NEG - Gold negative battery",
        "contact; provides the cell",
        "return."
      ],
      "description": "Gold negative battery contact; provides the cell return.",
      "section": "BLOCK_Battery"
    },
    "U_TH1": {
      "sheet": "Battery",
      "x": 9,
      "y": 4,
      "noteX": 6.6,
      "noteY": 1.7000000000000002,
      "lines": [
        "U_TH1 - Cell thermistor;",
        "provides hardware charge-",
        "temperature sensing."
      ],
      "description": "Cell thermistor; provides hardware charge-temperature sensing.",
      "section": "BLOCK_Battery"
    },
    "U_TH2": {
      "sheet": "Battery",
      "x": -10,
      "y": -3,
      "noteX": -12.4,
      "noteY": -5.3,
      "lines": [
        "U_TH2 - Independent cell",
        "thermistor; supplies firmware",
        "thermal guard."
      ],
      "description": "Independent cell thermistor; supplies firmware thermal guard.",
      "section": "BLOCK_Battery"
    },
    "TP_RXA": {
      "sheet": "CoilStudy",
      "x": -10,
      "y": 2,
      "noteX": -12.4,
      "noteY": -0.2999999999999998,
      "lines": [
        "TP_RXA - Printed-coil test",
        "terminal A; continuity",
        "measurement only."
      ],
      "description": "Printed-coil test terminal A; continuity measurement only.",
      "section": "BLOCK_CoilStudy"
    },
    "TP_RXB": {
      "sheet": "CoilStudy",
      "x": -0.5,
      "y": 2,
      "noteX": -2.9,
      "noteY": -0.2999999999999998,
      "lines": [
        "TP_RXB - Printed-coil test",
        "terminal B; no charging receiver",
        "installed."
      ],
      "description": "Printed-coil test terminal B; no charging receiver installed.",
      "section": "BLOCK_CoilStudy"
    },
    "J101": {
      "sheet": "DockPower",
      "x": -9.92,
      "y": 4,
      "noteX": -12.4,
      "noteY": 1.7000000000000002,
      "lines": [
        "J101 - USB-C socket; accepts",
        "dock power and programmer USB",
        "data."
      ],
      "description": "USB-C socket; accepts dock power and programmer USB data.",
      "section": "BLOCK_DockPower"
    },
    "U102": {
      "sheet": "DockPower",
      "x": -0.5,
      "y": 4,
      "noteX": -2.9,
      "noteY": 1.7000000000000002,
      "lines": [
        "U102 - 3.3 V regulator; powers",
        "the USB programmer electronics."
      ],
      "description": "3.3 V regulator; powers the USB programmer electronics.",
      "section": "BLOCK_DockPower"
    },
    "C101": {
      "sheet": "DockPower",
      "x": 9,
      "y": 4,
      "noteX": 6.6,
      "noteY": 1.7000000000000002,
      "lines": [
        "C101 - Input bypass capacitor;",
        "smooths USB 5 V power."
      ],
      "description": "Input bypass capacitor; smooths USB 5 V power.",
      "section": "BLOCK_DockPower"
    },
    "C102": {
      "sheet": "DockPower",
      "x": -10,
      "y": -3,
      "noteX": -12.4,
      "noteY": -5.3,
      "lines": [
        "C102 - Output bypass capacitor;",
        "stabilizes programmer 3.3 V."
      ],
      "description": "Output bypass capacitor; stabilizes programmer 3.3 V.",
      "section": "BLOCK_DockPower"
    },
    "R101": {
      "sheet": "DockPower",
      "x": -13.08,
      "y": 3,
      "noteX": -15,
      "noteY": 0.7,
      "lines": [
        "R101 - USB-C CC1 pull-down;",
        "requests standard USB sink",
        "power."
      ],
      "description": "USB-C CC1 pull-down; requests standard USB sink power.",
      "section": "BLOCK_DockPower"
    },
    "R102": {
      "sheet": "DockPower",
      "x": -6.5,
      "y": 5,
      "noteX": -8,
      "noteY": 7.2,
      "lines": [
        "R102 - USB-C CC2 pull-down;",
        "works with either cable",
        "orientation."
      ],
      "description": "USB-C CC2 pull-down; works with either cable orientation.",
      "section": "BLOCK_DockPower"
    },
    "U101": {
      "sheet": "DockCharge",
      "x": -8,
      "y": 0,
      "noteX": -10.4,
      "noteY": -2.3,
      "lines": [
        "U101 - Current-limited 5 V power",
        "switch; supplies dock contacts."
      ],
      "description": "Current-limited 5 V power switch; supplies dock contacts.",
      "section": "BLOCK_DockCharge"
    },
    "C107": {
      "sheet": "DockCharge",
      "x": 0,
      "y": 5,
      "noteX": -2.4,
      "noteY": 2.7,
      "lines": [
        "C107 - Input bypass capacitor;",
        "filters dock power-switch",
        "supply."
      ],
      "description": "Input bypass capacitor; filters dock power-switch supply.",
      "section": "BLOCK_DockCharge"
    },
    "C108": {
      "sheet": "DockCharge",
      "x": 9,
      "y": 5,
      "noteX": 6.6,
      "noteY": 2.7,
      "lines": [
        "C108 - Output bypass capacitor;",
        "smooths charging-contact power."
      ],
      "description": "Output bypass capacitor; smooths charging-contact power.",
      "section": "BLOCK_DockCharge"
    },
    "R109": {
      "sheet": "DockCharge",
      "x": -8,
      "y": 6,
      "noteX": -10.4,
      "noteY": 3.7,
      "lines": [
        "R109 - FAULT pull-up; makes the",
        "dock power fault signal",
        "readable."
      ],
      "description": "FAULT pull-up; makes the dock power fault signal readable.",
      "section": "BLOCK_DockCharge"
    },
    "J103": {
      "sheet": "DockCharge",
      "x": 0,
      "y": -3,
      "noteX": -2.4,
      "noteY": -5.3,
      "lines": [
        "J103 - Two-pin JST output; sends",
        "5 V and ground to contact",
        "island."
      ],
      "description": "Two-pin JST output; sends 5 V and ground to contact island.",
      "section": "BLOCK_DockCharge"
    },
    "U104": {
      "sheet": "UsbProgrammer",
      "x": -10,
      "y": 4,
      "noteX": -12.4,
      "noteY": 1.7000000000000002,
      "lines": [
        "U104 - CH552E USB MCU; runs the",
        "USB-to-SWD bridge firmware."
      ],
      "description": "CH552E USB MCU; runs the USB-to-SWD bridge firmware.",
      "section": "BLOCK_UsbProgrammer"
    },
    "SW101": {
      "sheet": "UsbProgrammer",
      "x": -0.5,
      "y": 4,
      "noteX": -2.9,
      "noteY": 1.7000000000000002,
      "lines": [
        "SW101 - BOOT button; selects USB",
        "programmer firmware download."
      ],
      "description": "BOOT button; selects USB programmer firmware download.",
      "section": "BLOCK_UsbProgrammer"
    },
    "C103": {
      "sheet": "UsbProgrammer",
      "x": 9,
      "y": 4,
      "noteX": 6.6,
      "noteY": 1.7000000000000002,
      "lines": [
        "C103 - Local bypass capacitor;",
        "filters USB MCU supply noise."
      ],
      "description": "Local bypass capacitor; filters USB MCU supply noise.",
      "section": "BLOCK_UsbProgrammer"
    },
    "R103": {
      "sheet": "UsbProgrammer",
      "x": -10,
      "y": -3,
      "noteX": -12.4,
      "noteY": -5.3,
      "lines": [
        "R103 - BOOT pull-up; selects",
        "normal programmer startup."
      ],
      "description": "BOOT pull-up; selects normal programmer startup.",
      "section": "BLOCK_UsbProgrammer"
    },
    "U103": {
      "sheet": "DockDebug",
      "x": -10,
      "y": 6,
      "noteX": -12.4,
      "noteY": 3.7,
      "lines": [
        "U103 - SWD level shifter;",
        "translates 3.3 V signals to ring",
        "1.8 V."
      ],
      "description": "SWD level shifter; translates 3.3 V signals to ring 1.8 V.",
      "section": "BLOCK_DockDebug"
    },
    "C105": {
      "sheet": "DockDebug",
      "x": -0.5,
      "y": 6,
      "noteX": 2,
      "noteY": 6,
      "lines": [
        "C105 - 1.8 V bypass capacitor;",
        "filters the SWD reference",
        "supply."
      ],
      "description": "1.8 V bypass capacitor; filters the SWD reference supply.",
      "section": "BLOCK_DockDebug"
    },
    "C106": {
      "sheet": "DockDebug",
      "x": 9,
      "y": 6,
      "noteX": 6.6,
      "noteY": 3.7,
      "lines": [
        "C106 - 3.3 V bypass capacitor;",
        "filters level-shifter supply."
      ],
      "description": "3.3 V bypass capacitor; filters level-shifter supply.",
      "section": "BLOCK_DockDebug"
    },
    "R104": {
      "sheet": "DockDebug",
      "x": -10,
      "y": 0,
      "noteX": -12.4,
      "noteY": -2.3,
      "lines": [
        "R104 - 1k default-OFF OE pulldown;",
        "overrides MCU reset pullup."
      ],
      "description": "Enable pull-down; disables SWD translation without ring power.",
      "section": "BLOCK_DockDebug"
    },
    "R105": {
      "sheet": "DockDebug",
      "x": -0.5,
      "y": 0,
      "noteX": -2.9,
      "noteY": -2.3,
      "lines": [
        "R105 - 100R MCU OE series resistor;",
        "OE supports 3.3V logic, target stays1.8V."
      ],
      "description": "Enable pull-up; enables translation when ring 1.8 V is present.",
      "section": "BLOCK_DockDebug"
    },
    "R106": {
      "sheet": "DockDebug",
      "x": 9,
      "y": 0,
      "noteX": 6.6,
      "noteY": -2.3,
      "lines": [
        "R106 - SWD data series resistor;",
        "damps edges and limits pin",
        "current."
      ],
      "description": "SWD data series resistor; damps edges and limits pin current.",
      "section": "BLOCK_DockDebug"
    },
    "R107": {
      "sheet": "DockDebug",
      "x": -10,
      "y": -6,
      "noteX": -12.4,
      "noteY": -8.3,
      "lines": [
        "R107 - SWD clock series",
        "resistor; damps edges and limits",
        "pin current."
      ],
      "description": "SWD clock series resistor; damps edges and limits pin current.",
      "section": "BLOCK_DockDebug"
    },
    "TP101": {
      "sheet": "FactoryTest",
      "x": -10,
      "y": 4,
      "noteX": -12.4,
      "noteY": 1.7000000000000002,
      "lines": [
        "TP101 - Ground probe pad;",
        "provides a test-fixture return."
      ],
      "description": "Ground probe pad; provides a test-fixture return.",
      "section": "BLOCK_FactoryTest"
    },
    "TP102": {
      "sheet": "FactoryTest",
      "x": -0.5,
      "y": 4,
      "noteX": -2.9,
      "noteY": 1.7000000000000002,
      "lines": [
        "TP102 - 1.8 V probe pad;",
        "measures ring logic reference",
        "voltage."
      ],
      "description": "1.8 V probe pad; measures ring logic reference voltage.",
      "section": "BLOCK_FactoryTest"
    },
    "TP103": {
      "sheet": "FactoryTest",
      "x": 9,
      "y": 4,
      "noteX": 6.6,
      "noteY": 1.7000000000000002,
      "lines": [
        "TP103 - SWD data probe pad;",
        "carries programming and debug",
        "data."
      ],
      "description": "SWD data probe pad; carries programming and debug data.",
      "section": "BLOCK_FactoryTest"
    },
    "TP104": {
      "sheet": "FactoryTest",
      "x": -10,
      "y": -3,
      "noteX": -12.4,
      "noteY": -5.3,
      "lines": [
        "TP104 - SWD clock probe pad;",
        "clocks programming and debug",
        "data."
      ],
      "description": "SWD clock probe pad; clocks programming and debug data.",
      "section": "BLOCK_FactoryTest"
    },
    "TP106": {
      "sheet": "FactoryTest",
      "x": -0.5,
      "y": -3,
      "noteX": -2.9,
      "noteY": -5.3,
      "lines": [
        "TP106 - 5 V probe pad; checks",
        "the dock charging supply."
      ],
      "description": "5 V probe pad; checks the dock charging supply.",
      "section": "BLOCK_FactoryTest"
    },
    "R130": {
      "sheet": "ServiceLinks",
      "x": -10,
      "y": 4,
      "noteX": -12.4,
      "noteY": 1.7000000000000002,
      "lines": [
        "R130 - Temporary 0-ohm link;",
        "connects SWD clock before",
        "cutting."
      ],
      "description": "Temporary 0-ohm link; connects SWD clock before cutting.",
      "section": "BLOCK_ServiceLinks"
    },
    "R131": {
      "sheet": "ServiceLinks",
      "x": -0.5,
      "y": 4,
      "noteX": -2.9,
      "noteY": 1.7000000000000002,
      "lines": [
        "R131 - Temporary 0-ohm link;",
        "connects SWD data before",
        "cutting."
      ],
      "description": "Temporary 0-ohm link; connects SWD data before cutting.",
      "section": "BLOCK_ServiceLinks"
    },
    "R132": {
      "sheet": "ServiceLinks",
      "x": 9,
      "y": 4,
      "noteX": 6.6,
      "noteY": 1.7000000000000002,
      "lines": [
        "R132 - Temporary 0-ohm link;",
        "connects 1.8 V reference before",
        "cutting."
      ],
      "description": "Temporary 0-ohm link; connects 1.8 V reference before cutting.",
      "section": "BLOCK_ServiceLinks"
    },
    "R133": {
      "sheet": "ServiceLinks",
      "x": -10,
      "y": -3,
      "noteX": -12.4,
      "noteY": -5.3,
      "lines": [
        "R133 - Temporary 0-ohm link;",
        "connects dock and ring ground",
        "before cut."
      ],
      "description": "Temporary 0-ohm link; connects dock and ring ground before cut.",
      "section": "BLOCK_ServiceLinks"
    },
    "R134": {
      "sheet": "ServiceLinks",
      "x": -0.5,
      "y": -3,
      "noteX": -2.9,
      "noteY": -5.3,
      "lines": [
        "R134 - Temporary 0-ohm link;",
        "connects dock 5 V before",
        "cutting."
      ],
      "description": "Temporary 0-ohm link; connects dock 5 V before cutting.",
      "section": "BLOCK_ServiceLinks"
    },
    "J301": {
      "sheet": "ContactIsland",
      "x": -10,
      "y": 2,
      "noteX": -12.4,
      "noteY": -0.2999999999999998,
      "lines": [
        "J301 - Two-pin JST input;",
        "receives dock 5 V and ground",
        "cable."
      ],
      "description": "Two-pin JST input; receives dock 5 V and ground cable.",
      "section": "BLOCK_ContactIsland"
    },
    "PG301": {
      "sheet": "DockPower",
      "x": -0.5,
      "y": -3,
      "noteX": -2.9,
      "noteY": -5.3,
      "lines": [
        "PG301 - Positive spring contact;",
        "touches the ring charging",
        "target."
      ],
      "description": "Positive spring contact; touches the ring charging target.",
      "section": "BLOCK_DockPower"
    },
    "PG302": {
      "sheet": "DockPower",
      "x": 9.0,
      "y": -3,
      "noteX": 6.6,
      "noteY": -5.3,
      "lines": [
        "PG302 - Ground spring contact;",
        "completes the ring charging",
        "return."
      ],
      "description": "Ground spring contact; completes the ring charging return.",
      "section": "BLOCK_DockPower"
    },
    "R1": {
      "sheet": "Charging",
      "x": -0.5,
      "y": -6,
      "noteX": -2.9,
      "noteY": -8.3,
      "lines": [
        "R1 - Pull-up: keeps charging off",
        "until MCU verifies safe limits."
      ],
      "description": "Pull-up: keeps charging off until MCU verifies safe limits.",
      "section": "BLOCK_Charging"
    },
    "C28": {
      "sheet": "Sensors",
      "x": -7,
      "y": -5,
      "noteX": -9,
      "noteY": -7,
      "lines": [
        "C28: 100nF supply bypass"
      ],
      "section": "SEC_Sensors"
    },
    "C29": {
      "sheet": "Sensors",
      "x": 1,
      "y": -5,
      "noteX": -1,
      "noteY": -7,
      "lines": [
        "C29: 10uF local bulk"
      ],
      "section": "SEC_Sensors"
    },
    "U8": {
      "sheet": "OpticalPower",
      "x": -10,
      "y": 6,
      "noteX": -12.4,
      "noteY": 3.7,
      "lines": [
        "U8 - Reverse-protected 3.3 V",
        "regulator powers the LED rail."
      ],
      "description": "TPS70933 reverse-protected 3.3 V supply for external LEDs.",
      "section": "BLOCK_OpticalPower"
    },
    "R30": {
      "sheet": "OpticalPower",
      "x": -10,
      "y": 0,
      "noteX": -12.4,
      "noteY": -2.3,
      "lines": [
        "R30 - 1k resistor limits inrush",
        "into the LED supply reservoir."
      ],
      "description": "1 kohm resistor limits input reservoir charging current.",
      "section": "BLOCK_OpticalPower"
    },
    "C30": {
      "sheet": "OpticalPower",
      "x": -10,
      "y": -5,
      "noteX": -12.4,
      "noteY": -7.3,
      "lines": [
        "C30 - Regulator input bulk",
        "buffers pulsed supply current."
      ],
      "description": "C30 - Regulator input bulk buffers pulsed supply current.",
      "section": "BLOCK_OpticalPower"
    },
    "C32": {
      "sheet": "OpticalPower",
      "x": 1,
      "y": 6,
      "noteX": -1.4,
      "noteY": 3.7,
      "lines": [
        "C32 - Local3.3V output bulk",
        "stabilizes LED regulator."
      ],
      "description": "C32 - Local3.3V output bulk stabilizes LED regulator.",
      "section": "BLOCK_OpticalPower"
    },
    "C31": {
      "sheet": "OpticalPower",
      "x": 1,
      "y": 0,
      "noteX": -1.4,
      "noteY": -2.3,
      "lines": [
        "C31 - ZSPD digital bypass",
        "filters1.8V supply noise."
      ],
      "description": "C31 - ZSPD digital bypass filters1.8V supply noise.",
      "section": "BLOCK_OpticalPower"
    },
    "J105": {
      "sheet": "DockDebug",
      "x": -0.5,
      "y": -6,
      "noteX": -2.9,
      "noteY": -8.3,
      "lines": [
        "J105 - service: 1 SWCLK; 2 SWDIO.",
        "3 CLK; 4 DIO; 5 GND. Straight-through JST 102A."
      ],
      "description": "J105 - keyed five-wire target service; Vref IN only, SWDIO, CLK, GND, RESET.",
      "section": "BLOCK_DockDebug"
    },
    "Q106": {
      "sheet": "DockReset",
      "x": -5,
      "y": 3,
      "noteX": -7.4,
      "noteY": 0.7,
      "lines": [
        "Q106 - sink-only 1.8V target reset;",
        "no 3.3V pullup on ring reset."
      ],
      "description": "Q106 - sink-only 1.8V target reset; no 3.3V pullup on ring reset.",
      "section": "BLOCK_DockReset"
    },
    "R110": {
      "sheet": "DockReset",
      "x": 5,
      "y": 3,
      "noteX": 2.6,
      "noteY": 0.7,
      "lines": [
        "R110 - holds reset gate low",
        "when the USB programmer is unpowered."
      ],
      "description": "R110 - holds reset gate low when the USB programmer is unpowered.",
      "section": "BLOCK_DockReset"
    },
    "JSWD1": {
      "sheet": "RingService",
      "x": 0,
      "y": 3,
      "noteX": -6,
      "noteY": -1,
      "section": "BLOCK_RingService",
      "lines": [
        "JSWD1 - optional BOTTOM service header; DO NOT PLACE.",
        "Only manually fit with the ring housing open.",
        "1: nRESET; 2: target 1.8V reference IN; 3: SWCLK.",
        "4: SWDIO; 5: GND. Use straight JST 102A cable."
      ],
      "description": "Optional manual post-cut1.8V SWD connection; no factory placement."
    }
  },
  "sheets": [
    {
      "name": "Radio",
      "title": "BLE radio and clock",
      "refs": [
        "U1",
        "C16",
        "C17",
        "Y1",
        "R15",
        "L1",
        "R19",
        "C18",
        "ANT1"
      ]
    },
    {
      "name": "RadioSupply",
      "title": "Radio supply bypass",
      "refs": [
        "C9",
        "C10",
        "C11",
        "C12",
        "C13",
        "C14",
        "C15"
      ]
    },
    {
      "name": "RingDebug",
      "title": "Ring programming pads",
      "refs": [
        "TP3",
        "TP4",
        "TP5",
        "TP6",
        "TP7"
      ]
    },
    {
      "name": "Charging",
      "title": "Ring charger and input",
      "refs": [
        "U2",
        "C1",
        "C2",
        "C3",
        "R2"
      ]
    },
    {
      "name": "ChargingContacts",
      "title": "Exterior charging connection",
      "refs": [
        "TP1",
        "TP2"
      ]
    },
    {
      "name": "ChargeSafety",
      "title": "Fail-safe charging control",
      "refs": [
        "Q10",
        "R23",
        "R24",
        "R25"
      ]
    },
    {
      "name": "Protection",
      "title": "Battery fault protection",
      "refs": [
        "U6",
        "U9",
        "R6",
        "R7",
        "R8",
        "C5"
      ]
    },
    {
      "name": "Regulators",
      "title": "Ring 1.8 V regulator",
      "refs": [
        "U7",
        "C6",
        "C7"
      ]
    },
    {
      "name": "BatterySense",
      "title": "Battery voltage and thermal bias",
      "refs": [
        "R17",
        "R18",
        "C8",
        "R20"
      ]
    },
    {
      "name": "Sensors",
      "title": "Motion and skin temperature",
      "refs": [
        "U4",
        "U5",
        "R12",
        "R13",
        "C24",
        "C25",
        "C26",
        "C28",
        "C29"
      ]
    },
    {
      "name": "Battery",
      "title": "Battery contacts and thermistors",
      "refs": [
        "JPOS",
        "U_NEG",
        "U_TH1",
        "U_TH2"
      ]
    },
    {
      "name": "CoilStudy",
      "title": "Unpowered printed-coil test",
      "refs": [
        "TP_RXA",
        "TP_RXB"
      ]
    },
    {
      "name": "DockPower",
      "title": "Dock USB-C and 3.3 V power",
      "refs": [
        "J101",
        "U102",
        "C101",
        "C102",
        "R101",
        "R102",
        "PG301",
        "PG302"
      ]
    },
    {
      "name": "DockCharge",
      "title": "Dock contact power output",
      "refs": [
        "U101",
        "C107",
        "C108",
        "R109"
      ]
    },
    {
      "name": "UsbProgrammer",
      "title": "USB programmer controller",
      "refs": [
        "U104",
        "SW101",
        "C103",
        "R103"
      ]
    },
    {
      "name": "DockDebug",
      "title": "SWD voltage translation",
      "refs": [
        "U103",
        "C105",
        "C106",
        "R104",
        "R105",
        "R106",
        "R107",
        "J105"
      ]
    },
    {
      "name": "FactoryTest",
      "title": "2.54 mm test fixture pads",
      "refs": [
        "TP101",
        "TP102",
        "TP103",
        "TP104",
        "TP106"
      ]
    },
    {
      "name": "ServiceLinks",
      "title": "Temporary cut-off links",
      "refs": [
        "R130",
        "R131",
        "R132",
        "R133",
        "R134"
      ]
    },
    {
      "name": "ContactIsland",
      "title": "Dock spring-contact island",
      "refs": []
    },
    {
      "name": "Optical",
      "title": "Optical measurement front end",
      "refs": [
        "U3",
        "LED1",
        "PD1",
        "PD2",
        "R22",
        "C21",
        "C22",
        "C23",
        "C27"
      ]
    },
    {
      "name": "OpticalPower",
      "title": "Optical supply compatibility",
      "refs": [
        "U8",
        "R30",
        "C30",
        "C32",
        "C31"
      ]
    },
    {
      "name": "DockReset",
      "title": "Target reset sink and safe default",
      "refs": [
        "Q106",
        "R110"
      ]
    },
    {
      "name": "RingService",
      "title": "Post-cut ring programming access",
      "refs": [
        "JSWD1"
      ]
    }
  ],
  "sets": {
    "service": [
      "C101",
      "C102",
      "C103",
      "C105",
      "C106",
      "C107",
      "C108",
      "J101",
      "R101",
      "R102",
      "R103",
      "R104",
      "R105",
      "R106",
      "R107",
      "R109",
      "R130",
      "R131",
      "R132",
      "R133",
      "R134",
      "SW101",
      "TP101",
      "TP102",
      "TP103",
      "TP104",
      "TP106",
      "U101",
      "U102",
      "U103",
      "U104",
      "J105",
      "Q106",
      "R110"
    ],
    "contact": [
      "PG301",
      "PG302"
    ],
    "interlock": [
      "Q10",
      "R23",
      "R24",
      "R25"
    ],
    "battery": [
      "JPOS",
      "U_NEG",
      "U_TH1",
      "U_TH2"
    ],
    "coil": [
      "TP_RXA",
      "TP_RXB"
    ],
    "ring": [
      "U1",
      "Y1",
      "ANT1",
      "L1",
      "U2",
      "U6",
      "U9",
      "U7",
      "U3",
      "LED1",
      "PD1",
      "PD2",
      "U4",
      "U5",
      "R20",
      "R2",
      "R6",
      "R7",
      "R8",
      "R12",
      "R13",
      "R15",
      "R17",
      "R18",
      "R22",
      "R19",
      "C1",
      "C2",
      "C3",
      "C5",
      "C6",
      "C7",
      "C8",
      "C9",
      "C10",
      "C11",
      "C12",
      "C13",
      "C14",
      "C15",
      "C16",
      "C17",
      "C18",
      "C21",
      "C22",
      "C23",
      "C27",
      "C24",
      "C25",
      "C26",
      "TP1",
      "TP2",
      "TP3",
      "TP4",
      "TP5",
      "TP6",
      "TP7",
      "C28",
      "C29",
      "U8",
      "R30",
      "C30",
      "C31",
      "C32"
    ]
  }
}