Examples / kicad-pcb
kicad-pcb.json
targets v0.33.0 29 entities 23 schemas
A 30 x 20 mm LED board as it lands from a .kicad_pcb: board root with source pointing at the original file (the .rigz sidecar a writer merges onto), seven layers, three nets, and three parts - a pin header, a resistor, and an LED rotated 90 degrees in KiCad (-90 about +Z here). Each pad is a terminal entity carrying both rig.circuit.pin and rig.pcb.pad. Tracks, a via, a ground pour, an outline, and a silkscreen label that reads {{reference}}. A rig.sensor.gpio entity drives BCM 17 and names header terminal 1 as its terminal. KiCad uuids are stableId - docs/kicad.md.
Speaks
rig.circuit.net · rig.circuit.part · rig.circuit.pin · rig.geometry.line · rig.geometry.polygon · rig.geometry.rectangle · rig.media.asset_ref · rig.media.text · rig.meta.named · rig.paint.fill_stroke · rig.pcb.board · rig.pcb.footprint · rig.pcb.layer · rig.pcb.layer_set · rig.pcb.pad · rig.pcb.track · rig.pcb.via · rig.pcb.zone · rig.sensor.gpio · rig.spatial.anchor · rig.spatial.layer · rig.spatial.relationship · rig.spatial.transform
Document
Validates under npm run check —
raw file ·
open in RigPlayer —
drop it in, press play, remix it, share the link.
{
"rig": "0.33.0",
"document": {
"title": "LED blink board",
"defaultUnit": "mm"
},
"entities": [
{
"id": "source",
"components": {
"rig.media.asset_ref": {
"kind": "document",
"path": "led-blink.kicad_pcb"
}
}
},
{
"id": "board",
"components": {
"rig.meta.named": {
"name": "LED blink"
},
"rig.pcb.board": {
"thickness": 1.6,
"source": "source"
}
}
},
{
"id": "f-cu",
"components": {
"rig.meta.named": {
"name": "F.Cu",
"stableId": "F.Cu"
},
"rig.pcb.layer": {
"role": "copper",
"side": "front"
},
"rig.spatial.layer": {
"order": 0
},
"rig.spatial.relationship": {
"parent": "board"
}
}
},
{
"id": "b-cu",
"components": {
"rig.meta.named": {
"name": "B.Cu",
"stableId": "B.Cu"
},
"rig.pcb.layer": {
"role": "copper",
"side": "back"
},
"rig.spatial.layer": {
"order": 1
},
"rig.spatial.relationship": {
"parent": "board"
}
}
},
{
"id": "f-paste",
"components": {
"rig.meta.named": {
"name": "F.Paste",
"stableId": "F.Paste"
},
"rig.pcb.layer": {
"role": "solder-paste",
"side": "front"
},
"rig.spatial.relationship": {
"parent": "board"
}
}
},
{
"id": "f-mask",
"components": {
"rig.meta.named": {
"name": "F.Mask",
"stableId": "F.Mask"
},
"rig.pcb.layer": {
"role": "solder-mask",
"side": "front"
},
"rig.spatial.relationship": {
"parent": "board"
}
}
},
{
"id": "b-mask",
"components": {
"rig.meta.named": {
"name": "B.Mask",
"stableId": "B.Mask"
},
"rig.pcb.layer": {
"role": "solder-mask",
"side": "back"
},
"rig.spatial.relationship": {
"parent": "board"
}
}
},
{
"id": "f-silks",
"components": {
"rig.meta.named": {
"name": "F.Silkscreen",
"stableId": "F.SilkS"
},
"rig.pcb.layer": {
"role": "silkscreen",
"side": "front"
},
"rig.spatial.relationship": {
"parent": "board"
}
}
},
{
"id": "edge-cuts",
"components": {
"rig.meta.named": {
"name": "Edge.Cuts",
"stableId": "Edge.Cuts"
},
"rig.pcb.layer": {
"role": "outline"
},
"rig.spatial.relationship": {
"parent": "board"
}
}
},
{
"id": "net-gnd",
"components": {
"rig.meta.named": {
"name": "GND",
"stableId": "GND"
},
"rig.circuit.net": {},
"rig.spatial.relationship": {
"parent": "board"
}
}
},
{
"id": "net-gpio17",
"components": {
"rig.meta.named": {
"name": "GPIO17",
"stableId": "GPIO17"
},
"rig.circuit.net": {},
"rig.spatial.relationship": {
"parent": "board"
}
}
},
{
"id": "net-led-a",
"components": {
"rig.meta.named": {
"name": "LED_A",
"stableId": "LED_A"
},
"rig.circuit.net": {},
"rig.spatial.relationship": {
"parent": "board"
}
}
},
{
"id": "outline",
"components": {
"rig.meta.named": {
"name": "outline",
"stableId": "7f1c2a40-0b1e-4a7a-9d55-0c3e5a1b2c01"
},
"rig.geometry.rectangle": {
"x": 0,
"y": 0,
"width": 30,
"height": 20
},
"rig.paint.fill_stroke": {
"strokeWidth": 0.05,
"hasStroke": true,
"hasFill": false
},
"rig.pcb.layer_set": {
"layers": [
"edge-cuts"
]
},
"rig.spatial.relationship": {
"parent": "board"
}
}
},
{
"id": "j1",
"components": {
"rig.meta.named": {
"name": "J1",
"stableId": "2b6d1e0a-5c3f-4e8b-a1d2-3f4e5a6b7c01"
},
"rig.circuit.part": {
"reference": "J1",
"value": "Pi GPIO"
},
"rig.pcb.footprint": {
"library": "Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical",
"side": "front",
"mount": "through-hole"
},
"rig.spatial.transform": {
"position": [
5,
10,
0
]
},
"rig.spatial.relationship": {
"parent": "board"
}
}
},
{
"id": "j1-1",
"components": {
"rig.meta.named": {
"name": "J1-1",
"stableId": "2b6d1e0a-5c3f-4e8b-a1d2-3f4e5a6b7c02"
},
"rig.circuit.pin": {
"number": "1",
"function": "GPIO17",
"electricalType": "passive",
"net": "net-gpio17"
},
"rig.pcb.pad": {
"kind": "through-hole",
"shape": "rectangle",
"width": 1.7,
"height": 1.7,
"drillWidth": 1
},
"rig.pcb.layer_set": {
"layers": [
"f-cu",
"b-cu",
"f-mask",
"b-mask"
]
},
"rig.spatial.transform": {
"position": [
0,
0,
0
]
},
"rig.spatial.relationship": {
"parent": "j1",
"order": 0
}
}
},
{
"id": "j1-2",
"components": {
"rig.meta.named": {
"name": "J1-2",
"stableId": "2b6d1e0a-5c3f-4e8b-a1d2-3f4e5a6b7c03"
},
"rig.circuit.pin": {
"number": "2",
"function": "GND",
"electricalType": "passive",
"net": "net-gnd"
},
"rig.pcb.pad": {
"kind": "through-hole",
"shape": "oval",
"width": 1.7,
"height": 1.7,
"drillWidth": 1
},
"rig.pcb.layer_set": {
"layers": [
"f-cu",
"b-cu",
"f-mask",
"b-mask"
]
},
"rig.spatial.transform": {
"position": [
0,
2.54,
0
]
},
"rig.spatial.relationship": {
"parent": "j1",
"order": 1
}
}
},
{
"id": "j1-ref",
"components": {
"rig.meta.named": {
"name": "J1 reference",
"stableId": "2b6d1e0a-5c3f-4e8b-a1d2-3f4e5a6b7c04"
},
"rig.media.text": {
"text": "{{reference}}",
"fontSize": 1
},
"rig.paint.fill_stroke": {
"strokeWidth": 0.15,
"hasStroke": true,
"hasFill": false
},
"rig.spatial.anchor": {
"point": "center"
},
"rig.pcb.layer_set": {
"layers": [
"f-silks"
]
},
"rig.spatial.transform": {
"position": [
0,
-2.33,
0
]
},
"rig.spatial.relationship": {
"parent": "j1"
}
}
},
{
"id": "r1",
"components": {
"rig.meta.named": {
"name": "R1",
"stableId": "4c8e2f1b-6d4a-4f9c-b2e3-4a5b6c7d8e01"
},
"rig.circuit.part": {
"reference": "R1",
"value": "330"
},
"rig.pcb.footprint": {
"library": "Resistor_SMD:R_0603_1608Metric",
"side": "front",
"mount": "smd"
},
"rig.spatial.transform": {
"position": [
15,
10,
0
]
},
"rig.spatial.relationship": {
"parent": "board"
}
}
},
{
"id": "r1-1",
"components": {
"rig.meta.named": {
"name": "R1-1",
"stableId": "4c8e2f1b-6d4a-4f9c-b2e3-4a5b6c7d8e02"
},
"rig.circuit.pin": {
"number": "1",
"electricalType": "passive",
"net": "net-gpio17"
},
"rig.pcb.pad": {
"kind": "smd",
"shape": "rounded-rectangle",
"width": 0.8,
"height": 0.95,
"cornerRatio": 0.25
},
"rig.pcb.layer_set": {
"layers": [
"f-cu",
"f-paste",
"f-mask"
]
},
"rig.spatial.transform": {
"position": [
-0.825,
0,
0
]
},
"rig.spatial.relationship": {
"parent": "r1",
"order": 0
}
}
},
{
"id": "r1-2",
"components": {
"rig.meta.named": {
"name": "R1-2",
"stableId": "4c8e2f1b-6d4a-4f9c-b2e3-4a5b6c7d8e03"
},
"rig.circuit.pin": {
"number": "2",
"electricalType": "passive",
"net": "net-led-a"
},
"rig.pcb.pad": {
"kind": "smd",
"shape": "rounded-rectangle",
"width": 0.8,
"height": 0.95,
"cornerRatio": 0.25
},
"rig.pcb.layer_set": {
"layers": [
"f-cu",
"f-paste",
"f-mask"
]
},
"rig.spatial.transform": {
"position": [
0.825,
0,
0
]
},
"rig.spatial.relationship": {
"parent": "r1",
"order": 1
}
}
},
{
"id": "d1",
"components": {
"rig.meta.named": {
"name": "D1",
"stableId": "5d9f3a2c-7e5b-4a0d-c3f4-5b6c7d8e9f01"
},
"rig.circuit.part": {
"reference": "D1",
"value": "red"
},
"rig.pcb.footprint": {
"library": "LED_SMD:LED_0603_1608Metric",
"side": "front",
"mount": "smd"
},
"rig.spatial.transform": {
"position": [
22,
10,
0
],
"rotation": [
0,
0,
-0.7071068,
0.7071068
]
},
"rig.spatial.relationship": {
"parent": "board"
}
}
},
{
"id": "d1-1",
"components": {
"rig.meta.named": {
"name": "D1-1",
"stableId": "5d9f3a2c-7e5b-4a0d-c3f4-5b6c7d8e9f02"
},
"rig.circuit.pin": {
"number": "1",
"function": "K",
"electricalType": "passive",
"net": "net-gnd"
},
"rig.pcb.pad": {
"kind": "smd",
"shape": "rounded-rectangle",
"width": 0.8,
"height": 0.95,
"cornerRatio": 0.25
},
"rig.pcb.layer_set": {
"layers": [
"f-cu",
"f-paste",
"f-mask"
]
},
"rig.spatial.transform": {
"position": [
-0.7875,
0,
0
]
},
"rig.spatial.relationship": {
"parent": "d1",
"order": 0
}
}
},
{
"id": "d1-2",
"components": {
"rig.meta.named": {
"name": "D1-2",
"stableId": "5d9f3a2c-7e5b-4a0d-c3f4-5b6c7d8e9f03"
},
"rig.circuit.pin": {
"number": "2",
"function": "A",
"electricalType": "passive",
"net": "net-led-a"
},
"rig.pcb.pad": {
"kind": "smd",
"shape": "rounded-rectangle",
"width": 0.8,
"height": 0.95,
"cornerRatio": 0.25
},
"rig.pcb.layer_set": {
"layers": [
"f-cu",
"f-paste",
"f-mask"
]
},
"rig.spatial.transform": {
"position": [
0.7875,
0,
0
]
},
"rig.spatial.relationship": {
"parent": "d1",
"order": 1
}
}
},
{
"id": "track-gpio17",
"components": {
"rig.meta.named": {
"name": "GPIO17 track",
"stableId": "8a1b2c3d-0e4f-4a5b-8c6d-7e8f9a0b1c01"
},
"rig.pcb.track": {
"width": 0.25,
"net": "net-gpio17"
},
"rig.geometry.line": {
"x1": 5,
"y1": 10,
"x2": 14.175,
"y2": 10
},
"rig.pcb.layer_set": {
"layers": [
"f-cu"
]
},
"rig.spatial.relationship": {
"parent": "board"
}
}
},
{
"id": "track-led-a",
"components": {
"rig.meta.named": {
"name": "LED_A track",
"stableId": "8a1b2c3d-0e4f-4a5b-8c6d-7e8f9a0b1c02"
},
"rig.pcb.track": {
"width": 0.25,
"net": "net-led-a"
},
"rig.geometry.line": {
"x1": 15.825,
"y1": 10,
"x2": 22,
"y2": 9.2125
},
"rig.pcb.layer_set": {
"layers": [
"f-cu"
]
},
"rig.spatial.relationship": {
"parent": "board"
}
}
},
{
"id": "track-gnd",
"components": {
"rig.meta.named": {
"name": "GND stub",
"stableId": "8a1b2c3d-0e4f-4a5b-8c6d-7e8f9a0b1c03"
},
"rig.pcb.track": {
"width": 0.4,
"net": "net-gnd"
},
"rig.geometry.line": {
"x1": 22,
"y1": 10.7875,
"x2": 22,
"y2": 14
},
"rig.pcb.layer_set": {
"layers": [
"f-cu"
]
},
"rig.spatial.relationship": {
"parent": "board"
}
}
},
{
"id": "via-gnd",
"components": {
"rig.meta.named": {
"name": "GND via",
"stableId": "9b2c3d4e-1f5a-4b6c-9d7e-8f9a0b1c2d01"
},
"rig.pcb.via": {
"diameter": 0.6,
"drill": 0.3,
"net": "net-gnd"
},
"rig.pcb.layer_set": {
"layers": [
"f-cu",
"b-cu"
]
},
"rig.spatial.transform": {
"position": [
22,
14,
0
]
},
"rig.spatial.relationship": {
"parent": "board"
}
}
},
{
"id": "pour-gnd",
"components": {
"rig.meta.named": {
"name": "GND pour",
"stableId": "0c3d4e5f-2a6b-4c7d-ae8f-9a0b1c2d3e01"
},
"rig.pcb.zone": {
"net": "net-gnd",
"clearance": 0.3,
"minThickness": 0.25,
"connection": "thermal",
"thermalGap": 0.5,
"thermalSpokeWidth": 0.5
},
"rig.geometry.polygon": {
"points": [
[
0.5,
0.5
],
[
29.5,
0.5
],
[
29.5,
19.5
],
[
0.5,
19.5
]
],
"closed": true
},
"rig.pcb.layer_set": {
"layers": [
"b-cu"
]
},
"rig.spatial.relationship": {
"parent": "board"
}
}
},
{
"id": "blink-out",
"components": {
"rig.meta.named": {
"name": "LED drive"
},
"rig.sensor.gpio": {
"pin": 17,
"mode": "out",
"terminal": "j1-1"
}
}
}
]
}