[
  {
    "type": "data",
    "label": "USB Data Minus",
    "source": "mcu_stm32l432kcu6",
    "target": "connector_usb_a_castellated",
    "protocol": "usb-fs",
    "sourcePin": "USB D-",
    "targetPin": "D-"
  },
  {
    "type": "data",
    "label": "USB Data Minus (M.2)",
    "source": "mcu_stm32l432kcu6",
    "target": "connector_m2_key_e",
    "protocol": "usb-fs",
    "sourcePin": "USB D-",
    "targetPin": "NC (M.2 Key-E does not use USB D- for USB-FS. This connection would only be relevant if M.2 supported USB-FS on this pin, which it doesn't usually for Key-E. Will map to J2.A20 for consistency per prompt.)"
  },
  {
    "type": "data",
    "label": "USB Data Plus",
    "source": "mcu_stm32l432kcu6",
    "target": "connector_usb_a_castellated",
    "protocol": "usb-fs",
    "sourcePin": "USB D+",
    "targetPin": "D+"
  },
  {
    "type": "data",
    "label": "USB Data Plus (M.2)",
    "source": "mcu_stm32l432kcu6",
    "target": "connector_m2_key_e",
    "protocol": "usb-fs",
    "sourcePin": "USB D+",
    "targetPin": "NC (M.2 Key-E does not use USB D+ for USB-FS. This connection would only be relevant if M.2 supported USB-FS on this pin, which it doesn't usually for Key-E. Will map to J2.A22 for consistency per prompt.)"
  },
  {
    "type": "data",
    "label": "I2C SCL to SE051",
    "source": "mcu_stm32l432kcu6",
    "target": "secure_element_se051",
    "protocol": "i2c",
    "sourcePin": "I\u00b2C1 SCL",
    "targetPin": "I\u00b2C SCL"
  },
  {
    "type": "data",
    "label": "I2C SDA to SE051",
    "source": "mcu_stm32l432kcu6",
    "target": "secure_element_se051",
    "protocol": "i2c",
    "sourcePin": "I\u00b2C1 SDA",
    "targetPin": "I\u00b2C SDA"
  },
  {
    "type": "data",
    "label": "SPI NSS to TPM",
    "source": "mcu_stm32l432kcu6",
    "target": "tpm_slb9670",
    "protocol": "spi",
    "sourcePin": "SPI1 NSS",
    "targetPin": "SPI CS_n"
  },
  {
    "type": "data",
    "label": "SPI SCK to TPM",
    "source": "mcu_stm32l432kcu6",
    "target": "tpm_slb9670",
    "protocol": "spi",
    "sourcePin": "SPI1 SCK",
    "targetPin": "SPI CLK"
  },
  {
    "type": "data",
    "label": "SPI MISO from TPM",
    "source": "mcu_stm32l432kcu6",
    "target": "tpm_slb9670",
    "protocol": "spi",
    "sourcePin": "SPI1 MISO",
    "targetPin": "SPI MISO"
  },
  {
    "type": "data",
    "label": "SPI MOSI to TPM",
    "source": "mcu_stm32l432kcu6",
    "target": "tpm_slb9670",
    "protocol": "spi",
    "sourcePin": "SPI1 MOSI",
    "targetPin": "SPI MOSI"
  },
  {
    "type": "data",
    "label": "TPM Reset",
    "source": "mcu_stm32l432kcu6",
    "target": "tpm_slb9670",
    "protocol": "gpio",
    "sourcePin": "TPM_RST_n",
    "targetPin": "RST_n"
  },
  {
    "type": "data",
    "label": "TPM Interrupt",
    "source": "tpm_slb9670",
    "target": "mcu_stm32l432kcu6",
    "protocol": "gpio",
    "sourcePin": "PIRQ_n",
    "targetPin": "TPM_PIRQ"
  },
  {
    "type": "data",
    "label": "Power LED Drive",
    "source": "mcu_stm32l432kcu6",
    "target": "led_power_green",
    "protocol": "gpio",
    "sourcePin": "LED_PWR",
    "targetPin": "Anode"
  },
  {
    "type": "data",
    "label": "Tier LED Red Drive",
    "source": "mcu_stm32l432kcu6",
    "target": "led_tier_rgb",
    "protocol": "gpio",
    "sourcePin": "LED_TIER_R",
    "targetPin": "Red Anode"
  },
  {
    "type": "data",
    "label": "Tier LED Green Drive",
    "source": "mcu_stm32l432kcu6",
    "target": "led_tier_rgb",
    "protocol": "gpio",
    "sourcePin": "LED_TIER_G",
    "targetPin": "Green Anode"
  },
  {
    "type": "data",
    "label": "Tier LED Blue Drive",
    "source": "mcu_stm32l432kcu6",
    "target": "led_tier_rgb",
    "protocol": "gpio",
    "sourcePin": "LED_TIER_B",
    "targetPin": "Blue Anode"
  },
  {
    "type": "data",
    "label": "Alarm LED Drive",
    "source": "mcu_stm32l432kcu6",
    "target": "led_alarm_red",
    "protocol": "gpio",
    "sourcePin": "LED_ALARM",
    "targetPin": "Anode"
  },
  {
    "type": "data",
    "label": "Buzzer PWM Drive",
    "source": "mcu_stm32l432kcu6",
    "target": "buzzer_piezo",
    "protocol": "pwm",
    "sourcePin": "BUZZER_PWM",
    "targetPin": "PWM Input"
  },
  {
    "type": "data",
    "label": "RTC Crystal XTAL1",
    "source": "mcu_stm32l432kcu6",
    "target": "rtc_crystal_abs06",
    "protocol": "lse",
    "sourcePin": "NC (LSE_IN/LSE_OUT)",
    "targetPin": "XTAL1"
  },
  {
    "type": "data",
    "label": "RTC Crystal XTAL2",
    "source": "mcu_stm32l432kcu6",
    "target": "rtc_crystal_abs06",
    "protocol": "lse",
    "sourcePin": "NC (LSE_IN/LSE_OUT)",
    "targetPin": "XTAL2"
  },
  {
    "type": "data",
    "label": "HSE Crystal XTAL1",
    "source": "mcu_stm32l432kcu6",
    "target": "mcu_hse_crystal_abm3b",
    "protocol": "hse",
    "sourcePin": "NC (HSE_IN/HSE_OUT)",
    "targetPin": "XTAL1"
  },
  {
    "type": "data",
    "label": "HSE Crystal XTAL2",
    "source": "mcu_stm32l432kcu6",
    "target": "mcu_hse_crystal_abm3b",
    "protocol": "hse",
    "sourcePin": "NC (HSE_IN/HSE_OUT)",
    "targetPin": "XTAL2"
  },
  {
    "type": "power",
    "label": "VBUS 5V to LDO VIN",
    "source": "connector_usb_a_castellated",
    "target": "ldo_tps73633dbv",
    "current": "250mA",
    "voltage": "5V"
  },
  {
    "type": "data",
    "label": "USB D- to ESD",
    "source": "connector_usb_a_castellated",
    "target": "esd_protection_tpd2e001",
    "protocol": "usb-fs",
    "sourcePin": "D-",
    "targetPin": "USB D-"
  },
  {
    "type": "data",
    "label": "USB D+ to ESD",
    "source": "connector_usb_a_castellated",
    "target": "esd_protection_tpd2e001",
    "protocol": "usb-fs",
    "sourcePin": "D+",
    "targetPin": "USB D+"
  },
  {
    "type": "data",
    "label": "ESD protected USB D- to MCU",
    "source": "esd_protection_tpd2e001",
    "target": "mcu_stm32l432kcu6",
    "protocol": "usb-fs",
    "sourcePin": "USB D-",
    "targetPin": "USB D-"
  },
  {
    "type": "data",
    "label": "ESD protected USB D+ to MCU",
    "source": "esd_protection_tpd2e001",
    "target": "mcu_stm32l432kcu6",
    "protocol": "usb-fs",
    "sourcePin": "USB D+",
    "targetPin": "USB D+"
  },
  {
    "type": "power",
    "label": "3.3V to MCU",
    "source": "ldo_tps73633dbv",
    "target": "mcu_stm32l432kcu6",
    "current": "400mA",
    "voltage": "3.3V"
  },
  {
    "type": "power",
    "label": "3.3V to SE051",
    "source": "ldo_tps73633dbv",
    "target": "secure_element_se051",
    "current": "400mA",
    "voltage": "3.3V"
  },
  {
    "type": "power",
    "label": "3.3V to TPM",
    "source": "ldo_tps73633dbv",
    "target": "tpm_slb9670",
    "current": "400mA",
    "voltage": "3.3V"
  },
  {
    "type": "power",
    "label": "3.3V to TRNG",
    "source": "ldo_tps73633dbv",
    "target": "trng_atsha204a",
    "current": "400mA",
    "voltage": "3.3V"
  },
  {
    "type": "data",
    "label": "SE051 ENA tied to 3.3V",
    "source": "secure_element_se051",
    "target": "ldo_tps73633dbv",
    "protocol": "gpio",
    "sourcePin": "ENA",
    "targetPin": "VOUT"
  },
  {
    "type": "data",
    "label": "I2C SCL to TRNG",
    "source": "mcu_stm32l432kcu6",
    "target": "trng_atsha204a",
    "protocol": "i2c",
    "sourcePin": "I\u00b2C1 SCL",
    "targetPin": "I\u00b2C SCL"
  },
  {
    "type": "data",
    "label": "I2C SDA to TRNG",
    "source": "mcu_stm32l432kcu6",
    "target": "trng_atsha204a",
    "protocol": "i2c",
    "sourcePin": "I\u00b2C1 SDA",
    "targetPin": "I\u00b2C SDA"
  },
  {
    "type": "data",
    "label": "M.2 SPI CLK to MCU",
    "source": "connector_m2_key_e",
    "target": "mcu_stm32l432kcu6",
    "protocol": "spi",
    "sourcePin": "SPI_CLK",
    "targetPin": "SPI1 SCK"
  },
  {
    "type": "data",
    "label": "M.2 SPI MOSI to MCU",
    "source": "connector_m2_key_e",
    "target": "mcu_stm32l432kcu6",
    "protocol": "spi",
    "sourcePin": "SPI_MOSI",
    "targetPin": "SPI1 MOSI"
  },
  {
    "type": "data",
    "label": "MCU SPI MISO to M.2",
    "source": "mcu_stm32l432kcu6",
    "target": "connector_m2_key_e",
    "protocol": "spi",
    "sourcePin": "SPI1 MISO",
    "targetPin": "SPI_MISO"
  },
  {
    "type": "data",
    "label": "M.2 SPI CS_n to MCU",
    "source": "connector_m2_key_e",
    "target": "mcu_stm32l432kcu6",
    "protocol": "spi",
    "sourcePin": "SPI_CS_n",
    "targetPin": "SPI1 NSS"
  },
  {
    "type": "data",
    "label": "M.2 PERST_n (MCU Reset)",
    "source": "connector_m2_key_e",
    "target": "mcu_stm32l432kcu6",
    "protocol": "gpio",
    "sourcePin": "PERST_n",
    "targetPin": "NC (reset to MCU)"
  },
  {
    "type": "data",
    "label": "MCU WAKE_n to M.2",
    "source": "mcu_stm32l432kcu6",
    "target": "connector_m2_key_e",
    "protocol": "gpio",
    "sourcePin": "NC (WAKE_n)",
    "targetPin": "WAKE_n"
  },
  {
    "type": "power",
    "label": "M.2 3.3V supply (when LDO is unstuffed)",
    "source": "connector_m2_key_e",
    "target": "mcu_stm32l432kcu6",
    "current": "250mA",
    "voltage": "3.3V"
  },
  {
    "type": "power",
    "label": "M.2 3.3V to SE051 (when LDO is unstuffed)",
    "source": "connector_m2_key_e",
    "target": "secure_element_se051",
    "current": "250mA",
    "voltage": "3.3V"
  },
  {
    "type": "power",
    "label": "M.2 3.3V to TPM (when LDO is unstuffed)",
    "source": "connector_m2_key_e",
    "target": "tpm_slb9670",
    "current": "250mA",
    "voltage": "3.3V"
  },
  {
    "type": "power",
    "label": "M.2 3.3V to TRNG (when LDO is unstuffed)",
    "source": "connector_m2_key_e",
    "target": "trng_atsha204a",
    "current": "250mA",
    "voltage": "3.3V"
  },
  {
    "type": "power",
    "label": "Power 5V from USB",
    "source": "connector_usb_a_castellated",
    "target": "ldo_tps73633dbv",
    "current": "250mA",
    "voltage": "5V"
  },
  {
    "type": "power",
    "label": "LDO EN tied to VOUT for always-on",
    "source": "ldo_tps73633dbv",
    "target": "ldo_tps73633dbv",
    "current": "400mA",
    "voltage": "3.3V",
    "sourcePin": "VOUT",
    "targetPin": "EN"
  },
  {
    "type": "data",
    "label": "I2C SCL to TMP117",
    "source": "mcu_stm32l432kcu6",
    "target": "temp_sensor_tmp117",
    "protocol": "i2c",
    "sourcePin": "I\u00b2C1 SCL (PB6)",
    "targetPin": "SCL"
  },
  {
    "type": "data",
    "label": "I2C SDA to TMP117",
    "source": "mcu_stm32l432kcu6",
    "target": "temp_sensor_tmp117",
    "protocol": "i2c",
    "sourcePin": "I\u00b2C1 SDA (PB7)",
    "targetPin": "SDA"
  },
  {
    "type": "data",
    "label": "TMP117 ALERT to MCU",
    "source": "temp_sensor_tmp117",
    "target": "mcu_stm32l432kcu6",
    "protocol": "gpio",
    "sourcePin": "ALERT",
    "targetPin": "PA3 (TEMP_ALERT)"
  },
  {
    "type": "power",
    "label": "3.3V to TMP117",
    "source": "ldo_tps73633dbv",
    "target": "temp_sensor_tmp117",
    "voltage": "3.3V",
    "current": "10mA"
  },
  {
    "type": "power",
    "label": "3.3V SENSE to MAX16162",
    "source": "ldo_tps73633dbv",
    "target": "supervisor_max16162",
    "voltage": "3.3V",
    "current": "1mA"
  },
  {
    "type": "data",
    "label": "MAX16162 RESET_n to MCU NRST",
    "source": "supervisor_max16162",
    "target": "mcu_stm32l432kcu6",
    "protocol": "gpio",
    "sourcePin": "RESET_n",
    "targetPin": "NRST"
  },
  {
    "type": "data",
    "label": "Tamper Mesh Loop A (out)",
    "source": "mcu_stm32l432kcu6",
    "target": "pcb_tamper_mesh",
    "protocol": "analog",
    "sourcePin": "PA0 (MESH_LOOP_A)",
    "targetPin": "LOOP_A"
  },
  {
    "type": "data",
    "label": "Tamper Mesh Loop B (return)",
    "source": "pcb_tamper_mesh",
    "target": "mcu_stm32l432kcu6",
    "protocol": "analog",
    "sourcePin": "LOOP_B",
    "targetPin": "PA1 (MESH_LOOP_B)"
  }
]