skill
PCB Design Rules
Public Made by Adomby adom
Canonical PCB fab design rules (DRC) for every popular vendor: one JSON record per vendor, process and layer count, with generated Fusion/EAGLE .dru and .edru, KiCad .kicad_dru plus board-setup JSON, Altium .RUL exports, and a human comparison table. Every number cites the vendor's own capabilities page and the date it was read.
main
John Lauer
Initial publish: canonical per-vendor PCB fab design rules. 13 vendors, 56 records (vendor, process, layer count) read…
bafc3ce
1mo ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451
{
"vendor": "OSH Park",
"vendorSlug": "osh-park",
"vendorUrl": null,
"records": [
{
"process": "standard",
"layerCount": 2,
"minTraceWidth": {
"mm": 0.1524,
"mil": 6.0,
"condition": "1oz copper"
},
"minSpacing": {
"mm": 0.1524,
"mil": 6.0,
"condition": "1oz copper"
},
"minDrill": {
"mm": 0.254,
"mil": 10.0
},
"minVia": {
"drillMm": 0.254,
"drillMil": 10.0,
"padMm": 0.508,
"padMil": 20.0
},
"annularRing": {
"viaMm": 0.127,
"viaMil": 5.0
},
"copperToBoardEdge": {
"mm": 0.381,
"mil": 15.0
},
"holeToHole": {
"mm": 0.127,
"mil": 5.0
},
"maskExpansion": null,
"maskSliver": {
"mm": 0.1016,
"mil": 4.0
},
"silkLineWidth": {
"mm": 0.127,
"mil": 5.0,
"condition": "recommended minimum, 3 mil (0.0762mm) for short lines, text, graphics"
},
"silkToCopper": null,
"minCopperClearance": {
"mm": 0.1524,
"mil": 6.0,
"condition": "different nets"
},
"boardThicknessOptionsMm": [
1.6
],
"copperWeightOptionsOz": [
1
],
"surfaceFinishes": [
"ENIG"
],
"maxBoardSize": {
"xMm": 406.4,
"yMm": 558.8
},
"notes": "Soldermask SMOBC purple both sides. Maximum soldermask alignment 3 mil (0.0762mm) covering retraction, expansion, and shift. Minimum board size 0.25in (6.35mm) square. Maximum soldermask web 4 mil is the minimum web, listed under maskSliver. Substrate 175Tg FR4. Via pad diameter not published. Minimum slot size 20 mil (0.508mm) drill slot only. Blind, buried, and filled+plated vias not supported.",
"sources": [
{
"url": "https://docs.oshpark.com/services/two-layer/",
"dateRead": "2026-09-03"
},
{
"url": "https://docs.oshpark.com/services/",
"dateRead": "2026-09-03"
}
]
},
{
"process": "standard",
"layerCount": 4,
"minTraceWidth": {
"mm": 0.127,
"mil": 5.0,
"condition": "1oz outer, 0.5oz inner copper"
},
"minSpacing": {
"mm": 0.127,
"mil": 5.0,
"condition": "1oz outer, 0.5oz inner copper"
},
"minDrill": {
"mm": 0.254,
"mil": 10.0
},
"minVia": {
"drillMm": 0.254,
"drillMil": 10.0,
"padMm": 0.4572,
"padMil": 18.0
},
"annularRing": {
"viaMm": 0.1016,
"viaMil": 4.0
},
"copperToBoardEdge": {
"mm": 0.381,
"mil": 15.0
},
"holeToHole": {
"mm": 0.127,
"mil": 5.0
},
"maskExpansion": null,
"maskSliver": {
"mm": 0.1016,
"mil": 4.0
},
"silkLineWidth": {
"mm": 0.127,
"mil": 5.0,
"condition": "recommended minimum, 3 mil (0.0762mm) for short lines, text, graphics"
},
"silkToCopper": null,
"minCopperClearance": {
"mm": 0.127,
"mil": 5.0,
"condition": "different nets"
},
"boardThicknessOptionsMm": [
1.6
],
"copperWeightOptionsOz": [
1
],
"surfaceFinishes": [
"ENIG"
],
"maxBoardSize": {
"xMm": 406.4,
"yMm": 558.8
},
"notes": "Copper weight is 1oz outer, 0.5oz inner. Plated drill to internal layer copper clearance 10 mil (0.254mm). Substrate 190Tg FR408-HR. Blind and buried vias not supported. Minimum board size 0.25in (6.35mm) square. Via pad diameter not published.",
"sources": [
{
"url": "https://docs.oshpark.com/services/four-layer/",
"dateRead": "2026-09-03"
},
{
"url": "https://docs.oshpark.com/services/",
"dateRead": "2026-09-03"
}
]
},
{
"process": "standard",
"layerCount": 6,
"minTraceWidth": {
"mm": 0.127,
"mil": 5.0,
"condition": "1oz outer, 0.5oz inner copper"
},
"minSpacing": {
"mm": 0.127,
"mil": 5.0,
"condition": "1oz outer, 0.5oz inner copper"
},
"minDrill": {
"mm": 0.2032,
"mil": 8.0
},
"minVia": {
"drillMm": 0.2032,
"drillMil": 8.0,
"padMm": 0.4064,
"padMil": 16.0
},
"annularRing": {
"viaMm": 0.1016,
"viaMil": 4.0
},
"copperToBoardEdge": {
"mm": 0.381,
"mil": 15.0
},
"holeToHole": {
"mm": 0.127,
"mil": 5.0
},
"maskExpansion": null,
"maskSliver": {
"mm": 0.1016,
"mil": 4.0
},
"silkLineWidth": {
"mm": 0.127,
"mil": 5.0,
"condition": "recommended minimum, 3 mil (0.0762mm) for short lines, text, graphics"
},
"silkToCopper": null,
"minCopperClearance": {
"mm": 0.127,
"mil": 5.0,
"condition": "different nets"
},
"boardThicknessOptionsMm": [
1.6
],
"copperWeightOptionsOz": [
1
],
"surfaceFinishes": [
"ENIG"
],
"maxBoardSize": {
"xMm": 406.4,
"yMm": 558.8
},
"notes": "Summary values from the services index page. Blind and buried vias not supported.",
"sources": [
{
"url": "https://docs.oshpark.com/services/",
"dateRead": "2026-09-03"
}
]
},
{
"process": "after-dark",
"layerCount": 2,
"minTraceWidth": {
"mm": 0.1524,
"mil": 6.0,
"condition": "1oz copper"
},
"minSpacing": {
"mm": 0.1524,
"mil": 6.0,
"condition": "1oz copper"
},
"minDrill": {
"mm": 0.254,
"mil": 10.0
},
"minVia": {
"drillMm": 0.254,
"drillMil": 10.0,
"padMm": 0.508,
"padMil": 20.0
},
"annularRing": {
"viaMm": 0.127,
"viaMil": 5.0
},
"copperToBoardEdge": {
"mm": 0.381,
"mil": 15.0
},
"holeToHole": {
"mm": 0.127,
"mil": 5.0
},
"maskExpansion": null,
"maskSliver": {
"mm": 0.1016,
"mil": 4.0
},
"silkLineWidth": {
"mm": 0.127,
"mil": 5.0,
"condition": "recommended minimum, 3 mil (0.0762mm) for short lines, text, graphics"
},
"silkToCopper": null,
"minCopperClearance": {
"mm": 0.1524,
"mil": 6.0,
"condition": "different nets"
},
"boardThicknessOptionsMm": [
1.6
],
"copperWeightOptionsOz": [
1
],
"surfaceFinishes": [
"ENIG"
],
"maxBoardSize": {
"xMm": 406.4,
"yMm": 558.8
},
"notes": "Clear soldermask on black 180Tg FR4 (Ventec VT 447 b), opaque light blocking. Same copper and drill rules as standard 2 layer. Minimum board size 0.25in (6.35mm) square.",
"sources": [
{
"url": "https://docs.oshpark.com/services/afterdark/",
"dateRead": "2026-09-03"
}
],
"processDetail": "After Dark (clear mask on black substrate, 2 layer)"
},
{
"process": "flex",
"layerCount": 2,
"minTraceWidth": {
"mm": 0.1524,
"mil": 6.0,
"condition": "1oz copper"
},
"minSpacing": {
"mm": 0.1524,
"mil": 6.0,
"condition": "1oz copper"
},
"minDrill": {
"mm": 0.254,
"mil": 10.0
},
"minVia": {
"drillMm": 0.254,
"drillMil": 10.0,
"padMm": 0.508,
"padMil": 20.0
},
"annularRing": {
"viaMm": 0.127,
"viaMil": 5.0
},
"copperToBoardEdge": {
"mm": 0.1524,
"mil": 6.0,
"condition": "required, copper within 15 mil (0.381mm) of edge will be fabbed but may be damaged in shipping"
},
"holeToHole": {
"mm": 0.127,
"mil": 5.0
},
"maskExpansion": null,
"maskSliver": {
"mm": 0.1016,
"mil": 4.0
},
"silkLineWidth": {
"mm": 0.127,
"mil": 5.0,
"condition": "recommended minimum, 3 mil (0.0762mm) for short lines, text, graphics"
},
"silkToCopper": null,
"minCopperClearance": {
"mm": 0.1524,
"mil": 6.0,
"condition": "different nets"
},
"boardThicknessOptionsMm": [
0.1016
],
"copperWeightOptionsOz": [
1
],
"surfaceFinishes": [
"ENIG"
],
"maxBoardSize": {
"xMm": 406.4,
"yMm": 254.0
},
"notes": "Service temporarily suspended. Panasonic Felios polyimide, 4 mil (0.1016mm) core, clear soldermask. Recommended minimum flex strip width 250 mil (6.35mm). Minimum board size 0.25in (6.35mm) square.",
"sources": [
{
"url": "https://docs.oshpark.com/services/flex/",
"dateRead": "2026-09-03"
}
],
"processDetail": "Flex (polyimide, 2 layer, temporarily suspended)"
},
{
"process": "2oz-0.8mm",
"layerCount": 2,
"minTraceWidth": {
"mm": 0.1524,
"mil": 6.0,
"condition": "2oz copper"
},
"minSpacing": {
"mm": 0.1524,
"mil": 6.0,
"condition": "2oz copper"
},
"minDrill": {
"mm": 0.254,
"mil": 10.0
},
"minVia": {
"drillMm": 0.254,
"drillMil": 10.0,
"padMm": 0.508,
"padMil": 20.0
},
"annularRing": {
"viaMm": 0.127,
"viaMil": 5.0
},
"copperToBoardEdge": {
"mm": 0.381,
"mil": 15.0
},
"holeToHole": {
"mm": 0.127,
"mil": 5.0
},
"maskExpansion": null,
"maskSliver": {
"mm": 0.1016,
"mil": 4.0
},
"silkLineWidth": {
"mm": 0.127,
"mil": 5.0,
"condition": "recommended minimum, 3 mil (0.0762mm) for short lines, text, graphics"
},
"silkToCopper": null,
"minCopperClearance": {
"mm": 0.1524,
"mil": 6.0,
"condition": "different nets"
},
"boardThicknessOptionsMm": [
0.8
],
"copperWeightOptionsOz": [
2
],
"surfaceFinishes": [
"ENIG"
],
"maxBoardSize": {
"xMm": 406.4,
"yMm": 558.8
},
"notes": "0.032in (0.8mm) thick PCB with 2oz (2.8 mil, 70um) copper, 180Tg FR4 (Ventec VT-47). Minimum board size 0.25in (6.35mm) square.",
"sources": [
{
"url": "https://docs.oshpark.com/services/two-layer-hhdc/",
"dateRead": "2026-09-03"
}
],
"processDetail": "2oz 0.8mm (heavy copper thin 2 layer)"
}
]
}