Files
ESP32_Serial_Swiss_Army_Knife/hardware/PCB/validation/pcb-routing-run.json
T
Commander1024 7d76a41540 Advance PCB carrier to A1 layout
Reposition the ESP32 and RS-232 reference within the notched outline,
preserve the A0 snapshot, and add second-pass two-layer routing
evidence.
Refresh validation reports and draft previews while keeping fabrication
status provisional.
2026-09-21 12:32:01 +02:00

666 lines
12 KiB
JSON

{
"draft_only": true,
"saved": true,
"grid_mm": 0.05,
"clearance_mm": 0.25,
"safety_margin_mm": 0.02,
"via_diameter_mm": 0.7,
"via_drill_mm": 0.3,
"elapsed_seconds": 32.44472043699898,
"connections": [
{
"net": "/GND",
"start": "U1.43",
"end": "U1.44",
"start_mm": [
133.4,
173.8
],
"end_mm": [
133.4,
176.34
],
"routed": true,
"width_mm": 0.5,
"power_fallback": false,
"expansions": 52
},
{
"net": "/+3V3",
"start": "U1.1",
"end": "U1.2",
"start_mm": [
108.0,
123.0
],
"end_mm": [
108.0,
125.54
],
"routed": true,
"width_mm": 0.5,
"power_fallback": false,
"expansions": 52
},
{
"net": "/+3V3",
"start": "R2.1",
"end": "DS1.2",
"start_mm": [
154.0,
134.0
],
"end_mm": [
154.73,
137.5
],
"routed": true,
"width_mm": 0.5,
"power_fallback": false,
"expansions": 911
},
{
"net": "/GND",
"start": "SW2.2",
"end": "SW1.2",
"start_mm": [
155.0,
172.5
],
"end_mm": [
149.5,
172.5
],
"routed": true,
"width_mm": 0.5,
"power_fallback": false,
"expansions": 111
},
{
"net": "/GND",
"start": "SW2.2",
"end": "SW3.2",
"start_mm": [
161.5,
172.5
],
"end_mm": [
167.0,
172.5
],
"routed": true,
"width_mm": 0.5,
"power_fallback": false,
"expansions": 111
},
{
"net": "/BTN_NEXT",
"start": "SW3.1",
"end": "SW3.1",
"start_mm": [
167.0,
168.0
],
"end_mm": [
173.5,
168.0
],
"routed": true,
"width_mm": 0.25,
"power_fallback": false,
"expansions": 131
},
{
"net": "/BTN_PREVIOUS",
"start": "SW1.1",
"end": "SW1.1",
"start_mm": [
143.0,
168.0
],
"end_mm": [
149.5,
168.0
],
"routed": true,
"width_mm": 0.25,
"power_fallback": false,
"expansions": 131
},
{
"net": "/BTN_SELECT",
"start": "SW2.1",
"end": "SW2.1",
"start_mm": [
155.0,
168.0
],
"end_mm": [
161.5,
168.0
],
"routed": true,
"width_mm": 0.25,
"power_fallback": false,
"expansions": 131
},
{
"net": "/GND",
"start": "SW2.2",
"end": "SW2.2",
"start_mm": [
155.0,
172.5
],
"end_mm": [
161.5,
172.5
],
"routed": true,
"width_mm": 0.5,
"power_fallback": false,
"expansions": 131
},
{
"net": "/GND",
"start": "SW3.2",
"end": "SW3.2",
"start_mm": [
167.0,
172.5
],
"end_mm": [
173.5,
172.5
],
"routed": true,
"width_mm": 0.5,
"power_fallback": false,
"expansions": 131
},
{
"net": "/GND",
"start": "SW1.2",
"end": "SW1.2",
"start_mm": [
149.5,
172.5
],
"end_mm": [
143.0,
172.5
],
"routed": true,
"width_mm": 0.5,
"power_fallback": false,
"expansions": 131
},
{
"net": "/+3V3",
"start": "U2.1",
"end": "R1.1",
"start_mm": [
143.0,
126.67
],
"end_mm": [
143.0,
134.0
],
"routed": true,
"width_mm": 0.5,
"power_fallback": false,
"expansions": 148
},
{
"net": "/GND",
"start": "SW1.2",
"end": "U1.43",
"start_mm": [
143.0,
172.5
],
"end_mm": [
133.4,
173.8
],
"routed": true,
"width_mm": 0.5,
"power_fallback": false,
"expansions": 4535
},
{
"net": "/+3V3",
"start": "DS1.2",
"end": "R3.1",
"start_mm": [
154.73,
137.5
],
"end_mm": [
165.0,
134.0
],
"routed": true,
"width_mm": 0.5,
"power_fallback": false,
"expansions": 5139
},
{
"net": "/+3V3",
"start": "R1.1",
"end": "R2.1",
"start_mm": [
143.0,
134.0
],
"end_mm": [
154.0,
134.0
],
"routed": true,
"width_mm": 0.5,
"power_fallback": false,
"expansions": 14153
},
{
"net": "/GND",
"start": "U2.2",
"end": "U1.23",
"start_mm": [
145.54,
126.67
],
"end_mm": [
133.4,
123.0
],
"routed": true,
"width_mm": 0.5,
"power_fallback": false,
"expansions": 9372
},
{
"net": "/GND",
"start": "DS1.1",
"end": "U2.2",
"start_mm": [
152.19,
137.5
],
"end_mm": [
145.54,
126.67
],
"routed": true,
"width_mm": 0.5,
"power_fallback": false,
"expansions": 8327
},
{
"net": "/BTN_SELECT",
"start": "SW2.1",
"end": "R2.2",
"start_mm": [
161.5,
168.0
],
"end_mm": [
161.62,
134.0
],
"routed": true,
"width_mm": 0.25,
"power_fallback": false,
"expansions": 2039
},
{
"net": "/BTN_NEXT",
"start": "SW3.1",
"end": "R3.2",
"start_mm": [
173.5,
168.0
],
"end_mm": [
172.62,
134.0
],
"routed": true,
"width_mm": 0.25,
"power_fallback": false,
"expansions": 12615
},
{
"net": "/BTN_PREVIOUS",
"start": "SW1.1",
"end": "R1.2",
"start_mm": [
149.5,
168.0
],
"end_mm": [
150.62,
134.0
],
"routed": true,
"width_mm": 0.25,
"power_fallback": false,
"expansions": 15179
},
{
"net": "/+3V3",
"start": "U1.2",
"end": "U2.1",
"start_mm": [
108.0,
125.54
],
"end_mm": [
143.0,
126.67
],
"routed": true,
"width_mm": 0.5,
"power_fallback": false,
"expansions": 332527
},
{
"net": "/BTN_PREVIOUS",
"start": "U1.16",
"end": "SW1.1",
"start_mm": [
108.0,
161.1
],
"end_mm": [
143.0,
168.0
],
"routed": true,
"width_mm": 0.25,
"power_fallback": false,
"expansions": 70393
},
{
"net": "/RS_DCD",
"start": "U1.4",
"end": "U2.3",
"start_mm": [
108.0,
130.62
],
"end_mm": [
148.08,
126.67
],
"routed": true,
"width_mm": 0.25,
"power_fallback": false,
"expansions": 21855
},
{
"net": "/BTN_SELECT",
"start": "SW2.1",
"end": "U1.19",
"start_mm": [
155.0,
168.0
],
"end_mm": [
108.0,
168.72
],
"routed": true,
"width_mm": 0.25,
"power_fallback": false,
"expansions": 36364
},
{
"net": "/RS_RX",
"start": "U1.11",
"end": "U2.4",
"start_mm": [
108.0,
148.4
],
"end_mm": [
150.62,
126.67
],
"routed": true,
"width_mm": 0.25,
"power_fallback": false,
"expansions": 123675
},
{
"net": "/RS_TX",
"start": "U1.10",
"end": "U2.5",
"start_mm": [
108.0,
145.86
],
"end_mm": [
153.16,
126.67
],
"routed": true,
"width_mm": 0.25,
"power_fallback": false,
"expansions": 397389
},
{
"net": "/RS_DTR",
"start": "U1.7",
"end": "U2.6",
"start_mm": [
108.0,
138.24
],
"end_mm": [
155.7,
126.67
],
"routed": true,
"width_mm": 0.25,
"power_fallback": false,
"expansions": 294174
},
{
"net": "/RS_DSR",
"start": "U1.5",
"end": "U2.7",
"start_mm": [
108.0,
133.16
],
"end_mm": [
158.24,
126.67
],
"routed": true,
"width_mm": 0.25,
"power_fallback": false,
"expansions": 294332
},
{
"net": "/RS_RTS",
"start": "U1.8",
"end": "U2.8",
"start_mm": [
108.0,
140.78
],
"end_mm": [
160.78,
126.67
],
"routed": true,
"width_mm": 0.25,
"power_fallback": false,
"expansions": 378833
},
{
"net": "/OLED_SCL",
"start": "U1.18",
"end": "DS1.3",
"start_mm": [
108.0,
166.18
],
"end_mm": [
157.27,
137.5
],
"routed": true,
"width_mm": 0.25,
"power_fallback": false,
"expansions": 442107
},
{
"net": "/RS_CTS",
"start": "U1.9",
"end": "U2.9",
"start_mm": [
108.0,
143.32
],
"end_mm": [
163.32,
126.67
],
"routed": true,
"width_mm": 0.25,
"power_fallback": false,
"expansions": 409990
},
{
"net": "/OLED_SDA",
"start": "U1.17",
"end": "DS1.4",
"start_mm": [
108.0,
163.64
],
"end_mm": [
159.81,
137.5
],
"routed": true,
"width_mm": 0.25,
"power_fallback": false,
"expansions": 567654
},
{
"net": "/RS_RI",
"start": "U1.6",
"end": "U2.10",
"start_mm": [
108.0,
135.7
],
"end_mm": [
165.86,
126.67
],
"routed": true,
"width_mm": 0.25,
"power_fallback": false,
"expansions": 436874
},
{
"net": "/BTN_NEXT",
"start": "U1.20",
"end": "SW3.1",
"start_mm": [
108.0,
171.26
],
"end_mm": [
167.0,
168.0
],
"routed": true,
"width_mm": 0.25,
"power_fallback": false,
"expansions": 273975
},
{
"net": "/RS_VALID",
"start": "U1.12",
"end": "U2.11",
"start_mm": [
108.0,
150.94
],
"end_mm": [
168.4,
126.67
],
"routed": true,
"width_mm": 0.25,
"power_fallback": false,
"expansions": 425742
},
{
"net": "/RS_OFF_N",
"start": "U1.15",
"end": "U2.12",
"start_mm": [
108.0,
158.56
],
"end_mm": [
170.94,
126.67
],
"routed": true,
"width_mm": 0.25,
"power_fallback": false,
"expansions": 645804
},
{
"net": "/GND",
"start": "U1.44",
"end": "U1.22",
"start_mm": [
133.4,
176.34
],
"end_mm": [
108.0,
176.34
],
"routed": true,
"width_mm": 0.5,
"power_fallback": false,
"expansions": 509
},
{
"net": "/GND",
"start": "SW1.2",
"end": "DS1.1",
"start_mm": [
149.5,
172.5
],
"end_mm": [
152.19,
137.5
],
"routed": true,
"width_mm": 0.5,
"power_fallback": false,
"expansions": 617019
}
],
"routed_tree_edges": 38,
"total_tree_edges": 38,
"tracks": 565,
"vias": 22,
"immutable_identity_sha256": "783ce7e212880e0836c93e1782d39bbfbc505fae856d9720ee6c50f5ba8f6275",
"input_sha256": "0ea7f0abff371eacc81262dc949f768cd42128f389ea4af9facee5034368d884",
"validation": "KiCad DRC must be run separately; tree-edge counts are not DRC connectivity"
}