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
Specify 3rdPartyFab reference/value sizes and face-aware mechanical silkscreen policy
a59b909
5d ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257
{
"vendor": "3rd party fab",
"vendorSlug": "adom-3rdpartyfab",
"vendorUrl": null,
"records": [
{
"process": "standard",
"layerCount": 2,
"minTraceWidth": {
"mm": 0.1,
"mil": 3.94,
"condition": "1 oz copper"
},
"minSpacing": {
"mm": 0.1,
"mil": 3.94,
"condition": "1 oz copper, different nets"
},
"minDrill": {
"mm": 0.15,
"mil": 5.91
},
"minVia": {
"drillMm": 0.15,
"drillMil": 5.91,
"padMm": 0.25,
"padMil": 9.84
},
"annularRing": {
"viaMm": 0.1,
"viaMil": 3.94,
"padMm": 0.18,
"padMil": 7.09,
"note": "0.25 mm or above preferred"
},
"copperToBoardEdge": {
"mm": 0.2,
"mil": 7.87
},
"holeToHole": {
"mm": 0.2,
"mil": 7.87
},
"maskExpansion": {
"mm": 0.038,
"mil": 1.5
},
"maskSliver": null,
"silkLineWidth": null,
"silkToCopper": null,
"minCopperClearance": {
"mm": 0.1,
"mil": 3.94,
"condition": "different nets"
},
"boardThicknessOptionsMm": [
1.6
],
"copperWeightOptionsOz": [
1,
2
],
"surfaceFinishes": [],
"maxBoardSize": null,
"drillRange": {
"minMm": 0.15,
"maxMm": 6.3,
"note": "holes with diameter >= 6.3 mm are CNC routed from a smaller drilled hole; min non-plated hole 0.50 mm"
},
"notes": "Baseline of the 3rd party fab service. Preferred values in the seed file: default class preferred track 0.2 mm, power class preferred 0.3 mm; preferred via hole 0.2 mm (0.25 mm in the shipped file). Min via allowed on 2-layer. Finished surface copper: 1 oz standard; 2 oz on request (John Lauer, 2026-10-12). Existing weight-conditioned DRC limits remain for 1 oz; confirm 2 oz DFM before use. Hole-barrel plating and thickness tolerances are not specified by this confirmation.",
"sources": [
{
"url": "adom/fusion-bridge addin/AdomBridge/resources/dru/Adom-3rdPartyFab-2-Layer.edru",
"dateRead": "2026-09-03",
"kind": "bundled-rule-file"
},
{
"url": "https://wiki.adom.inc/adom/pcb-design-rules/files/docs/3rdpartyfab-finished-copper.md",
"dateRead": "2026-10-12",
"kind": "user-confirmed-capability"
}
],
"finishedCopper": {
"standardOz": 1,
"onRequestOz": [
2
],
"approximateThicknessMm": {
"1": 0.035,
"2": 0.07
},
"appliesTo": "Finished surface copper; not an inner-layer stackup or barrel-plating specification",
"thicknessToleranceMm": null,
"minimumBarrelPlatingMm": null,
"confirmedBy": "John Lauer",
"confirmedOn": "2026-10-12"
},
"silkscreenPolicy": {
"schemaVersion": 1,
"kind": "user-requested-authoring-policy",
"source": {
"date": "2026-10-15",
"description": "User requested 0.8 mm component names, 0.3 mm values, screw sizes, bracket edges and screw clearances on appropriate faces"
},
"referenceHeightMm": 0.8,
"valueHeightMm": 0.3,
"referenceRequired": true,
"valueRequired": true,
"referenceMeaning": "reference designator, e.g. Q1, R12, J9",
"preserveElectricalValue": true,
"groupReferenceAndValue": true,
"allowSilentOmissionOrShrinking": false,
"mechanical": {
"screwSizeRequired": true,
"screwLengthWhenSpecified": true,
"bracketOutlineOnMountingFace": true,
"headWasherClearanceOnBearingFace": true,
"toolAccessOutlineOnAccessFace": true,
"avoidHolesMaskOpeningsAndFittedBodies": true
},
"validation": [
"native text dimensions",
"whole-board reference/value inventory",
"both-face mask, body, hole, outline and text collision review",
"assembled visibility and association",
"silkscreen GLB export with drill markers disabled"
],
"manufacturingLimitStatus": "Authoring requirement only; does not establish minimum printable stroke, spacing or legibility. Existing unknown silkLineWidth/silkToCopper remain null."
}
},
{
"process": "standard",
"layerCount": 4,
"minTraceWidth": {
"mm": 0.09,
"mil": 3.54,
"condition": "1 oz copper, multilayer"
},
"minSpacing": {
"mm": 0.09,
"mil": 3.54,
"condition": "1 oz copper, multilayer, different nets; 3 mil acceptable in BGA fan-outs"
},
"minDrill": {
"mm": 0.15,
"mil": 5.91
},
"minVia": {
"drillMm": 0.15,
"drillMil": 5.91,
"padMm": 0.25,
"padMil": 9.84
},
"annularRing": {
"viaMm": 0.1,
"viaMil": 3.94,
"padMm": 0.18,
"padMil": 7.09,
"note": "0.25 mm or above preferred"
},
"copperToBoardEdge": {
"mm": 0.2,
"mil": 7.87
},
"holeToHole": {
"mm": 0.2,
"mil": 7.87
},
"maskExpansion": {
"mm": 0.038,
"mil": 1.5
},
"maskSliver": null,
"silkLineWidth": null,
"silkToCopper": null,
"minCopperClearance": {
"mm": 0.09,
"mil": 3.54,
"condition": "different nets"
},
"boardThicknessOptionsMm": [
1.6
],
"copperWeightOptionsOz": [
1,
2
],
"surfaceFinishes": [],
"maxBoardSize": null,
"drillRange": {
"minMm": 0.15,
"maxMm": 6.3,
"note": "holes with diameter >= 6.3 mm are CNC routed from a smaller drilled hole; min non-plated hole 0.50 mm"
},
"notes": "BGA pad diameter >= 0.25 mm. BGA pad to trace clearance min 0.09 mm. Vias can be placed within BGA pads using filled and plated-over vias. Finished surface copper: 1 oz standard; 2 oz on request (John Lauer, 2026-10-12). Existing weight-conditioned DRC limits remain for 1 oz; confirm 2 oz DFM before use. Hole-barrel plating and thickness tolerances are not specified by this confirmation.",
"sources": [
{
"url": "adom/fusion-bridge addin/AdomBridge/resources/dru/Adom-3rdPartyFab-4-Layer.edru",
"dateRead": "2026-09-03",
"kind": "bundled-rule-file"
},
{
"url": "https://wiki.adom.inc/adom/pcb-design-rules/files/docs/3rdpartyfab-finished-copper.md",
"dateRead": "2026-10-12",
"kind": "user-confirmed-capability"
}
],
"finishedCopper": {
"standardOz": 1,
"onRequestOz": [
2
],
"approximateThicknessMm": {
"1": 0.035,
"2": 0.07
},
"appliesTo": "Finished surface copper; not an inner-layer stackup or barrel-plating specification",
"thicknessToleranceMm": null,
"minimumBarrelPlatingMm": null,
"confirmedBy": "John Lauer",
"confirmedOn": "2026-10-12"
},
"silkscreenPolicy": {
"schemaVersion": 1,
"kind": "user-requested-authoring-policy",
"source": {
"date": "2026-10-15",
"description": "User requested 0.8 mm component names, 0.3 mm values, screw sizes, bracket edges and screw clearances on appropriate faces"
},
"referenceHeightMm": 0.8,
"valueHeightMm": 0.3,
"referenceRequired": true,
"valueRequired": true,
"referenceMeaning": "reference designator, e.g. Q1, R12, J9",
"preserveElectricalValue": true,
"groupReferenceAndValue": true,
"allowSilentOmissionOrShrinking": false,
"mechanical": {
"screwSizeRequired": true,
"screwLengthWhenSpecified": true,
"bracketOutlineOnMountingFace": true,
"headWasherClearanceOnBearingFace": true,
"toolAccessOutlineOnAccessFace": true,
"avoidHolesMaskOpeningsAndFittedBodies": true
},
"validation": [
"native text dimensions",
"whole-board reference/value inventory",
"both-face mask, body, hole, outline and text collision review",
"assembled visibility and association",
"silkscreen GLB export with drill markers disabled"
],
"manufacturingLimitStatus": "Authoring requirement only; does not establish minimum printable stroke, spacing or legibility. Existing unknown silkLineWidth/silkToCopper remain null."
}
}
]
}