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