<via />
Overview
A via is a plated hole that connects different layers of a PCB. Vias are commonly used to route traces between layers and for thermal management.
Vias do not have a schematic representation.
You generally do not need to manually create vias, they will be handled automatically by the autorouter.
export default () => (
<via
fromLayer="top"
toLayer="bottom"
outerDiameter="0.8mm"
holeDiameter="0.4mm"
pcbX={10}
pcbY={10}
/>
)
Properties
| Property | Type | Default | Description |
|---|---|---|---|
| fromLayer | string | "top" | Starting layer for the via |
| toLayer | string | "bottom" | Ending layer for the via |
| holeDiameter | number | string | "0.4mm" | Diameter of the plated hole |
| outerDiameter | number | string | "0.8mm" | Outer diameter of the copper annular ring |
| pcbX | number | 0 | PCB X position of the via |
| pcbY | number | 0 | PCB Y position of the via |
| netIsAssignable | boolean | false | Marks the via as prefabricated so autorouters like laser_prefab can claim it for any compatible net |
Prefabricated vias for laser routing
The laser_prefab autorouter pairs with
prefabricated ("biscuit") via templates used in laser ablation workflows.
Setting netIsAssignable on a via marks it as reusable so the autorouter can
repurpose the hole for whichever net needs to switch layers during routing.
export default () => (
<board width="10mm" height="10mm" autorouter="laser_prefab">
<testpoint name="TP_TOP" footprintVariant="pad" pcbX={0} pcbY={4} layer="top" />
<testpoint name="TP_BOTTOM" footprintVariant="pad" pcbX={0} pcbY={-4} layer="bottom" />
<via
name="V_ASSIGNABLE"
pcbX={0}
pcbY={0}
fromLayer="top"
toLayer="bottom"
holeDiameter="0.3mm"
outerDiameter="0.6mm"
netIsAssignable
/>
<trace from="TP_TOP.pin1" to="V_ASSIGNABLE.top" />
<trace from="V_ASSIGNABLE.bottom" to="TP_BOTTOM.pin1" />
</board>
)
Unused assignable vias keep their original net, while claimed vias are updated to match the completed connection. For a full walkthrough, see the Biscuit Board Laser Ablation guide.