PCB Design Rules
!

Not installable via adom-wiki

This skill has no published release. adom-wiki pkg install adom/pcb-design-rules will not work until a maintainer publishes a tarball with install.sh and uninstall.sh.

See the publishing docs for the package.json schema and tarball layout required to ship this skill.

Contents

README

markdown

PCB design rules by fab

The canonical home for PCB fabrication design rules (DRC limits) of every popular vendor, in a form both humans and EDA bridges can consume.

One canonical JSON record per (vendor, process, layer count), generated into:

  • fusion/<slug>[-<process>]-<n>L.edru and .dru for Autodesk Fusion 360 electronics (EAGLE format, loads with the drc load <path> command)
  • kicad/<slug>[-<process>]-<n>L.kicad_dru (KiCad custom rules) plus a <same>.board-setup.json with the Board Setup constraints
  • altium/<slug>[-<process>]-<n>L.RUL (Altium design rules export, ASCII; not yet import-verified, see Verification)

Everything is generated by tools/generate.py from rules/records/*.json. To add or fix a limit, edit the record and run python3 tools/generate.py. rules/index.json maps every (vendor, process, layers) to its files.

Rules of this page

  • Source of truth is each vendor's own capabilities page. Every record's sources list names the URL and the date it was read. Nothing is copied from third-party blogs.
  • Units: mm primary, mil secondary (1 mil = 0.0254 mm).
  • Where a vendor publishes a range by condition (copper weight, process tier, partial-board BGA areas), the condition is recorded in the field's condition and in notes. Values are never averaged.
  • n/p below means the vendor does not publish that limit.

Vendors

Adom InstaPCB (house baseline, first by design), JLCPCB, PCBWay, OSH Park, Seeed Fusion, Eurocircuits, Aisler, Elecrow, Advanced Circuits (4PCB), Sierra Circuits, MacroFab, NextPCB, ALLPCB.

Per-vendor canonical records with full detail (mask, silk, board thickness options, copper weights, surface finishes, max board size, notes, sources): rules/records/<vendor-slug>.json.

Comparison table

All numbers mm / mil as published on the vendor's capabilities page on the read date. Generated from the records, do not edit by hand.

| Vendor | Process | Layers | Min trace mm / mil | Min space mm / mil | Min drill mm / mil | Min via drill / pad mm | Annular ring via / pad mm | Cu to edge mm | Hole to hole mm | Source (read 2026-09-03) | |---|---|---|---|---|---|---|---|---|---|---|---| | Adom InstaPCB | standard | 2 | 0.1 / 3.94 | 0.1 / 3.94 | 0.15 / 5.91 | 0.15 / 0.25 | 0.1 / 0.18 | 0.2 | 0.2 | adom/fusion-bridge addin/AdomBridge/resources/dru/Adom-InstaPCB-2-Layer.edru | | Adom InstaPCB | standard | 4 | 0.09 / 3.54 | 0.09 / 3.54 | 0.15 / 5.91 | 0.15 / 0.25 | 0.1 / 0.18 | 0.2 | 0.2 | adom/fusion-bridge addin/AdomBridge/resources/dru/Adom-InstaPCB-4-Layer.edru | | JLCPCB | standard | 2 | 0.1 / 4.0 | 0.1 / 4.0 | 0.15 / 5.91 | 0.15 / 0.25 | 0.18 / n/p | 0.2 | 0.2 | https://jlcpcb.com/capabilities/pcb-capabilities | | JLCPCB | standard | 4 | 0.09 / 3.5 | 0.09 / 3.5 | 0.15 / 5.91 | 0.15 / 0.25 | 0.15 / n/p | 0.2 | 0.2 | https://jlcpcb.com/capabilities/pcb-capabilities | | JLCPCB | standard | 6 | 0.09 / 3.5 | 0.09 / 3.5 | 0.15 / 5.91 | 0.15 / 0.25 | 0.15 / n/p | 0.2 | 0.2 | https://jlcpcb.com/capabilities/pcb-capabilities | | PCBWay | advanced | 2 | 0.0508 / 2.0 | 0.0508 / 2.0 | 0.15 / 5.91 | 0.15 / 0.3024 | 0.0762 / n/p | 0.2 | 0.3556 | https://www.pcbway.com/advanced-pcb-capabilities.html | | PCBWay | advanced | 4 | 0.0508 / 2.0 | 0.0508 / 2.0 | 0.15 / 5.91 | 0.15 / 0.3024 | 0.0762 / n/p | 0.2 | 0.3556 | https://www.pcbway.com/advanced-pcb-capabilities.html | | PCBWay | advanced | 6 | 0.0508 / 2.0 | 0.0508 / 2.0 | 0.15 / 5.91 | 0.15 / 0.3024 | 0.0762 / n/p | 0.2 | 0.3556 | https://www.pcbway.com/advanced-pcb-capabilities.html | | PCBWay | standard | 2 | 0.1016 / 4.0 | 0.1016 / 4.0 | 0.2 / 7.87 | 0.2 / 0.454 | 0.127 / n/p | 0.25 | 0.2794 | https://www.pcbway.com/capabilities.html | | PCBWay | standard | 4 | 0.1016 / 4.0 | 0.127 / 5.0 | 0.2 / 7.87 | 0.2 / 0.454 | 0.127 / n/p | 0.25 | 0.2794 | https://www.pcbway.com/capabilities.html | | PCBWay | standard | 6 | 0.1016 / 4.0 | 0.127 / 5.0 | 0.2 / 7.87 | 0.2 / 0.454 | 0.127 / n/p | 0.25 | 0.2794 | https://www.pcbway.com/capabilities.html | | OSH Park | 2oz-0.8mm | 2 | 0.1524 / 6.0 | 0.1524 / 6.0 | 0.254 / 10.0 | 0.254 / 0.508 | 0.127 / n/p | 0.381 | 0.127 | https://docs.oshpark.com/services/two-layer-hhdc/ | | OSH Park | after-dark | 2 | 0.1524 / 6.0 | 0.1524 / 6.0 | 0.254 / 10.0 | 0.254 / 0.508 | 0.127 / n/p | 0.381 | 0.127 | https://docs.oshpark.com/services/afterdark/ | | OSH Park | flex | 2 | 0.1524 / 6.0 | 0.1524 / 6.0 | 0.254 / 10.0 | 0.254 / 0.508 | 0.127 / n/p | 0.1524 | 0.127 | https://docs.oshpark.com/services/flex/ | | OSH Park | standard | 2 | 0.1524 / 6.0 | 0.1524 / 6.0 | 0.254 / 10.0 | 0.254 / 0.508 | 0.127 / n/p | 0.381 | 0.127 | https://docs.oshpark.com/services/two-layer/ | | OSH Park | standard | 4 | 0.127 / 5.0 | 0.127 / 5.0 | 0.254 / 10.0 | 0.254 / 0.4572 | 0.1016 / n/p | 0.381 | 0.127 | https://docs.oshpark.com/services/four-layer/ | | OSH Park | standard | 6 | 0.127 / 5.0 | 0.127 / 5.0 | 0.2032 / 8.0 | 0.2032 / 0.4064 | 0.1016 / n/p | 0.381 | 0.127 | https://docs.oshpark.com/services/ | | Seeed Fusion | advanced | 2 | 0.127 / 5.0 | 0.127 / 5.0 | 0.1 / 3.94 | 0.1 / 0.3032 | 0.1016 / n/p | n/p | 0.2286 | https://support.seeed.cc/portal/en/kb/articles/fusion-advanced-pcb-specification | | Seeed Fusion | advanced | 4 | 0.1016 / 4.0 | 0.1016 / 4.0 | 0.1 / 3.94 | 0.1 / 0.3032 | 0.1016 / n/p | n/p | 0.2286 | https://support.seeed.cc/portal/en/kb/articles/fusion-advanced-pcb-specification | | Seeed Fusion | standard | 2 | 0.1016 / 4.0 | 0.1016 / 4.0 | 0.2 / 7.87 | 0.2 / 0.4 | 0.1 / n/p | 0.3 | 0.3 | https://support.seeed.cc/portal/en/kb/articles/fusion-pcb-specification | | Seeed Fusion | standard | 4 | 0.1016 / 4.0 | 0.1016 / 4.0 | 0.2 / 7.87 | 0.2 / 0.4 | 0.1 / n/p | 0.3 | 0.3 | https://support.seeed.cc/portal/en/kb/articles/fusion-pcb-specification | | Seeed Fusion | standard | 6 | 0.1016 / 4.0 | 0.1016 / 4.0 | 0.2 / 7.87 | 0.2 / 0.4 | 0.1 / n/p | 0.3 | 0.3 | https://support.seeed.cc/portal/en/kb/articles/fusion-pcb-specification | | Eurocircuits | proto | 2 | 0.15 / 5.91 | 0.15 / 5.91 | 0.25 / 9.84 | 0.25 / 0.6 | 0.125 / n/p | 0.25 | 0.25 | https://www.eurocircuits.com/services/pcb-proto/ | | Eurocircuits | proto | 4 | 0.15 / 5.91 | 0.15 / 5.91 | 0.25 / 9.84 | 0.25 / 0.6 | 0.125 / n/p | 0.25 | 0.25 | https://www.eurocircuits.com/services/pcb-proto/ | | Eurocircuits | standard | 2 | 0.1 / 3.94 | 0.1 / 3.94 | 0.1 / 3.94 | 0.1 / 0.4 | 0.125 / n/p | 0.25 | 0.25 | https://www.eurocircuits.com/services/standard-pool/ | | Eurocircuits | standard | 4 | 0.1 / 3.94 | 0.1 / 3.94 | 0.1 / 3.94 | 0.1 / 0.4 | 0.125 / n/p | 0.25 | 0.25 | https://www.eurocircuits.com/services/standard-pool/ | | Eurocircuits | standard | 6 | 0.1 / 3.94 | 0.1 / 3.94 | 0.1 / 3.94 | 0.1 / 0.4 | 0.125 / n/p | 0.25 | 0.25 | https://www.eurocircuits.com/services/standard-pool/ | | Aisler | enig | 2 | 0.125 / 5.0 | 0.125 / 5.0 | 0.25 / 10.0 | 0.25 / 0.45 | 0.1 / n/p | 0.3 | 0.3 | https://community.aisler.net/t/2-layer-1-6mm-enig-design-rules/3732 | | Aisler | enig | 4 | 0.125 / 5.0 | 0.125 / 5.0 | 0.25 / 10.0 | 0.25 / 0.45 | 0.1 / n/p | 0.3 | 0.3 | https://community.aisler.net/t/4-layer-35-m-enig-design-rules/3733 | | Aisler | hasl | 2 | 0.2 / 8.0 | 0.15 / 6.0 | 0.3 / 12.0 | 0.3 / 0.7 | 0.2 / n/p | 0.3 | 0.3 | https://community.aisler.net/t/2-layer-1-6-mm-35-m-hasl-design-rules/3735 | | Elecrow | standard | 2 | 0.1524 / 6.0 | 0.1524 / 6.0 | 0.3 / 11.81 | 0.3 / n/a | n/p | n/p | n/p | https://www.elecrow.com/pcb-manufacturing.html | | Elecrow | standard | 4 | 0.1524 / 6.0 | 0.1524 / 6.0 | 0.3 / 11.81 | 0.3 / n/a | n/p | n/p | n/p | https://www.elecrow.com/pcb-manufacturing.html | | Elecrow | standard | 6 | 0.1524 / 6.0 | 0.1524 / 6.0 | 0.3 / 11.81 | 0.3 / n/a | n/p | n/p | n/p | https://www.elecrow.com/pcb-manufacturing.html | | Sierra Circuits | standard | 2 | 0.1016 / 4.0 | 0.1016 / 4.0 | 0.15 / 5.9 | 0.15 / 0.4547 | 0.0254 / n/p | 0.254 | n/p | https://www.protoexpress.com/products/rigid-pcb/ | | Sierra Circuits | standard | 4 | 0.1016 / 4.0 | 0.1016 / 4.0 | 0.15 / 5.9 | 0.15 / 0.4547 | 0.0254 / n/p | 0.254 | n/p | https://www.protoexpress.com/products/rigid-pcb/ | | Sierra Circuits | turnkey-pro | 2 | 0.1016 / 4.0 | 0.1016 / 4.0 | n/p | n/p | n/p | n/p | n/p | https://www.protoexpress.com/ | | Sierra Circuits | turnkey-pro | 4 | 0.1016 / 4.0 | 0.1016 / 4.0 | n/p | n/p | n/p | n/p | n/p | https://www.protoexpress.com/ | | MacroFab | extended | 2 | 0.0762 / 3.0 | 0.0762 / 3.0 | 0.1016 / 4.0 | 0.1016 / 0.254 | 0.0762 / n/p | 0.0762 | 0.1524 | https://www.macrofab.com/capabilities/ | | MacroFab | extended | 4 | 0.0762 / 3.0 | 0.0762 / 3.0 | 0.1016 / 4.0 | 0.1016 / 0.254 | 0.0762 / n/p | 0.0762 | 0.1524 | https://www.macrofab.com/capabilities/ | | MacroFab | standard | 2 | 0.127 / 5.0 | 0.127 / 5.0 | 0.3048 / 12.0 | 0.3048 / n/a | n/p | n/p | n/p | https://support.macrofab.com/s/article/pcb-specifications-and-drc | | MacroFab | standard | 4 | 0.127 / 5.0 | 0.127 / 5.0 | 0.3048 / 12.0 | 0.3048 / n/a | n/p | n/p | n/p | https://support.macrofab.com/s/article/pcb-specifications-and-drc | | NextPCB | advanced | 2 | 0.0635 / 2.5 | 0.0635 / 2.5 | 0.15 / 5.91 | 0.075 / n/a | n/p | n/p | n/p | https://www.nextpcb.com/advanced-pcb-manufacturing-capabilities | | NextPCB | standard | 2 | 0.0635 / 2.5 | 0.0762 / 3.0 | 0.15 / 5.91 | 0.2 / 0.3278 | 0.0889 / n/p | 0.2 | 0.3048 | https://www.nextpcb.com/pcb-capabilities | | NextPCB | standard | 4 | 0.0635 / 2.5 | 0.0762 / 3.0 | 0.15 / 5.91 | 0.2 / 0.3278 | 0.0889 / n/p | 0.2 | 0.3048 | https://www.nextpcb.com/pcb-capabilities | | NextPCB | standard | 6 | 0.0635 / 2.5 | 0.0762 / 3.0 | 0.15 / 5.91 | 0.2 / 0.3278 | 0.0889 / n/p | 0.2 | 0.3048 | https://www.nextpcb.com/pcb-capabilities | | ALLPCB | advanced | 2 | 0.076 / 3.0 | 0.076 / 3.0 | 0.15 / 5.91 | 0.2 / 0.5 | 0.18 / n/p | 0.3 | n/p | https://www.allpcb.com/advanced_pcb_manufacturing_capability.html | | ALLPCB | advanced | 4 | 0.076 / 3.0 | 0.076 / 3.0 | 0.15 / 5.91 | 0.15 / 0.25 | 0.18 / n/p | 0.3 | n/p | https://www.allpcb.com/advanced_pcb_manufacturing_capability.html | | ALLPCB | advanced | 6 | 0.076 / 3.0 | 0.076 / 3.0 | 0.15 / 5.91 | 0.15 / 0.25 | 0.18 / n/p | 0.3 | n/p | https://www.allpcb.com/advanced_pcb_manufacturing_capability.html | | ALLPCB | standard | 2 | 0.1 / 3.94 | 0.1 / 3.94 | 0.2 / 7.87 | 0.2 / 0.506 | 0.153 / n/p | 0.3 | 0.2032 | https://www.allpcb.com/standard_pcb_manufacturing_capability.html | | Advanced Circuits (4PCB) | advanced | 2 | 0.1016 / 4.0 | 0.1016 / 4.0 | 0.127 / 5.0 | 0.127 / 0.508 | 0.1905 / n/p | 0.2032 | 0.254 | https://www.4pcb.com/pcb-capabilities.html | | Advanced Circuits (4PCB) | advanced | 4 | 0.1016 / 4.0 | 0.1016 / 4.0 | 0.127 / 5.0 | 0.127 / 0.508 | 0.1905 / n/p | 0.2032 | 0.254 | https://www.4pcb.com/pcb-capabilities.html | | Advanced Circuits (4PCB) | advanced-standard | 2 | 0.1397 / 5.5 | 0.1397 / 5.5 | 0.1499 / 5.9 | 0.1499 / 0.5309 | 0.1905 / n/p | 0.254 | 0.3048 | https://www.4pcb.com/pcb-capabilities.html | | Advanced Circuits (4PCB) | advanced-standard | 4 | 0.1397 / 5.5 | 0.1397 / 5.5 | 0.1499 / 5.9 | 0.1499 / 0.5309 | 0.1905 / n/p | 0.254 | 0.3048 | https://www.4pcb.com/pcb-capabilities.html | | Advanced Circuits (4PCB) | development-npi | 2 | 0.0762 / 3.0 | 0.0762 / 3.0 | n/p | n/p | 0.1905 / n/p | 0.127 | 0.2032 | https://www.4pcb.com/pcb-capabilities.html | | Advanced Circuits (4PCB) | standard | 2 | 0.127 / 5.0 | 0.127 / 5.0 | 0.254 / 10.0 | 0.254 / n/a | n/p | n/p | n/p | https://www.4pcb.com/laminate-material-vendors.html | | Advanced Circuits (4PCB) | standard | 4 | 0.127 / 5.0 | 0.127 / 5.0 | 0.254 / 10.0 | 0.254 / n/a | n/p | n/p | n/p | https://www.4pcb.com/laminate-material-vendors.html |

Using the files

Fusion 360 (via the adom fusion bridge):

adom-bridge --target <desktop> send_files '{"filePaths": ["/path/to/jlcpcb-2L.edru"]}'
adom-bridge --target <desktop> fusion_electron_run '{"command": "drc load C:/Users/<user>/Downloads/jlcpcb-2L.edru"}'
adom-bridge --target <desktop> fusion_alerts '{}'

fusion_set_design_rules {fab, layers, druPath?} (proposed verb shape) is tracked on adom/fusion-bridge; see the issue linked in Verification.

KiCad: copy the .kicad_dru next to your board as <projectname>.kicad_dru, or import the board-setup.json values into Board Setup, Constraints. kicad-cli pcb drc and the GUI DRC both enforce custom rules.

Altium: import the .RUL with Rules, Import. The ASCII export is generated but not yet verified against a live Altium import; treat the JSON record as canonical until verified.

Verification

Full dated log with raw outputs: verification/log.md.

Fusion PCB Editor with the verification board, rules loaded

KiCad PCB Editor with ruletest2 and the jlcpcb-2L custom rules

All checks ran 2026-09-03. Requested host ConfRoomROG was offline, so verification ran on AdomLapper (real laptop, Fusion 360 trial plus KiCad 10.0).

  • Fusion 2026 extension check: drc load accepts .edru and rejects .dru (treats the name as a library.io lookup). The .dru files are for classic EAGLE, not Fusion.
  • Fusion drc load on a live board: all six 2-layer and 4-layer files for Adom InstaPCB, JLCPCB and PCBWay loaded with success, zero dialogs and empty fusion_alerts. Exporting the rules after loading pcbway-2L.edru returned exactly the PCBWay 2-layer values from the record.
  • KiCad DRC with custom rules: jlcpcb-2L.kicad_dru enforced by KiCad 10 DRC, proven by a discriminating with/without test (see log).
  • Not verified: Altium .RUL import (no Altium reachable), and ConfRoomROG (offline).

Provenance and maintenance

All records were read from vendor pages on 2026-09-03 except Adom InstaPCB, whose house rules ship as bundled .edru files inside the adom/fusion-bridge add-in (no public capabilities page was reachable on 2026-09-03; https://instapcb.com did not load). Re-read a vendor page before changing its numbers, and update the dateRead.