Skip to content

Circuit Instance

Title: Circuit Instance

Type object
Required No
Additional properties Not allowed

Description: An instance of a component in a circuit

Property Pattern Type Deprecated Definition Title/Description
+ ref No string No - Reference designator (e.g. U1, R1, C1)
+ mpn No string No - Component MPN, must exist in the configured component library
- buses No array No - Buses this component is connected to
- pin_config No object No - Per-pin configuration (e.g. address select, boot mode)
- rails No object No - Rail net overrides: maps component rail IDs to circuit net names

1. Property ref

Type string
Required Yes

Description: Reference designator (e.g. U1, R1, C1)

2. Property mpn

Type string
Required Yes

Description: Component MPN, must exist in the configured component library

3. Property buses

Type array
Required No

Description: Buses this component is connected to

Array restrictions
Min items N/A
Max items N/A
Items unicity False
Additional items False
Tuple validation See below
Each item of this array must be Description
Circuit Bus Connection Connects a component instance to a circuit bus, optionally specifying which interface instance and pin assignments to use

3.1. Circuit Bus Connection

Title: Circuit Bus Connection

Type combining
Required No
Additional properties Not allowed
Defined in circuit_bus_connection.schema.json

Description: Connects a component instance to a circuit bus, optionally specifying which interface instance and pin assignments to use

Property Pattern Type Deprecated Definition Title/Description
+ id No string No - ID of the bus defined in circuit.buses
- interface No string No - Interface type on this component to connect (e.g. I2C, SPI, UART). Defaults to the bus type.
- role No string No - Role of this component on the bus (e.g. master/slave for I2C). Must match a valid role for the declared interface type.
- address No string No - I2C address for slave devices. Drives address-select pin configuration automatically via the component's address_select options.
- pins No object No - Maps interface signal roles to component pin names. Required for flexible-pin components (e.g. MCUs with multiplexed GPIOs). Keys are role names (e.g. sda, scl); values are component pin names (e.g. GPIO4).
All of(Requirement)
item 0
item 1
item 2
item 3
item 4
item 5
item 6
item 7
item 8
item 9
item 10
item 11
item 12

3.1.1. Property item 0

Type object
Required No
Additional properties Any type allowed
3.1.1.1. If (interface = "I2C")
Type object
Required No
Additional properties Any type allowed
Property Pattern Type Deprecated Definition Title/Description
- pins No object No - -
- role No enum (of string) No In bus_signals.schema.json#/$defs/I2C_node_roles -
3.1.1.1.1. Property pins
Type object
Required No
Additional properties Any type allowed
3.1.1.1.2. Property role
Type enum (of string)
Required No
Defined in bus_signals.schema.json#/$defs/I2C_node_roles

Must be one of: * "master" * "slave"

3.1.2. Property item 1

Type object
Required No
Additional properties Any type allowed
3.1.2.1. If (interface = "SMBus")
Type object
Required No
Additional properties Any type allowed
Property Pattern Type Deprecated Definition Title/Description
- pins No object No - -
- role No enum (of string) No Same as role -
3.1.2.1.1. Property pins
Type object
Required No
Additional properties Any type allowed
3.1.2.1.2. Property role
Type enum (of string)
Required No
Same definition as role

3.1.3. Property item 2

Type object
Required No
Additional properties Any type allowed
3.1.3.1. If (interface = "SPI")
Type object
Required No
Additional properties Any type allowed
Property Pattern Type Deprecated Definition Title/Description
- pins No object No - -
- role No enum (of string) No In bus_signals.schema.json#/$defs/SPI_node_roles -
3.1.3.1.1. Property pins
Type object
Required No
Additional properties Any type allowed
3.1.3.1.2. Property role
Type enum (of string)
Required No
Defined in bus_signals.schema.json#/$defs/SPI_node_roles

Must be one of: * "master" * "slave"

3.1.4. Property item 3

Type object
Required No
Additional properties Any type allowed
3.1.4.1. If (interface = "UART")
Type object
Required No
Additional properties Any type allowed
Property Pattern Type Deprecated Definition Title/Description
- pins No object No - -
- role No enum (of string) No In bus_signals.schema.json#/$defs/UART_node_roles -
3.1.4.1.1. Property pins
Type object
Required No
Additional properties Any type allowed
3.1.4.1.2. Property role
Type enum (of string)
Required No
Defined in bus_signals.schema.json#/$defs/UART_node_roles

Must be one of: * "host" * "device"

3.1.5. Property item 4

Type object
Required No
Additional properties Any type allowed
3.1.5.1. If (interface = "SWD")
Type object
Required No
Additional properties Any type allowed
Property Pattern Type Deprecated Definition Title/Description
- pins No object No - -
3.1.5.1.1. Property pins
Type object
Required No
Additional properties Any type allowed

3.1.6. Property item 5

