Skip to content

Pin

Title: Pin

Type object
Required No
Additional properties Any type allowed

Description: A single pin of an electronic component with its electrical characteristics and functions

Property Pattern Type Deprecated Definition Title/Description
+ number No integer or string No - Physical pin number as printed on the component package
+ name No string No - Pin name as printed in the datasheet (e.g. SCL, GPIO1, VCC)
+ direction No enum (of string) No - Electrical direction of the pin
- open_drain No boolean No - True if pin is open-drain/open-collector; requires an external pull-up resistor
- must_connect No boolean No - True if pin must be connected and cannot be left floating. Common for RESET, BOOT, and VCC pins.
- rail No string No - ID of the power rail this pin belongs to (references a rail defined in the component's rails array)
- net No string No - Explicit net name override for this pin
- voltage_level No object No In measured_value.schema.json Measured Value
- electrical No object No In pin_electrical.schema.json Pin Electrical Characteristics
- primary_function No object No In pin_function.schema.json Pin Function
- alternate_functions No array No - Alternate peripheral functions available when this pin is configured as GPIO
- externals No array No - External components associated with this pin. Set required: true on each item that is mandatory for correct operation; omit or set false for optional components (e.g. debug buttons, optional filters).
- decoupling No array No - Decoupling capacitors placed close to this power pin (one instance generated per pin)
- remark No string No - Free-form note about this pin (e.g. must be tied to GND, do not exceed 1.8V, connects to external crystal)

1. Property number

Type integer or string
Required Yes

Description: Physical pin number as printed on the component package

2. Property name

Type string
Required Yes

Description: Pin name as printed in the datasheet (e.g. SCL, GPIO1, VCC)

3. Property direction

Type enum (of string)
Required Yes

Description: Electrical direction of the pin

Must be one of: * "input" * "output" * "bidirectional" * "tri_state" * "passive" * "open_collector" * "open_emitter" * "power_in" * "power_out" * "no_connect"

4. Property open_drain

Type boolean
Required No

Description: True if pin is open-drain/open-collector; requires an external pull-up resistor

5. Property must_connect

Type boolean
Required No

Description: True if pin must be connected and cannot be left floating. Common for RESET, BOOT, and VCC pins.

6. Property rail

Type string
Required No

Description: ID of the power rail this pin belongs to (references a rail defined in the component's rails array)

7. Property net

Type string
Required No

Description: Explicit net name override for this pin

8. Property voltage_level

Title: Measured Value

Type object
Required No
Additional properties Not allowed
Defined in measured_value.schema.json

Description: Nominal logic voltage level of the pin

Property Pattern Type Deprecated Definition Title/Description
+ value No number No - Numeric quantity
+ unit No string No - Unit of measurement. Must be an SI unit or SI-derived unit, optionally with an SI prefix (e.g. V, mV, A, mA, Ω, kΩ, F, nF, µF, H, nH, Hz, kHz, MHz, W, mW, °C, m, mm). Dimensionless ratios such as ppm and % are also accepted.

8.1. Property value

Type number
Required Yes

Description: Numeric quantity

8.2. Property unit

Type string
Required Yes

Description: Unit of measurement. Must be an SI unit or SI-derived unit, optionally with an SI prefix (e.g. V, mV, A, mA, Ω, kΩ, F, nF, µF, H, nH, Hz, kHz, MHz, W, mW, °C, m, mm). Dimensionless ratios such as ppm and % are also accepted.

9. Property electrical

Title: Pin Electrical Characteristics

Type object
Required No
Additional properties Any type allowed
Defined in pin_electrical.schema.json

Description: Detailed electrical characteristics from the datasheet (V_IH, V_IL, etc.)

Property Pattern Type Deprecated Definition Title/Description
- v_ih_min No Combination No - Minimum input voltage recognized as logic HIGH
- v_il_max No Combination No - Maximum input voltage recognized as logic LOW
- v_oh_min No Combination No - Minimum output voltage when driving logic HIGH
- v_ol_max No object No Same as voltage_level Measured Value
- i_oh_max No object No Same as voltage_level Measured Value
- i_ol_max No object No Same as voltage_level Measured Value
- i_leak_max No object No Same as voltage_level Measured Value

9.1. Property v_ih_min

Type combining
Required No
Additional properties Any type allowed

Description: Minimum input voltage recognized as logic HIGH

One of(Option)
Measured Value
Relative Threshold

9.1.1. Property Measured Value

Title: Measured Value

Type object
Required No
Additional properties Not allowed
Same definition as voltage_level

Description: A numeric measurement with an explicit unit

9.1.2. Property Relative Threshold

Title: Relative Threshold

Type object
Required No
Additional properties Not allowed
Defined in relative_threshold.schema.json

Description: A voltage threshold expressed as a fraction of a reference voltage (e.g. 0.7 × V+)

Property Pattern Type Deprecated Definition Title/Description
+ multiplier No number No - Fraction of the reference voltage (e.g. 0.7 for 70%)
+ reference No string No - Reference voltage identifier (e.g. V+, VCC, VDD)
9.1.2.1. Property multiplier
Type number
Required Yes

Description: Fraction of the reference voltage (e.g. 0.7 for 70%)

9.1.2.2. Property reference
Type string
Required Yes

Description: Reference voltage identifier (e.g. V+, VCC, VDD)

9.2. Property v_il_max

Type combining
Required No
Additional properties Any type allowed

Description: Maximum input voltage recognized as logic LOW

One of(Option)
Measured Value
Relative Threshold

9.2.1. Property Measured Value

Title: Measured Value

Type object
Required No
Additional properties Not allowed
Same definition as voltage_level

Description: A numeric measurement with an explicit unit

9.2.2. Property Relative Threshold

Title: Relative Threshold

Type object
Required No
Additional properties Not allowed
Same definition as Relative Threshold

Description: A voltage threshold expressed as a fraction of a reference voltage (e.g. 0.7 × V+)

9.3. Property v_oh_min

Type combining
Required No
Additional properties Any type allowed

Description: Minimum output voltage when driving logic HIGH

One of(Option)
Measured Value
Relative Threshold

9.3.1. Property Measured Value

Title: Measured Value

Type object
Required No
Additional properties Not allowed
Same definition as voltage_level

Description: A numeric measurement with an explicit unit

9.3.2. Property Relative Threshold

Title: Relative Threshold

Type object
Required No
Additional properties Not allowed
Same definition as Relative Threshold

Description: A voltage threshold expressed as a fraction of a reference voltage (e.g. 0.7 × V+)

9.4. Property v_ol_max

Title: Measured Value

Type object
Required No
Additional properties Not allowed
Same definition as voltage_level

Description: Maximum output voltage when driving logic LOW

9.5. Property i_oh_max

Title: Measured Value

Type object
Required No
Additional properties Not allowed
Same definition as voltage_level

Description: Maximum source current when output is HIGH

9.6. Property i_ol_max

Title: Measured Value

Type object
Required No
Additional properties Not allowed
Same definition as voltage_level

Description: Maximum sink current when output is LOW

9.7. Property i_leak_max

Title: Measured Value

Type object
Required No
Additional properties Not allowed
Same definition as voltage_level

Description: Maximum input leakage current

10. Property primary_function

Title: Pin Function

Type object
Required No
Additional properties Any type allowed
Defined in pin_function.schema.json

Description: Primary logical function of this pin

Property Pattern Type Deprecated Definition Title/Description
+ type No enum (of string) No - Functional role of this pin
- polarity No enum (of string) No - Active polarity for control signals (e.g. RESET, CS, ENABLE)
- port No string No - GPIO port identifier (e.g. A, B, C for STM32)
- bit No integer No - Bit number within the GPIO port
- options No array No - For address_select pins: list of connect_to/i2c_address pairings

10.1. Property type

Type enum (of string)
Required Yes

Description: Functional role of this pin

Must be one of: * "gpio" * "reset" * "boot_select" * "clock_in" * "clock_out" * "power" * "analog_in" * "analog_out" * "differential_pair" * "i2c_scl" * "i2c_sda" * "spi_sck" * "spi_mosi" * "spi_miso" * "spi_cs" * "uart_tx" * "uart_rx" * "usb_dp" * "usb_dm" * "swd_io" * "swd_clk" * "jtag_tdi" * "jtag_tdo" * "jtag_tck" * "jtag_tms" * "nfc_antenna" * "adc" * "alert" * "address_select" * "enable" * "interrupt" * "pwm"

10.2. Property polarity

Type enum (of string)
Required No

Description: Active polarity for control signals (e.g. RESET, CS, ENABLE)

Must be one of: * "active_high" * "active_low"

10.3. Property port

Type string
Required No

Description: GPIO port identifier (e.g. A, B, C for STM32)

10.4. Property bit

Type integer
Required No

Description: Bit number within the GPIO port

10.5. Property options

Type array
Required No

Description: For address_select pins: list of connect_to/i2c_address pairings

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
address_select_option Maps a connection target (net name) to the resulting I2C address

10.5.1. address_select_option

Type object
Required No
Additional properties Any type allowed
Defined in #/$defs/address_select_option

Description: Maps a connection target (net name) to the resulting I2C address

Property Pattern Type Deprecated Definition Title/Description
+ connect_to No string No - Net name to connect the address pin to (e.g. GND, VCC, SDA)
+ i2c_address No string No - Resulting 7-bit I2C address in hex (e.g. 0x48)
10.5.1.1. Property connect_to
Type string
Required Yes

Description: Net name to connect the address pin to (e.g. GND, VCC, SDA)

10.5.1.2. Property i2c_address
Type string
Required Yes

Description: Resulting 7-bit I2C address in hex (e.g. 0x48)

11. Property alternate_functions

Type array
Required No

Description: Alternate peripheral functions available when this pin is configured as GPIO

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
Alternate Pin Function An alternate peripheral function available on a GPIO pin

11.1. Alternate Pin Function

Title: Alternate Pin Function

Type object
Required No
Additional properties Any type allowed
Defined in alternate_function.schema.json

Description: An alternate peripheral function available on a GPIO pin

Property Pattern Type Deprecated Definition Title/Description
- af No object No - Alternate function number (microcontroller-specific, e.g. AF4 for STM32)
+ peripheral No string No - Peripheral name (e.g. I2C1, SPI2, USART3)
+ signal No string No - Signal name within the peripheral (e.g. SCL, MOSI, TX)
+ direction No enum (of string) No - Signal direction when this alternate function is active

11.1.1. Property af

Type object
Required No
Additional properties Any type allowed

Description: Alternate function number (microcontroller-specific, e.g. AF4 for STM32)

11.1.2. Property peripheral

Type string
Required Yes

Description: Peripheral name (e.g. I2C1, SPI2, USART3)

11.1.3. Property signal

Type string
Required Yes

Description: Signal name within the peripheral (e.g. SCL, MOSI, TX)

11.1.4. Property direction

Type enum (of string)
Required Yes

Description: Signal direction when this alternate function is active

Must be one of: * "input" * "output" * "bidirectional"

12. Property externals

Type array
Required No

Description: External components associated with this pin. Set required: true on each item that is mandatory for correct operation; omit or set false for optional components (e.g. debug buttons, optional filters).

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
Passive Component A passive component used in decoupling, filtering, or required external circuits

12.1. Passive Component

Title: Passive Component

Type object
Required No
Additional properties Any type allowed
Defined in passive_component.schema.json

Description: A passive component used in decoupling, filtering, or required external circuits

Property Pattern Type Deprecated Definition Title/Description
+ type No enum (of string) No - Component type
- required No boolean No - True if this component is mandatory for correct operation. False or absent means the component is optional (e.g. a debug button, an optional filter).
- resistance No object No Same as voltage_level Measured Value
- capacitance No object No Same as voltage_level Measured Value
- inductance No object No Same as voltage_level Measured Value
- impedance_at_100mhz No object No Same as voltage_level Measured Value
- voltage_rating No object No Same as voltage_level Measured Value
- current_rating No object No Same as voltage_level Measured Value
- esr No object No Same as voltage_level Measured Value
- frequency No object No Same as voltage_level Measured Value
- frequency_tolerance No object No Same as voltage_level Measured Value
- load_capacitance No object No Same as voltage_level Measured Value
- series_r No object No Same as voltage_level Measured Value
- xin_cap No object No Same as voltage_level Measured Value
- xout_cap No object No Same as voltage_level Measured Value
- dielectric No array of string No - Acceptable capacitor dielectrics in order of preference (e.g. [X5R, X7R])
- recommended_mpn No string No - Specific manufacturer part number recommended by the IC datasheet or design guide. Deviating requires re-validation.
- package No string No - Recommended component package / footprint (e.g. '0402', '0806')
- condition No string No - Design condition under which this component or value applies (e.g. 'IOVDD=3.3V'). If the condition is not met the component must be re-evaluated.
- placement No enum (of string) No - Required placement proximity relative to the associated pin or component
- orientation No string No - Required mounting orientation for orientation-sensitive components (e.g. shielded inductors whose magnetic field direction affects adjacent components). Presence of this field implies the component must not be rotated arbitrarily. Value should describe the correct placement direction (e.g. 'winding-start towards output capacitor').
- quantity No enum (of string) No - How many instances of this component are needed
- scope No enum (of string) No - component: one per IC instance. bus: shared across all devices on the bus.
- from No string No - Source net or pin name this component connects from (net name in rail input_filter context; pin name in required_external context)
- to No string No - Destination net or pin name this component connects to
- remark No string No - Free-form note about why this component is needed or how to select it

12.1.1. Property type

Type enum (of string)
Required Yes

Description: Component type

Must be one of: * "capacitor" * "resistor" * "ferrite_bead" * "inductor" * "crystal" * "diode" * "switch"

12.1.2. Property required

Type boolean
Required No

Description: True if this component is mandatory for correct operation. False or absent means the component is optional (e.g. a debug button, an optional filter).

12.1.3. Property resistance

Title: Measured Value

Type object
Required No
Additional properties Not allowed
Same definition as voltage_level

Description: Resistance value (for resistors and pull-ups)

12.1.4. Property capacitance

Title: Measured Value

Type object
Required No
Additional properties Not allowed
Same definition as voltage_level

Description: Capacitance value (for capacitors)

12.1.5. Property inductance

Title: Measured Value

Type object
Required No
Additional properties Not allowed
Same definition as voltage_level

Description: Inductance value (for inductors)

12.1.6. Property impedance_at_100mhz

Title: Measured Value

Type object
Required No
Additional properties Not allowed
Same definition as voltage_level

Description: Impedance at 100 MHz (for ferrite beads)

12.1.7. Property voltage_rating

Title: Measured Value

Type object
Required No
Additional properties Not allowed
Same definition as voltage_level

Description: Maximum rated voltage

12.1.8. Property current_rating

Title: Measured Value

Type object
Required No
Additional properties Not allowed
Same definition as voltage_level

Description: Maximum rated continuous current

12.1.9. Property esr

Title: Measured Value

Type object
Required No
Additional properties Not allowed
Same definition as voltage_level

Description: Equivalent series resistance (max, for capacitors and crystals)

12.1.10. Property frequency

Title: Measured Value

Type object
Required No
Additional properties Not allowed
Same definition as voltage_level

Description: Nominal oscillation frequency (for crystals)

12.1.11. Property frequency_tolerance

Title: Measured Value

Type object
Required No
Additional properties Not allowed
Same definition as voltage_level

Description: Frequency tolerance (for crystals, unit: ppm)

12.1.12. Property load_capacitance

Title: Measured Value

Type object
Required No
Additional properties Not allowed
Same definition as voltage_level

Description: Specified load capacitance (for crystals, unit: pF)

12.1.13. Property series_r

Title: Measured Value

Type object
Required No
Additional properties Not allowed
Same definition as voltage_level

Description: Series resistor (Rs) in the oscillator drive path (for crystals only). Rs is placed in series between the MCU oscillator output (XOUT) and the crystal, limiting drive current. The crystal's XOUT-side pin is placed on an intermediate net; Rs bridges that net back to the XOUT pin net.

12.1.14. Property xin_cap

Title: Measured Value

Type object
Required No
Additional properties Not allowed
Same definition as voltage_level

Description: Load capacitor on the crystal XIN side, placed between the crystal's sense-side terminal (same net as the MCU XIN pin) and GND.

12.1.15. Property xout_cap

Title: Measured Value

Type object
Required No
Additional properties Not allowed
Same definition as voltage_level

Description: Load capacitor on the crystal XOUT side, placed between the crystal's drive-side terminal and GND. Used together with series_r when the XOUT cap must sit on the crystal side of Rs (not on the MCU XOUT pin directly).

12.1.16. Property dielectric

Type array of string
Required No

Description: Acceptable capacitor dielectrics in order of preference (e.g. [X5R, X7R])

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
dielectric items -
12.1.16.1. dielectric items
Type string
Required No
Type string
Required No

Description: Specific manufacturer part number recommended by the IC datasheet or design guide. Deviating requires re-validation.

12.1.18. Property package

Type string
Required No

Description: Recommended component package / footprint (e.g. '0402', '0806')

12.1.19. Property condition

Type string
Required No

Description: Design condition under which this component or value applies (e.g. 'IOVDD=3.3V'). If the condition is not met the component must be re-evaluated.

12.1.20. Property placement

Type enum (of string)
Required No

Description: Required placement proximity relative to the associated pin or component

Must be one of: * "close" * "nearby" * "per_pin" * "per_component"

12.1.21. Property orientation

Type string
Required No

Description: Required mounting orientation for orientation-sensitive components (e.g. shielded inductors whose magnetic field direction affects adjacent components). Presence of this field implies the component must not be rotated arbitrarily. Value should describe the correct placement direction (e.g. 'winding-start towards output capacitor').

12.1.22. Property quantity

Type enum (of string)
Required No

Description: How many instances of this component are needed

Must be one of: * "1" * "per_pin" * "per_component"

12.1.23. Property scope

Type enum (of string)
Required No

Description: component: one per IC instance. bus: shared across all devices on the bus.

Must be one of: * "component" * "bus"

12.1.24. Property from

Type string
Required No

Description: Source net or pin name this component connects from (net name in rail input_filter context; pin name in required_external context)

12.1.25. Property to

Type string
Required No

Description: Destination net or pin name this component connects to

12.1.26. Property remark

Type string
Required No

Description: Free-form note about why this component is needed or how to select it

13. Property decoupling

Type array
Required No

Description: Decoupling capacitors placed close to this power pin (one instance generated per pin)

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
Passive Component A passive component used in decoupling, filtering, or required external circuits

13.1. Passive Component

Title: Passive Component

Type object
Required No
Additional properties Any type allowed
Same definition as Passive Component

Description: A passive component used in decoupling, filtering, or required external circuits

14. Property remark

Type string
Required No

Description: Free-form note about this pin (e.g. must be tied to GND, do not exceed 1.8V, connects to external crystal)


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