Schemas / Circuit / PCB

rig.circuit.pin

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

Fields

FieldTypeMeaning
number string required Terminal number as printed on the package or connector (1, A1, EP). A string, not an index
function string optional Optional. Terminal function (GPIO17, VCC, SDA); absent = none
electricalType enuminput · output · bidirectional · tri-state · passive · free · unspecified · power-in · power-out · open-collector · open-emitter · no-connect optional Optional. input, output, bidirectional, tri-state, passive, free, unspecified, power-in, power-out, open-collector, open-emitter, no-connect; absent = unspecified
net entity optional Optional. rig.circuit.net this terminal connects to; absent or none = unconnected

One physical terminal of a part - the metal you solder to or probe. Format when present.

The entity is a child of its rig.circuit.part. Drawings of the terminal compose on the same entity: a footprint pad is rig.pcb.pad; a schematic symbol pin is a future drawing schema. KiCad joins symbol pin and pad by matching number strings - here they are one entity, so there is nothing to join.

Required: number.

Two entities may share a number on one part (a split exposed pad, a shield tab drawn twice). They are the same terminal electrically.

A live line that reads or drives this terminal is rig.sensor.gpio with terminal pointing here. GPIO pin is the controller's logical line (BCM 17); number here is the physical terminal (header pin 11) - different numbers, both true.

Not rig.node.pin - that is a socket on an artist node graph. Different graph; do not merge.

JSON Schema

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

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://rig.works/schemas/rig.circuit.pin.schema.json",
  "title": "rig.circuit.pin",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "number": {
      "$ref": "./_defs.schema.json#/$defs/string"
    },
    "function": {
      "$ref": "./_defs.schema.json#/$defs/string"
    },
    "electricalType": {
      "type": "string",
      "enum": [
        "input",
        "output",
        "bidirectional",
        "tri-state",
        "passive",
        "free",
        "unspecified",
        "power-in",
        "power-out",
        "open-collector",
        "open-emitter",
        "no-connect"
      ]
    },
    "net": {
      "$ref": "./_defs.schema.json#/$defs/entity"
    }
  },
  "required": [
    "number"
  ],
  "x-rig-maturity": "draft"
}

Seen in

kicad-pcb.json