pixalynx/edge-connector

Configures USB-A, Micro-USB, and USB-C PCB-edge connectors with exposed copper contacts and automatically shaped, positioned board tongues.

Version
1.0.0
License
GPL-3.0-only
Stars
0

usbCGeometry.ts

// Adapted from vasya-zh/PCB-Edge-USB-connector-KiCad-library (GPL-3.0).
// Source commit: 909b6ed3d7b6456c385dab109aba96fdece8a3d9.
// KiCad coordinates mapped to insertion along +Y; arcs sampled at <=10 degrees.
export const usbCEdgePads = [
  {
    "pin": "A1",
    "x": 2.75,
    "y": 0.0,
    "width": 0.25,
    "height": 3.8,
    "layer": "top"
  },
  {
    "pin": "A2",
    "x": 2.25,
    "y": -0.175,
    "width": 0.25,
    "height": 3.45,
    "layer": "top"
  },
  {
    "pin": "A3",
    "x": 1.75,
    "y": -0.175,
    "width": 0.25,
    "height": 3.45,
    "layer": "top"
  },
  {
    "pin": "A4",
    "x": 1.25,
    "y": -0.075,
    "width": 0.25,
    "height": 3.65,
    "layer": "top"
  },
  {
    "pin": "A5",
    "x": 0.75,
    "y": -0.175,
    "width": 0.25,
    "height": 3.45,
    "layer": "top"
  },
  {
    "pin": "A6",
    "x": 0.25,
    "y": -0.175,
    "width": 0.25,
    "height": 3.45,
    "layer": "top"
  },
  {
    "pin": "A7",
    "x": -0.25,
    "y": -0.175,
    "width": 0.25,
    "height": 3.45,
    "layer": "top"
  },
  {
    "pin": "A8",
    "x": -0.75,
    "y": -0.175,
    "width": 0.25,
    "height": 3.45,
    "layer": "top"
  },
  {
    "pin": "A9",
    "x": -1.25,
    "y": -0.075,
    "width": 0.25,
    "height": 3.65,
    "layer": "top"
  },
  {
    "pin": "A10",
    "x": -1.75,
    "y": -0.175,
    "width": 0.25,
    "height": 3.45,
    "layer": "top"
  },
  {
    "pin": "A11",
    "x": -2.25,
    "y": -0.175,
    "width": 0.25,
    "height": 3.45,
    "layer": "top"
  },
  {
    "pin": "A12",
    "x": -2.75,
    "y": 0.0,
    "width": 0.25,
    "height": 3.8,
    "layer": "top"
  },
  {
    "pin": "B1",
    "x": -2.75,
    "y": 0.0,
    "width": 0.25,
    "height": 3.8,
    "layer": "bottom"
  },
  {
    "pin": "B2",
    "x": -2.25,
    "y": -0.175,
    "width": 0.25,
    "height": 3.45,
    "layer": "bottom"
  },
  {
    "pin": "B3",
    "x": -1.75,
    "y": -0.175,
    "width": 0.25,
    "height": 3.45,
    "layer": "bottom"
  },
  {
    "pin": "B4",
    "x": -1.25,
    "y": -0.075,
    "width": 0.25,
    "height": 3.65,
    "layer": "bottom"
  },
  {
    "pin": "B5",
    "x": -0.75,
    "y": -0.175,
    "width": 0.25,
    "height": 3.45,
    "layer": "bottom"
  },
  {
    "pin": "B6",
    "x": -0.25,
    "y": -0.175,
    "width": 0.25,
    "height": 3.45,
    "layer": "bottom"
  },
  {
    "pin": "B7",
    "x": 0.25,
    "y": -0.175,
    "width": 0.25,
    "height": 3.45,
    "layer": "bottom"
  },
  {
    "pin": "B8",
    "x": 0.75,
    "y": -0.175,
    "width": 0.25,
    "height": 3.45,
    "layer": "bottom"
  },
  {
    "pin": "B9",
    "x": 1.25,
    "y": -0.075,
    "width": 0.25,
    "height": 3.65,
    "layer": "bottom"
  },
  {
    "pin": "B10",
    "x": 1.75,
    "y": -0.175,
    "width": 0.25,
    "height": 3.45,
    "layer": "bottom"
  },
  {
    "pin": "B11",
    "x": 2.25,
    "y": -0.175,
    "width": 0.25,
    "height": 3.45,
    "layer": "bottom"
  },
  {
    "pin": "B12",
    "x": 2.75,
    "y": 0.0,
    "width": 0.25,
    "height": 3.8,
    "layer": "bottom"
  }
] as const