Type object
Required No
Additional properties Any type allowed
3.1.6.1. If (interface = "JTAG")
Type object
Required No
Additional properties Any type allowed
Property Pattern Type Deprecated Definition Title/Description
- pins No object No - -
3.1.6.1.1. Property pins
Type object
Required No
Additional properties Any type allowed

3.1.7. Property item 6

Type object
Required No
Additional properties Any type allowed
3.1.7.1. If (interface = "USB")
Type object
Required No
Additional properties Any type allowed
Property Pattern Type Deprecated Definition Title/Description
- pins No object No - -
3.1.7.1.1. Property pins
Type object
Required No
Additional properties Any type allowed

3.1.8. Property item 7

Type object
Required No
Additional properties Any type allowed
3.1.8.1. If (interface = "CAN")
Type object
Required No
Additional properties Any type allowed
Property Pattern Type Deprecated Definition Title/Description
- pins No object No - -
- role No enum (of string) No In bus_signals.schema.json#/$defs/CAN_node_roles -
3.1.8.1.1. Property pins
Type object
Required No
Additional properties Any type allowed
3.1.8.1.2. Property role
Type enum (of string)
Required No
Defined in bus_signals.schema.json#/$defs/CAN_node_roles

Must be one of: * "node"

3.1.9. Property item 8

Type object
Required No
Additional properties Any type allowed
3.1.9.1. If (interface = "I2S")
Type object
Required No
Additional properties Any type allowed
Property Pattern Type Deprecated Definition Title/Description
- pins No object No - -
- role No enum (of string) No In bus_signals.schema.json#/$defs/I2S_node_roles -
3.1.9.1.1. Property pins
Type object
Required No
Additional properties Any type allowed
3.1.9.1.2. Property role
Type enum (of string)
Required No
Defined in bus_signals.schema.json#/$defs/I2S_node_roles

Must be one of: * "master" * "slave"

3.1.10. Property item 9

Type object
Required No
Additional properties Any type allowed
3.1.10.1. If (interface = "SAI")
Type object
Required No
Additional properties Any type allowed
Property Pattern Type Deprecated Definition Title/Description
- pins No object No - -
3.1.10.1.1. Property pins
Type object
Required No
Additional properties Any type allowed

3.1.11. Property item 10

Type object
Required No
Additional properties Any type allowed
3.1.11.1. If (interface = "SDIO")
Type object
Required No
Additional properties Any type allowed
Property Pattern Type Deprecated Definition Title/Description
- pins No object No - -
3.1.11.1.1. Property pins
Type object
Required No
Additional properties Any type allowed

3.1.12. Property item 11

Type object
Required No
Additional properties Any type allowed
3.1.12.1. If (interface = "Ethernet")
Type object
Required No
Additional properties Any type allowed
Property Pattern Type Deprecated Definition Title/Description
- pins No object No - -
3.1.12.1.1. Property pins
Type object
Required No
Additional properties Any type allowed

3.1.13. Property item 12

Type object
Required No
Additional properties Any type allowed
3.1.13.1. If (interface = "1-Wire")
Type object
Required No
Additional properties Any type allowed
Property Pattern Type Deprecated Definition Title/Description
- pins No object No - -
3.1.13.1.1. Property pins
Type object
Required No
Additional properties Any type allowed

3.1.14. Property id

Type string
Required Yes

Description: ID of the bus defined in circuit.buses

3.1.15. Property interface

Type string
Required No

Description: Interface type on this component to connect (e.g. I2C, SPI, UART). Defaults to the bus type.

3.1.16. Property role

Type string
Required No

Description: Role of this component on the bus (e.g. master/slave for I2C). Must match a valid role for the declared interface type.

3.1.17. Property address

Type string
Required No

Description: I2C address for slave devices. Drives address-select pin configuration automatically via the component's address_select options.

Restrictions
Must match regular expression ^0x[0-9A-Fa-f]{1,2}$ Test

3.1.18. Property pins

Type object
Required No
Additional properties Each additional property must conform to the schema

Description: Maps interface signal roles to component pin names. Required for flexible-pin components (e.g. MCUs with multiplexed GPIOs). Keys are role names (e.g. sda, scl); values are component pin names (e.g. GPIO4).

Property Pattern Type Deprecated Definition Title/Description
- No string No - -
3.1.18.1. Property additionalProperties
Type string
Required No

4. Property pin_config

Type object
Required No
Additional properties Each additional property must conform to the schema

Description: Per-pin configuration (e.g. address select, boot mode)

Property Pattern Type Deprecated Definition Title/Description
- No string No - -

4.1. Property additionalProperties

Type string
Required No

5. Property rails

Type object
Required No
Additional properties Each additional property must conform to the schema

Description: Rail net overrides: maps component rail IDs to circuit net names

Property Pattern Type Deprecated Definition Title/Description
- No string No - -

5.1. Property additionalProperties

Type string
Required No

Generated using json-schema-for-humans on 2026-03-30 at 10:42:36 +0000