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