export const usbCEdgeProfile = [
  {
    "x": -4.445,
    "y": -1.765
  },
  {
    "x": -4.437499,
    "y": -1.855527
  },
  {
    "x": -4.415199,
    "y": -1.943585
  },
  {
    "x": -4.378711,
    "y": -2.026771
  },
  {
    "x": -4.329027,
    "y": -2.102817
  },
  {
    "x": -4.267505,
    "y": -2.169648
  },
  {
    "x": -4.195821,
    "y": -2.225442
  },
  {
    "x": -4.115932,
    "y": -2.268675
  },
  {
    "x": -4.030017,
    "y": -2.29817
  },
  {
    "x": -3.940419,
    "y": -2.313121
  },
  {
    "x": -3.849581,
    "y": -2.313121
  },
  {
    "x": -3.759983,
    "y": -2.29817
  },
  {
    "x": -3.674068,
    "y": -2.268675
  },
  {
    "x": -3.594179,
    "y": -2.225442
  },
  {
    "x": -3.522495,
    "y": -2.169648
  },
  {
    "x": -3.460973,
    "y": -2.102817
  },
  {
    "x": -3.411289,
    "y": -2.026771
  },
  {
    "x": -3.374801,
    "y": -1.943585
  },
  {
    "x": -3.352501,
    "y": -1.855527
  },
  {
    "x": -3.345,
    "y": -1.765
  },
  {
    "x": -3.345,
    "y": -0.2
  },
  {
    "x": -3.292906,
    "y": -0.195442
  },
  {
    "x": -3.242394,
    "y": -0.181908
  },
  {
    "x": -3.195,
    "y": -0.159808
  },
  {
    "x": -3.152164,
    "y": -0.129813
  },
  {
    "x": -3.115187,
    "y": -0.092836
  },
  {
    "x": -3.085192,
    "y": -0.05
  },
  {
    "x": -3.063092,
    "y": -0.002606
  },
  {
    "x": -3.049558,
    "y": 0.047906
  },
  {
    "x": -3.045,
    "y": 0.1
  },
  {
    "x": -3.045,
    "y": 1.0
  },
  {
    "x": -3.049558,
    "y": 1.052094
  },
  {
    "x": -3.063092,
    "y": 1.102606
  },
  {
    "x": -3.085192,
    "y": 1.15
  },
  {
    "x": -3.115187,
    "y": 1.192836
  },
  {
    "x": -3.152164,
    "y": 1.229813
  },
  {
    "x": -3.195,
    "y": 1.259808
  },
  {
    "x": -3.242394,
    "y": 1.281908
  },
  {
    "x": -3.292906,
    "y": 1.295442
  },
  {
    "x": -3.345,
    "y": 1.3
  },
  {
    "x": -3.345,
    "y": 1.8
  },
  {
    "x": -3.045,
    "y": 2.55
  },
  {
    "x": 3.05,
    "y": 2.55
  },
  {
    "x": 3.35,
    "y": 1.8
  },
  {
    "x": 3.35,
    "y": 1.3
  },
  {
    "x": 3.297906,
    "y": 1.295442
  },
  {
    "x": 3.247394,
    "y": 1.281908
  },
  {
    "x": 3.2,
    "y": 1.259808
  },
  {
    "x": 3.157164,
    "y": 1.229813
  },
  {
    "x": 3.120187,
    "y": 1.192836
  },
  {
    "x": 3.090192,
    "y": 1.15
  },
  {
    "x": 3.068092,
    "y": 1.102606
  },
  {
    "x": 3.054558,
    "y": 1.052094
  },
  {
    "x": 3.05,
    "y": 1.0
  },
  {
    "x": 3.05,
    "y": 0.1
  },
  {
    "x": 3.054558,
    "y": 0.047906
  },
  {
    "x": 3.068092,
    "y": -0.002606
  },
  {
    "x": 3.090192,
    "y": -0.05
  },
  {
    "x": 3.120187,
    "y": -0.092836
  },
  {
    "x": 3.157164,
    "y": -0.129813
  },
  {
    "x": 3.2,
    "y": -0.159808
  },
  {
    "x": 3.247394,
    "y": -0.181908
  },
  {
    "x": 3.297906,
    "y": -0.195442
  },
  {
    "x": 3.35,
    "y": -0.2
  },
  {
    "x": 3.35,
    "y": -1.765
  },
  {
    "x": 3.357501,
    "y": -1.855527
  },
  {
    "x": 3.379801,
    "y": -1.943585
  },
  {
    "x": 3.416289,
    "y": -2.026771
  },
  {
    "x": 3.465973,
    "y": -2.102817
  },
  {
    "x": 3.527495,
    "y": -2.169648
  },
  {
    "x": 3.599179,
    "y": -2.225442
  },
  {
    "x": 3.679068,
    "y": -2.268675
  },
  {
    "x": 3.764983,
    "y": -2.29817
  },
  {
    "x": 3.854581,
    "y": -2.313121
  },
  {
    "x": 3.945419,
    "y": -2.313121
  },
  {
    "x": 4.035017,
    "y": -2.29817
  },
  {
    "x": 4.120932,
    "y": -2.268675
  },
  {
    "x": 4.200821,
    "y": -2.225442
  },
  {
    "x": 4.272505,
    "y": -2.169648
  },
  {
    "x": 4.334027,
    "y": -2.102817
  },
  {
    "x": 4.383711,
    "y": -2.026771
  },
  {
    "x": 4.420199,
    "y": -1.943585
  },
  {
    "x": 4.442499,
    "y": -1.855527
  },
  {
    "x": 4.45,
    "y": -1.765
  }
] as const