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 |
12.1.17. Property recommended_mpn
| 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