PCB layout: component placement & board outline

PCB: 65x30mm 2-layer board with GND pours on F.Cu + B.Cu
Placement:
  J1 (USB-C) at (5, 17.5) - left edge
  U2 (CH224K) at (18, 10) - PD controller
  Q1 (PMOS) at (18, 22) - VBUS switch
  U3 (LDO) at (33, 17.5) - 3.3V regulator
  U1 (ESP32-S3) at (50, 12) - right side
  Passives placed near respective ICs
Footprints assigned: J1 (USB4105), U2 (SSOP-10), Q1 (SOT-23-3),
  U3 (SOT-223-3), U1 (ESP32-S3-WROOM-1)
Design rules: 0.2mm clearance, 0.25mm track, 0.6/0.3mm via
DRC: 42 violations (pre-routing - courtyard overlaps + edge clearance)
Next: manual routing in KiCad UI
This commit is contained in:
2026-06-20 17:51:12 +03:00
parent 3b1807d71f
commit 411db21e99
4 changed files with 2658 additions and 16 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -140,7 +140,7 @@
},
"rules": {
"max_error": 0.005,
"min_clearance": 0.0,
"min_clearance": 0.2,
"min_connection": 0.0,
"min_copper_edge_clearance": 0.5,
"min_groove_width": 0.0,
@@ -152,7 +152,7 @@
"min_silk_clearance": 0.0,
"min_text_height": 0.8,
"min_text_thickness": 0.08,
"min_through_hole_diameter": 0.3,
"min_through_hole_diameter": 0.25,
"min_track_width": 0.2,
"min_via_annular_width": 0.1,
"min_via_diameter": 0.5,

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,444 @@
{
"board": "/Users/nearxos/Documents/KiCad/10.0/USB_PD_ESP32S3/USB_PD_ESP32S3.kicad_pcb",
"timestamp": "2026-06-20T17:50:49",
"total_violations": 42,
"violation_counts": {
"items_not_allowed": 5,
"clearance": 1,
"courtyards_overlap": 4,
"copper_edge_clearance": 4,
"drill_out_of_range": 12,
"invalid_outline": 7,
"solder_mask_bridge": 1,
"silk_edge_clearance": 2,
"silk_overlap": 1,
"silk_over_copper": 5
},
"severity_counts": {
"error": 34,
"warning": 8,
"info": 0
},
"violations": [
{
"type": "items_not_allowed",
"severity": "error",
"message": "Items not allowed (keepout area of U1)",
"location": {
"x": 25.825,
"y": 4.0,
"unit": "mm"
}
},
{
"type": "items_not_allowed",
"severity": "error",
"message": "Items not allowed (keepout area of U1)",
"location": {
"x": 25.0,
"y": 4.0,
"unit": "mm"
}
},
{
"type": "items_not_allowed",
"severity": "error",
"message": "Items not allowed (keepout area of U1)",
"location": {
"x": 41.175,
"y": 4.0,
"unit": "mm"
}
},
{
"type": "items_not_allowed",
"severity": "error",
"message": "Items not allowed (keepout area of U1)",
"location": {
"x": 42.825,
"y": 4.0,
"unit": "mm"
}
},
{
"type": "items_not_allowed",
"severity": "error",
"message": "Items not allowed (keepout area of U1)",
"location": {
"x": 42.0,
"y": 4.0,
"unit": "mm"
}
},
{
"type": "clearance",
"severity": "error",
"message": "Clearance violation ( clearance 0.2000 mm; actual 0.0000 mm)",
"location": {
"x": 24.175,
"y": 4.0,
"unit": "mm"
}
},
{
"type": "courtyards_overlap",
"severity": "error",
"message": "Courtyards overlap",
"location": {
"x": 50.0,
"y": 12.0,
"unit": "mm"
}
},
{
"type": "courtyards_overlap",
"severity": "error",
"message": "Courtyards overlap",
"location": {
"x": 50.0,
"y": 12.0,
"unit": "mm"
}
},
{
"type": "courtyards_overlap",
"severity": "error",
"message": "Courtyards overlap",
"location": {
"x": 50.0,
"y": 12.0,
"unit": "mm"
}
},
{
"type": "courtyards_overlap",
"severity": "error",
"message": "Courtyards overlap",
"location": {
"x": 25.0,
"y": 4.0,
"unit": "mm"
}
},
{
"type": "copper_edge_clearance",
"severity": "error",
"message": "Board edge clearance violation (board setup constraints edge clearance 0.5000 mm; actual 0.0000 mm)",
"location": {
"x": 65.0,
"y": 30.0,
"unit": "mm"
}
},
{
"type": "copper_edge_clearance",
"severity": "error",
"message": "Board edge clearance violation (board setup constraints edge clearance 0.5000 mm; actual 0.0000 mm)",
"location": {
"x": 65.0,
"y": 30.0,
"unit": "mm"
}
},
{
"type": "copper_edge_clearance",
"severity": "error",
"message": "Board edge clearance violation (board setup constraints edge clearance 0.5000 mm; actual 0.1800 mm)",
"location": {
"x": 0.0,
"y": 30.0,
"unit": "mm"
}
},
{
"type": "copper_edge_clearance",
"severity": "error",
"message": "Board edge clearance violation (board setup constraints edge clearance 0.5000 mm; actual 0.1800 mm)",
"location": {
"x": 0.0,
"y": 30.0,
"unit": "mm"
}
},
{
"type": "drill_out_of_range",
"severity": "error",
"message": "Hole size out of range (board setup constraints min hole 0.2500 mm; actual 0.2000 mm)",
"location": {
"x": 47.1,
"y": 13.76,
"unit": "mm"
}
},
{
"type": "drill_out_of_range",
"severity": "error",
"message": "Hole size out of range (board setup constraints min hole 0.2500 mm; actual 0.2000 mm)",
"location": {
"x": 47.1,
"y": 15.16,
"unit": "mm"
}
},
{
"type": "drill_out_of_range",
"severity": "error",
"message": "Hole size out of range (board setup constraints min hole 0.2500 mm; actual 0.2000 mm)",
"location": {
"x": 47.8,
"y": 13.06,
"unit": "mm"
}
},
{
"type": "drill_out_of_range",
"severity": "error",
"message": "Hole size out of range (board setup constraints min hole 0.2500 mm; actual 0.2000 mm)",
"location": {
"x": 47.8,
"y": 14.46,
"unit": "mm"
}
},
{
"type": "drill_out_of_range",
"severity": "error",
"message": "Hole size out of range (board setup constraints min hole 0.2500 mm; actual 0.2000 mm)",
"location": {
"x": 47.8,
"y": 15.86,
"unit": "mm"
}
},
{
"type": "drill_out_of_range",
"severity": "error",
"message": "Hole size out of range (board setup constraints min hole 0.2500 mm; actual 0.2000 mm)",
"location": {
"x": 48.5,
"y": 13.76,
"unit": "mm"
}
},
{
"type": "drill_out_of_range",
"severity": "error",
"message": "Hole size out of range (board setup constraints min hole 0.2500 mm; actual 0.2000 mm)",
"location": {
"x": 48.5,
"y": 15.16,
"unit": "mm"
}
},
{
"type": "drill_out_of_range",
"severity": "error",
"message": "Hole size out of range (board setup constraints min hole 0.2500 mm; actual 0.2000 mm)",
"location": {
"x": 49.2,
"y": 13.06,
"unit": "mm"
}
},
{
"type": "drill_out_of_range",
"severity": "error",
"message": "Hole size out of range (board setup constraints min hole 0.2500 mm; actual 0.2000 mm)",
"location": {
"x": 49.2,
"y": 14.46,
"unit": "mm"
}
},
{
"type": "drill_out_of_range",
"severity": "error",
"message": "Hole size out of range (board setup constraints min hole 0.2500 mm; actual 0.2000 mm)",
"location": {
"x": 49.2,
"y": 15.86,
"unit": "mm"
}
},
{
"type": "drill_out_of_range",
"severity": "error",
"message": "Hole size out of range (board setup constraints min hole 0.2500 mm; actual 0.2000 mm)",
"location": {
"x": 49.9,
"y": 13.76,
"unit": "mm"
}
},
{
"type": "drill_out_of_range",
"severity": "error",
"message": "Hole size out of range (board setup constraints min hole 0.2500 mm; actual 0.2000 mm)",
"location": {
"x": 49.9,
"y": 15.16,
"unit": "mm"
}
},
{
"type": "invalid_outline",
"severity": "error",
"message": "Board has malformed outline (self-intersecting)",
"location": {
"x": 0.0,
"y": 30.0,
"unit": "mm"
}
},
{
"type": "invalid_outline",
"severity": "error",
"message": "Board has malformed outline (self-intersecting)",
"location": {
"x": 0.0,
"y": 0.0,
"unit": "mm"
}
},
{
"type": "invalid_outline",
"severity": "error",
"message": "Board has malformed outline (self-intersecting)",
"location": {
"x": 0.0,
"y": 0.0,
"unit": "mm"
}
},
{
"type": "invalid_outline",
"severity": "error",
"message": "Board has malformed outline (self-intersecting)",
"location": {
"x": 0.0,
"y": 0.0,
"unit": "mm"
}
},
{
"type": "invalid_outline",
"severity": "error",
"message": "Board has malformed outline (self-intersecting)",
"location": {
"x": 0.0,
"y": 0.0,
"unit": "mm"
}
},
{
"type": "invalid_outline",
"severity": "error",
"message": "Board has malformed outline (self-intersecting)",
"location": {
"x": 0.0,
"y": 0.0,
"unit": "mm"
}
},
{
"type": "invalid_outline",
"severity": "error",
"message": "Board has malformed outline (self-intersecting)",
"location": {
"x": 0.0,
"y": 0.0,
"unit": "mm"
}
},
{
"type": "solder_mask_bridge",
"severity": "error",
"message": "Front solder mask aperture bridges items with different nets",
"location": {
"x": 24.825,
"y": 4.0,
"unit": "mm"
}
},
{
"type": "silk_edge_clearance",
"severity": "warning",
"message": "Silkscreen clipped by board edge",
"location": {
"x": 0.0,
"y": 0.0,
"unit": "mm"
}
},
{
"type": "silk_edge_clearance",
"severity": "warning",
"message": "Silkscreen clipped by board edge",
"location": {
"x": 0.0,
"y": 0.0,
"unit": "mm"
}
},
{
"type": "silk_overlap",
"severity": "warning",
"message": "Silkscreen clearance",
"location": {
"x": 25.0,
"y": 2.57,
"unit": "mm"
}
},
{
"type": "silk_over_copper",
"severity": "warning",
"message": "Silkscreen clipped by solder mask",
"location": {
"x": 40.8,
"y": -0.9,
"unit": "mm"
}
},
{
"type": "silk_over_copper",
"severity": "warning",
"message": "Silkscreen clipped by solder mask",
"location": {
"x": 24.762742,
"y": 3.4775,
"unit": "mm"
}
},
{
"type": "silk_over_copper",
"severity": "warning",
"message": "Silkscreen clipped by solder mask",
"location": {
"x": 24.762742,
"y": 4.5225,
"unit": "mm"
}
},
{
"type": "silk_over_copper",
"severity": "warning",
"message": "Silkscreen clipped by solder mask",
"location": {
"x": 23.762742,
"y": 4.5225,
"unit": "mm"
}
},
{
"type": "silk_over_copper",
"severity": "warning",
"message": "Silkscreen clipped by solder mask",
"location": {
"x": 23.762742,
"y": 3.4775,
"unit": "mm"
}
}
]
}