hrithik18k/open-ring-flex

A flexible wearable PCB integrating inductive battery charging, BLE control with SPI flash and 32 MHz crystal, SAM L10 capacitive touch/wear sensing, haptic MOSFET drive with a large capacitor bank, RF antenna matching, and SWD programming/test connectors.

Version
1.0.4
License
CC-BY-NC-SA-4.0
Stars
0

source-data/schematic-layout.json

{
  "sheets": [
    {
      "name": "Power",
      "displayName": "01 Power and charging"
    },
    {
      "name": "Radio",
      "displayName": "02 Bluetooth and RF"
    },
    {
      "name": "Touch",
      "displayName": "03 Touch and wear sensing"
    },
    {
      "name": "Haptics",
      "displayName": "04 Haptic feedback"
    },
    {
      "name": "Programming",
      "displayName": "05 Programming and test"
    }
  ],
  "sections": [
    {
      "name": "InductiveInput",
      "displayName": "Inductive input and rectifier",
      "sheet": "Power",
      "titleX": -2,
      "titleY": 5
    },
    {
      "name": "PowerManagement",
      "displayName": "Battery charger and system supply",
      "sheet": "Power",
      "titleX": -2,
      "titleY": -6.2
    },
    {
      "name": "VoltageMonitoring",
      "displayName": "Input and haptic voltage monitors",
      "sheet": "Power",
      "titleX": 16,
      "titleY": -6.2
    },
    {
      "name": "BleProcessor",
      "displayName": "BLE processor and clock",
      "sheet": "Radio",
      "titleX": -1,
      "titleY": 6
    },
    {
      "name": "SpiFlash",
      "displayName": "SPI flash",
      "sheet": "Radio",
      "titleX": 6.5,
      "titleY": 6
    },
    {
      "name": "RfMatching",
      "displayName": "2.4 GHz matching network and antenna",
      "sheet": "Radio",
      "titleX": -1,
      "titleY": -6
    },
    {
      "name": "TouchController",
      "displayName": "SAM L10 touch controller and supplies",
      "sheet": "Touch",
      "titleX": -3,
      "titleY": 7
    },
    {
      "name": "TouchSlider",
      "displayName": "Mutual-capacitance slider electrodes",
      "sheet": "Touch",
      "titleX": -2,
      "titleY": -5.5
    },
    {
      "name": "WearDetection",
      "displayName": "Finger-presence electrodes",
      "sheet": "Touch",
      "titleX": 15,
      "titleY": -5.5
    },
    {
      "name": "MotorDriver",
      "displayName": "Haptic motor driver",
      "sheet": "Haptics",
      "titleX": -2,
      "titleY": 5
    },
    {
      "name": "EnergyReservoir",
      "displayName": "21 x 47 uF haptic energy reservoir",
      "sheet": "Haptics",
      "titleX": -2,
      "titleY": -4
    },
    {
      "name": "BleProgramming",
      "displayName": "DA14531 SWD programmer",
      "sheet": "Programming",
      "titleX": -2,
      "titleY": 4
    },
    {
      "name": "TouchProgramming",
      "displayName": "SAM L10 SWD programmer",
      "sheet": "Programming",
      "titleX": 5,
      "titleY": 4
    },
    {
      "name": "SupplyTestPads",
      "displayName": "1.8 V and 1.1 V test pads",
      "sheet": "Programming",
      "titleX": -2,
      "titleY": -3
    }
  ],
  "components": {
    "PAD3": {
      "section": "InductiveInput",
      "sheet": "Power",
      "x": -1,
      "y": 0
    },
    "PAD4": {
      "section": "InductiveInput",
      "sheet": "Power",
      "x": -1,
      "y": -2.5
    },
    "C7": {
      "section": "InductiveInput",
      "sheet": "Power",
      "x": 1.5,
      "y": 0
    },
    "C8": {
      "section": "InductiveInput",
      "sheet": "Power",
      "x": 3.5,
      "y": 0
    },
    "D1": {
      "section": "InductiveInput",
      "sheet": "Power",
      "x": 4,
      "y": 2
    },
    "D4": {
      "section": "InductiveInput",
      "sheet": "Power",
      "x": 6.5,
      "y": 2
    },
    "D2": {
      "section": "InductiveInput",
      "sheet": "Power",
      "x": 6.5,
      "y": -1
    },
    "C1": {
      "section": "InductiveInput",
      "sheet": "Power",
      "x": 8.5,
      "y": -1
    },
    "C2": {
      "section": "InductiveInput",
      "sheet": "Power",
      "x": 10,
      "y": -1
    },
    "C3": {
      "section": "InductiveInput",
      "sheet": "Power",
      "x": 11.5,
      "y": -1
    },
    "U1": {
      "section": "PowerManagement",
      "sheet": "Power",
      "x": 5,
      "y": -11
    },
    "C4": {
      "section": "PowerManagement",
      "sheet": "Power",
      "x": 1,
      "y": -8.5
    },
    "L4": {
      "section": "PowerManagement",
      "sheet": "Power",
      "x": 9,
      "y": -11
    },
    "C10": {
      "section": "PowerManagement",
      "sheet": "Power",
      "x": 11,
      "y": -11
    },
    "C17": {
      "section": "PowerManagement",
      "sheet": "Power",
      "x": 9,
      "y": -8.5
    },
    "R1": {
      "section": "PowerManagement",
      "sheet": "Power",
      "x": 0.3,
      "y": -11.5
    },
    "R2": {
      "section": "PowerManagement",
      "sheet": "Power",
      "x": 0.3,
      "y": -14
    },
    "NTC1": {
      "section": "PowerManagement",
      "sheet": "Power",
      "x": 2.5,
      "y": -14
    },
    "PAD1": {
      "section": "PowerManagement",
      "sheet": "Power",
      "x": 11,
      "y": -8.5
    },
    "PAD2": {
      "section": "PowerManagement",
      "sheet": "Power",
      "x": 11,
      "y": -13.5
    },
    "R8": {
      "section": "VoltageMonitoring",
      "sheet": "Power",
      "x": 19,
      "y": -10,
      "rotation": 90
    },
    "R10": {
      "section": "VoltageMonitoring",
      "sheet": "Power",
      "x": 19,
      "y": -12.2
    },
    "R9": {
      "section": "VoltageMonitoring",
      "sheet": "Power",
      "x": 24,
      "y": -10,
      "rotation": 90
    },
    "R11": {
      "section": "VoltageMonitoring",
      "sheet": "Power",
      "x": 24,
      "y": -12.2
    },
    "U2": {
      "section": "BleProcessor",
      "sheet": "Radio",
      "x": 2.5,
      "y": 0
    },
    "L1": {
      "section": "BleProcessor",
      "sheet": "Radio",
      "x": 0.3,
      "y": 2
    },
    "C6": {
      "section": "BleProcessor",
      "sheet": "Radio",
      "x": 0.3,
      "y": 3.8
    },
    "C5": {
      "section": "BleProcessor",
      "sheet": "Radio",
      "x": 5.4,
      "y": 2.8
    },
    "X1": {
      "section": "BleProcessor",
      "sheet": "Radio",
      "x": 1.0,
      "y": -3
    },
    "U3": {
      "section": "SpiFlash",
      "sheet": "Radio",
      "x": 9,
      "y": 0
    },
    "C15": {
      "section": "SpiFlash",
      "sheet": "Radio",
      "x": 6.9,
      "y": 2.8
    },
    "C16": {
      "section": "SpiFlash",
      "sheet": "Radio",
      "x": 8.4,
      "y": 2.8
    },
    "L2": {
      "section": "RfMatching",
      "sheet": "Radio",
      "x": 2,
      "y": -8
    },
    "C9": {
      "section": "RfMatching",
      "sheet": "Radio",
      "x": 5,
      "y": -8
    },
    "L3": {
      "section": "RfMatching",
      "sheet": "Radio",
      "x": 8,
      "y": -8
    },
    "Y1": {
      "section": "RfMatching",
      "sheet": "Radio",
      "x": 11,
      "y": -8
    },
    "C11": {
      "section": "RfMatching",
      "sheet": "Radio",
      "x": 0,
      "y": -10
    },
    "C12": {
      "section": "RfMatching",
      "sheet": "Radio",
      "x": 3.5,
      "y": -10
    },
    "C13": {
      "section": "RfMatching",
      "sheet": "Radio",
      "x": 6.5,
      "y": -10
    },
    "C14": {
      "section": "RfMatching",
      "sheet": "Radio",
      "x": 9.5,
      "y": -10
    },
    "U4": {
      "section": "TouchController",
      "sheet": "Touch",
      "x": 6,
      "y": 0
    },
    "R3": {
      "section": "TouchController",
      "sheet": "Touch",
      "x": 1.5,
      "y": 5.3,
      "rotation": 90
    },
    "C18": {
      "section": "TouchController",
      "sheet": "Touch",
      "x": 0,
      "y": 3.5
    },
    "C19": {
      "section": "TouchController",
      "sheet": "Touch",
      "x": 1.5,
      "y": 3.5
    },
    "C20": {
      "section": "TouchController",
      "sheet": "Touch",
      "x": 3,
      "y": 3.5
    },
    "C21": {
      "section": "TouchController",
      "sheet": "Touch",
      "x": 7,
      "y": 3.5
    },
    "C22": {
      "section": "TouchController",
      "sheet": "Touch",
      "x": 8.5,
      "y": 3.5
    },
    "C23": {
      "section": "TouchController",
      "sheet": "Touch",
      "x": 10.5,
      "y": 3.5
    },
    "C24": {
      "section": "TouchController",
      "sheet": "Touch",
      "x": 12,
      "y": 3.5
    },
    "R12": {
      "section": "TouchController",
      "sheet": "Touch",
      "x": 10,
      "y": -1
    },
    "R13": {
      "section": "TouchController",
      "sheet": "Touch",
      "x": 12,
      "y": -1
    },
    "E1": {
      "section": "TouchSlider",
      "sheet": "Touch",
      "x": 1,
      "y": -8
    },
    "E2": {
      "section": "TouchSlider",
      "sheet": "Touch",
      "x": 5.5,
      "y": -8
    },
    "E3": {
      "section": "TouchSlider",
      "sheet": "Touch",
      "x": 10,
      "y": -8
    },
    "E4": {
      "section": "TouchSlider",
      "sheet": "Touch",
      "x": 5.5,
      "y": -11
    },
    "E5": {
      "section": "WearDetection",
      "sheet": "Touch",
      "x": 17,
      "y": -8
    },
    "E6": {
      "section": "WearDetection",
      "sheet": "Touch",
      "x": 22,
      "y": -8
    },
    "R16": {
      "section": "MotorDriver",
      "sheet": "Haptics",
      "x": 0,
      "y": 1
    },
    "R17": {
      "section": "MotorDriver",
      "sheet": "Haptics",
      "x": 2,
      "y": 1
    },
    "Q1": {
      "section": "MotorDriver",
      "sheet": "Haptics",
      "x": 5,
      "y": -0.5
    },
    "PAD5": {
      "section": "MotorDriver",
      "sheet": "Haptics",
      "x": 9,
      "y": 2
    },
    "PAD6": {
      "section": "MotorDriver",
      "sheet": "Haptics",
      "x": 5,
      "y": 2
    },
    "C25": {
      "section": "EnergyReservoir",
      "sheet": "Haptics",
      "x": 0.0,
      "y": -6
    },
    "C26": {
      "section": "EnergyReservoir",
      "sheet": "Haptics",
      "x": 1.35,
      "y": -6
    },
    "C27": {
      "section": "EnergyReservoir",
      "sheet": "Haptics",
      "x": 2.7,
      "y": -6
    },
    "C28": {
      "section": "EnergyReservoir",
      "sheet": "Haptics",
      "x": 4.050000000000001,
      "y": -6
    },
    "C29": {
      "section": "EnergyReservoir",
      "sheet": "Haptics",
      "x": 5.4,
      "y": -6
    },
    "C30": {
      "section": "EnergyReservoir",
      "sheet": "Haptics",
      "x": 6.75,
      "y": -6
    },
    "C31": {
      "section": "EnergyReservoir",
      "sheet": "Haptics",
      "x": 8.100000000000001,
      "y": -6
    },
    "C32": {
      "section": "EnergyReservoir",
      "sheet": "Haptics",
      "x": 9.450000000000001,
      "y": -6
    },
    "C33": {
      "section": "EnergyReservoir",
      "sheet": "Haptics",
      "x": 10.8,
      "y": -6
    },
    "C34": {
      "section": "EnergyReservoir",
      "sheet": "Haptics",
      "x": 12.15,
      "y": -6
    },
    "C35": {
      "section": "EnergyReservoir",
      "sheet": "Haptics",
      "x": 13.5,
      "y": -6
    },
    "C36": {
      "section": "EnergyReservoir",
      "sheet": "Haptics",
      "x": 14.850000000000001,
      "y": -6
    },
    "C37": {
      "section": "EnergyReservoir",
      "sheet": "Haptics",
      "x": 16.200000000000003,
      "y": -6
    },
    "C38": {
      "section": "EnergyReservoir",
      "sheet": "Haptics",
      "x": 17.55,
      "y": -6
    },
    "C39": {
      "section": "EnergyReservoir",
      "sheet": "Haptics",
      "x": 18.900000000000002,
      "y": -6
    },
    "C40": {
      "section": "EnergyReservoir",
      "sheet": "Haptics",
      "x": 20.25,
      "y": -6
    },
    "C41": {
      "section": "EnergyReservoir",
      "sheet": "Haptics",
      "x": 21.6,
      "y": -6
    },
    "C42": {
      "section": "EnergyReservoir",
      "sheet": "Haptics",
      "x": 22.950000000000003,
      "y": -6
    },
    "C43": {
      "section": "EnergyReservoir",
      "sheet": "Haptics",
      "x": 24.3,
      "y": -6
    },
    "C44": {
      "section": "EnergyReservoir",
      "sheet": "Haptics",
      "x": 25.650000000000002,
      "y": -6
    },
    "C45": {
      "section": "EnergyReservoir",
      "sheet": "Haptics",
      "x": 27.0,
      "y": -6
    },
    "J1": {
      "section": "BleProgramming",
      "sheet": "Programming",
      "x": 0,
      "y": 0
    },
    "J2": {
      "section": "TouchProgramming",
      "sheet": "Programming",
      "x": 7,
      "y": 0
    },
    "TP3": {
      "section": "SupplyTestPads",
      "sheet": "Programming",
      "x": 0,
      "y": -5
    },
    "TP4": {
      "section": "SupplyTestPads",
      "sheet": "Programming",
      "x": 7,
      "y": -5
    }
  }
}