Schemas / Circuit / PCB

rig.circuit.part

v1.0.0 · stable maturity: draft 4 fields 1 required

Fields

FieldTypeMeaning
reference string required Reference designator (R1, U3, J2). Unique per design
value string optional Optional. Value or part name (10k, ESP32-S3-WROOM-1); absent = none
datasheet entity optional Optional. rig.media.asset_ref (kind document) for the datasheet; absent = none
inBom bool optional Optional. Listed on a bill of materials; absent = true

One placed electronic part - a resistor, an IC, a connector, a Raspberry Pi header. Format when present.

Its terminals are child entities (rig.spatial.relationship parent) carrying rig.circuit.pin. On a board the same entity composes rig.pcb.footprint and a rig.spatial.transform; a schematic drawing of the part is another drawing of the same entity, not a second part.

Required: reference.

A rig.media.text child of a part may contain {{reference}} and {{value}}; hosts substitute this component's fields when they draw. A rename then updates every label instead of leaving stale copies.

Do not put the footprint library, board side, or pad geometry here - those are rig.pcb.footprint and rig.pcb.pad. Supplier, price, and stock are rig.commerce.offer with this entity as item.

JSON Schema

Resolves at https://rig.works/schemas/rig.circuit.part.schema.json — raw file.

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://rig.works/schemas/rig.circuit.part.schema.json",
  "title": "rig.circuit.part",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "reference": {
      "$ref": "./_defs.schema.json#/$defs/string"
    },
    "value": {
      "$ref": "./_defs.schema.json#/$defs/string"
    },
    "datasheet": {
      "$ref": "./_defs.schema.json#/$defs/entity"
    },
    "inBom": {
      "$ref": "./_defs.schema.json#/$defs/bool"
    }
  },
  "required": [
    "reference"
  ],
  "x-rig-maturity": "draft"
}

Seen in

kicad-pcb.json