PCB Tools
The agent has 16 PCB tools for layout and manufacturing.
Read & Inspect
pcb_get_summary
Overview of footprints, tracks, vias, zones, nets, layers.
pcb_get_summary
pcb_inspect
Inspect specific PCB sections.
pcb_inspect section="footprints"
| Parameter | Type | Description |
|---|---|---|
section | string | "footprints", "tracks", "vias", "zones", "nets" |
pcb_refill_zones
Refill all copper zones on the PCB. Run this after adding vias, moving components, or modifying traces.
pcb_refill_zones
pcb_run_drc
Run Design Rule Check.
pcb_run_drc output="detailed"
| Parameter | Type | Description |
|---|---|---|
output | string | "summary", "detailed", "grouped" |
pcb_get_pads
Get pad positions for footprints.
pcb_get_pads reference="U1"
pcb_get_footprint
Detailed footprint info with pads and courtyard bounds.
pcb_get_footprint reference="U1"
pcb_get_nets
Net list with connections and routing status.
pcb_get_nets net="VCC"
Create & Modify
pcb_place
Batch footprint placement with rotation and layer selection.
pcb_place reference="U1" position=[50, 50] rotation=0 layer="F.Cu"
| Parameter | Type | Description |
|---|---|---|
reference | string | Component reference |
position | array | [x, y] coordinates in mm |
rotation | number | Rotation in degrees |
layer | string | "F.Cu" or "B.Cu" |
pcb_add
Add tracks, vias, zones, keepouts, graphics, text.
pcb_add type="track" net="VCC" points=[[10, 10], [20, 10]] width=0.25 layer="F.Cu"
| Parameter | Type | Description |
|---|---|---|
type | string | "track", "via", "zone", "keepout", "graphic", "text" |
net | string | Net name (for electrical elements) |
points | array | Coordinates |
width | number | Track width in mm |
layer | string | Layer name |
pcb_update
Batch update positions, nets, widths, locked state.
pcb_update references=["R1", "R2"] locked=true
pcb_delete
Delete elements by reference or UUID.
pcb_delete references=["R1"]
pcb_set_outline
Set board shape.
pcb_set_outline type="rectangle" width=50 height=30
| Parameter | Type | Description |
|---|---|---|
type | string | "rectangle", "polygon", "rounded_rectangle" |
width | number | Board width in mm |
height | number | Board height in mm |
corner_radius | number | Corner radius for rounded rectangle |
pcb_sync_schematic
Update PCB from schematic changes.
pcb_sync_schematic
pcb_export
Export Gerber, drill, STEP, POS files.
pcb_export format="gerber" output="/path/to/output"
| Parameter | Type | Description |
|---|---|---|
format | string | "gerber", "drill", "step", "pos", "bom" |
output | string | Output directory or file path |
pcb_autoroute
Run Freerouting autorouter on unrouted connections.
pcb_autoroute nets=["VCC", "GND"]
| Parameter | Type | Description |
|---|---|---|
nets | array | Specific nets to route (optional, routes all if omitted) |
pcb_setup
Read/write PCB board settings.
pcb_setup net_classes=[{name: "Power", track_width: 0.5, clearance: 0.3}]
Configures layer stackup, design rules, net classes, and teardrops.