{
  "previewArtifactId": "art_mfg_image",
  "application_examples": [
    "Audio effects co-processor with PIO-based I2S receive and bass-band FFT envelope tracking",
    "Multi-channel SK6812 / WS2812 LED ring driver via PIO",
    "Cost-sensitive USB MIDI / HID device",
    "Closed-loop coil drivers (e.g. 22-25 kHz / 12-bit duty PWM into MOSFET gates)",
    "Educational and hobbyist Pico-class boards",
    "Industrial sensor hubs with parallel CSI / DPI capture via PIO",
    "I2C peripheral acting as command relay between a host MCU/BT SoC and on-board effects engine"
  ],
  "metadata": {
    "tags": [
      "rp2040",
      "raspberry-pi",
      "microcontroller",
      "arm-cortex-m0",
      "dual-core",
      "qfn-56",
      "pio",
      "usb",
      "bare-chip"
    ],
    "manufacturer": "Raspberry Pi",
    "schema_version": "1.5.0",
    "type": "microcontroller",
    "thumbnail": "https://storage.googleapis.com/protoboard-delta.firebasestorage.app/protoparts/rp2040/thumbnail.png",
    "taxonomy": [
      "microcontroller.raspberry_pi"
    ],
    "id": "rp2040",
    "datasheet_url": "https://datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf",
    "description": "Bare-chip dual-core Arm Cortex-M0+ microcontroller in QFN-56 7x7 mm package. 264 KB SRAM with NO internal flash (external QSPI flash required for code execution via XIP). 30 multi-function GPIOs (GPIO0..GPIO29), 2x UART, 2x I2C, 2x SPI, 16 PWM channels (8 slices), 4-channel 12-bit ADC, USB 1.1 host/device PHY, and 8 user-programmable I/O state machines (PIO) across two PIO blocks. Flexible system clock up to 133 MHz default.",
    "version": "2.0",
    "part_number": "RP2040",
    "name": "Raspberry Pi RP2040"
  },
  "usage_notes": "Bare-chip dual-core Cortex-M0+ at 133 MHz with 264 KB SRAM. Requires external QSPI flash for user code (no internal flash). Strong PIO subsystem (8 user state machines) makes it especially good for protocols not natively supported (I2S, SK6812 / WS2812 LED data, parallel pixel buses, software USB host). 16 PWM channels (8 slices x A/B) with 8-bit fractional dividers — easily covers 22-25 kHz / 12-bit duty applications. 4-channel 12-bit ADC plus internal temperature sensor; effective ENOB ~9 bits without filtering. USB 1.1 PHY supports both device (BOOTSEL UF2 + user CDC/HID) and host modes. SWD debug via SWCLK (pin 24) / SWDIO (pin 25). Bare-chip BOOTSEL entry is via a pushbutton on QSPI_CS (pin 56), not a dedicated USB_BOOT pin — that pin only exists on board-level products like the Pi Pico.",
  "design_rules": [
    "Tie all six IOVDD pins (1, 10, 22, 33, 42, 49) to the same supply rail (1.8 V or 3.3 V). Mixing rails on IOVDD pins is not supported.",
    "Bypass each supply pin with a 100 nF ceramic close to the pin. Place a 1 uF bulk cap on each rail group.",
    "DVDD (pins 23, 50) must be supplied either by VREG_VOUT (typical) or an external 1.1 V regulator. Keep DVDD within 1.05-1.16 V per datasheet Table 634 (use 1.15 V if running clk_sys at 200 MHz).",
    "Connect the QFN-56 center pad to the PCB ground plane with multiple thermal vias for both heat dissipation and ground reference integrity. This pad is the single external ground connection on the bare chip.",
    "External QSPI flash is mandatory — the RP2040 has no internal flash. Use a flash compatible with the chip's XIP boot ROM (typically Winbond W25Q-series).",
    "Keep VREG_VOUT decoupling close to pin 45 and route to both DVDD pins (23, 50) with low impedance.",
    "Filter ADC_AVDD (pin 43) with a ferrite bead from 3V3 plus 1 uF + 100 nF for best ENOB.",
    "USB_VDD (pin 48) must come from the same 3.3 V rail with its own decoupling; route USB_DP/USB_DM (pins 47/46) as a 90 ohm differential pair with 27 ohm series termination resistors per datasheet §1.4.2.",
    "Tie TESTEN (pin 19) to GND in production designs; floating TESTEN may cause incorrect boot behavior.",
    "To support firmware loading via the USB BOOTSEL UF2 path at the board level, route QSPI_SS_N (pin 56) through a momentary pushbutton-to-GND. Pulling QSPI_CS low during reset forces the boot ROM into UF2 mass-storage mode."
  ],
  "compatibility_notes": "Pin-compatible only with itself (RP2040). The RP2350 successor uses a different package (QFN-60) and is NOT a drop-in replacement. Most RP2040 reference layouts (Pico, Pico W, Adafruit Feather RP2040) are good starting points for new designs.",
  "warnings": [
    "No internal flash. The chip cannot boot or run user code without an external QSPI flash (typically 2-16 MB).",
    "All GPIO are 3.3 V (or 1.8 V) digital — NOT 5 V tolerant. Apply level shifting for 5 V signals.",
    "ADC inputs are clamped to ADC_AVDD; do not exceed ADC_AVDD + 0.3 V or damage may result.",
    "DVDD pins (23, 50) must not be left floating. Connect to VREG_VOUT (typical) or an external 1.1 V supply.",
    "The exposed center pad must be soldered to ground — it is the single external GND connection. Leaving it floating violates ground reference, increases noise, and degrades thermal performance.",
    "USB_VDD must be supplied even if USB is unused; otherwise the USB PHY draws leakage current that may keep the chip from entering low-power states cleanly.",
    "TESTEN (pin 19) must be tied to GND. A floating TESTEN can place the chip in factory test mode and prevent normal boot.",
    "There is no dedicated USB_BOOT pin on the bare RP2040 chip. The board-level BOOTSEL button on the Pi Pico is wired to QSPI_CS (pin 56), not to a separate USB_BOOT pin."
  ],
  "domains": [
    {
      "metadata": {
        "package_type": "QFN-56 (7x7) EP",
        "supports_usb": true,
        "supports_hot_plug": false,
        "max_operating_freq_Hz": 133000000
      },
      "domain": "electrical",
      "power_consumption_mW": 132,
      "power_domains": [
        {
          "voltage_range_V": [
            1.8,
            3.3
          ],
          "name": "IOVDD Digital I/O Supply",
          "id": "iovdd",
          "isolation_type": "non_isolated",
          "nominal_voltage_V": 3.3,
          "description": "Digital I/O ring supply (six pins: 1, 10, 22, 33, 42, 49). Sets logic level for all 30 GPIOs and QSPI flash interface. Typical 3.3 V; 1.8 V supported for low-voltage I/O.",
          "ground_reference": "common",
          "max_current_mA": 50
        },
        {
          "isolation_type": "non_isolated",
          "voltage_range_V": [
            1.05,
            1.16
          ],
          "name": "DVDD Digital Core Supply",
          "id": "dvdd",
          "description": "1.1 V digital core supply (pins 23 and 50). Normally driven by the on-chip core LDO from VREG_VOUT, but can be supplied externally. Per datasheet Table 634, DVDD must be 1.05-1.16 V (typ 1.1 V).",
          "ground_reference": "common",
          "max_current_mA": 100,
          "nominal_voltage_V": 1.1
        },
        {
          "name": "Core LDO Input",
          "id": "vreg_vin",
          "voltage_range_V": [
            1.8,
            3.3
          ],
          "isolation_type": "non_isolated",
          "nominal_voltage_V": 3.3,
          "ground_reference": "common",
          "max_current_mA": 100,
          "description": "VREG_VIN input to the on-chip core voltage regulator (1.8-3.3 V). VREG_VOUT delivers ~1.1 V to DVDD."
        },
        {
          "name": "USB PHY Supply",
          "id": "usb_vdd",
          "voltage_range_V": [
            3.135,
            3.63
          ],
          "isolation_type": "non_isolated",
          "nominal_voltage_V": 3.3,
          "ground_reference": "common",
          "max_current_mA": 30,
          "description": "Dedicated 3.3 V supply for the USB 1.1 PHY (USB_VDD pin 48). Per datasheet Table 634: 3.135-3.63 V (typ 3.3 V). Decouple separately from IOVDD."
        },
        {
          "name": "ADC Analog Supply",
          "id": "adc_avdd",
          "voltage_range_V": [
            1.62,
            3.63
          ],
          "isolation_type": "non_isolated",
          "nominal_voltage_V": 3.3,
          "ground_reference": "common",
          "max_current_mA": 5,
          "description": "Analog supply / reference for the 12-bit ADC (ADC_AVDD pin 43). Per datasheet Table 634: 1.62-3.63 V (typ 3.3 V); ADC performance is compromised below 2.97 V (datasheet §2.9.5). Filter from main 3V3 with ferrite bead to maximize ENOB."
        },
        {
          "isolation_type": "non_isolated",
          "voltage_range_V": [
            0,
            0
          ],
          "name": "Ground",
          "id": "gnd",
          "description": "Common ground via the QFN-56 exposed thermal pad (center). Single external ground connection per datasheet §1.4.2; bonded to a number of internal ground pads on the RP2040 die.",
          "ground_reference": "common",
          "max_current_mA": 1000,
          "nominal_voltage_V": 0
        }
      ],
      "pin_count": 56,
      "supply_voltage_V": [
        1.8,
        3.3
      ],
      "interfaces": [
        {
          "description": "Digital I/O ring supply input — six pins (1, 10, 22, 33, 42, 49), all tied to the same 1.8-3.3 V rail (typical 3.3 V). Ground return is handled by the separate Ground interface.",
          "protocol": {
            "role": "input",
            "type": "power"
          },
          "name": "IOVDD Power",
          "id": "power_in_iovdd",
          "requires": [
            {
              "function": "VDDIO_IN",
              "count": 6
            }
          ]
        },
        {
          "protocol": {
            "role": "input",
            "type": "power"
          },
          "name": "DVDD Core Power",
          "id": "power_in_dvdd",
          "requires": [
            {
              "function": "VDD_IN",
              "count": 2
            }
          ],
          "description": "1.1 V digital core supply input — two pins (23, 50), both tied together. Normally fed from VREG_VOUT (on-chip LDO). Ground return is handled by the separate Ground interface."
        },
        {
          "description": "On-chip core voltage regulator. VREG_VIN (pin 44) accepts 1.8-3.3 V and VREG_VOUT (pin 45) delivers ~1.1 V at up to 100 mA. Externally route VREG_VOUT to both DVDD pins (23, 50). Ground return is handled by the separate Ground interface.",
          "protocol": {
            "role": [
              "input",
              "output"
            ],
            "type": "power"
          },
          "name": "LDO",
          "id": "ldo",
          "requires": [
            {
              "function": "VIN",
              "count": 1
            },
            {
              "count": 1,
              "function": "power_output"
            }
          ]
        },
        {
          "description": "Dedicated 3.3 V supply for the integrated USB 1.1 PHY (pin 48). Ground return is handled by the separate Ground interface.",
          "requires": [
            {
              "count": 1,
              "function": "USB_VDD_IN"
            }
          ],
          "protocol": {
            "role": "input",
            "type": "power"
          },
          "name": "USB PHY Power",
          "id": "power_in_usb_vdd"
        },
        {
          "requires": [
            {
              "count": 1,
              "function": "AVDD_IN"
            }
          ],
          "name": "ADC Power",
          "id": "power_in_adc_avdd",
          "protocol": {
            "role": "input",
            "type": "power"
          },
          "description": "Analog supply / reference for the 12-bit ADC (pin 43). Ground return is handled by the separate Ground interface."
        },
        {
          "requires": [
            {
              "function": "GROUND",
              "count": 1
            }
          ],
          "protocol": {
            "role": "input",
            "type": "power"
          },
          "name": "Ground",
          "id": "ground",
          "description": "Common ground reference for the entire chip. Provided externally via the QFN-56 exposed center thermal pad, which is bonded internally to all die ground pads. Serves as the return path for every power-input rail and the LDO."
        },
        {
          "name": "GPIO",
          "id": "gpio",
          "protocol": {
            "role": "peer",
            "type": "digital"
          },
          "requires": [
            {
              "count": 1,
              "function": "digital_io"
            }
          ],
          "description": "Generic 3.3 V (or 1.8 V if IOVDD = 1.8) bidirectional GPIO. 30 GPIOs available (GPIO0..GPIO29)."
        },
        {
          "requires": [
            {
              "count": 1,
              "function": "analog_input"
            }
          ],
          "protocol": {
            "role": "input",
            "type": "analog"
          },
          "name": "ADC",
          "id": "adc_in",
          "description": "12-bit successive-approximation ADC input. 4 user channels on GPIO26..GPIO29 (pins 38-41)."
        },
        {
          "description": "SPI controller 0 (PL022, datasheet §4.4). Up to ~62.5 Mbps (sysclk/2). Pins muxed via F1 per datasheet Table 2.",
          "constraints": {
            "max_lane_rate_mbps": 62,
            "requires_matching_voltage_domain": true
          },
          "protocol": {
            "role": "master",
            "type": "spi"
          },
          "name": "SPI 0",
          "id": "spi_0",
          "requires": [
            {
              "function": "SPI0_SCK",
              "count": 1
            },
            {
              "function": "SPI0_TX",
              "count": 1
            },
            {
              "function": "SPI0_RX",
              "count": 1
            },
            {
              "function": "SPI0_CSn",
              "count": 1
            }
          ]
        },
        {
          "description": "SPI controller 1 (PL022, datasheet §4.4). Up to ~62.5 Mbps (sysclk/2). Pins muxed via F1 per datasheet Table 2.",
          "requires": [
            {
              "function": "SPI1_SCK",
              "count": 1
            },
            {
              "function": "SPI1_TX",
              "count": 1
            },
            {
              "count": 1,
              "function": "SPI1_RX"
            },
            {
              "function": "SPI1_CSn",
              "count": 1
            }
          ],
          "name": "SPI 1",
          "id": "spi_1",
          "constraints": {
            "max_lane_rate_mbps": 62,
            "requires_matching_voltage_domain": true
          },
          "protocol": {
            "role": "master",
            "type": "spi"
          }
        },
        {
          "name": "UART 0",
          "id": "uart_0",
          "protocol": {
            "role": [
              "transmitter",
              "receiver"
            ],
            "type": "uart"
          },
          "requires": [
            {
              "count": 1,
              "function": "UART0_TX"
            },
            {
              "function": "UART0_RX",
              "count": 1
            }
          ],
          "description": "UART 0 (PL011, datasheet §4.2). Optional hardware flow control via UART0_CTS / UART0_RTS on the corresponding F2 pins."
        },
        {
          "description": "UART 1 (PL011, datasheet §4.2). Optional hardware flow control via UART1_CTS / UART1_RTS on the corresponding F2 pins.",
          "requires": [
            {
              "function": "UART1_TX",
              "count": 1
            },
            {
              "function": "UART1_RX",
              "count": 1
            }
          ],
          "name": "UART 1",
          "id": "uart_1",
          "protocol": {
            "role": [
              "transmitter",
              "receiver"
            ],
            "type": "uart"
          }
        },
        {
          "requires": [
            {
              "function": "I2C0_SDA",
              "count": 1
            },
            {
              "count": 1,
              "function": "I2C0_SCL"
            }
          ],
          "constraints": {
            "requires_matching_voltage_domain": true
          },
          "protocol": {
            "role": "master",
            "type": "i2c"
          },
          "name": "I2C 0 (Master)",
          "id": "i2c_0_master",
          "description": "I2C controller 0 in master mode (DW_apb_i2c, datasheet §4.3). Supports standard, fast, and fast-mode plus speeds."
        },
        {
          "requires": [
            {
              "count": 1,
              "function": "I2C0_SDA"
            },
            {
              "function": "I2C0_SCL",
              "count": 1
            }
          ],
          "name": "I2C 0 (Slave)",
          "id": "i2c_0_slave",
          "constraints": {
            "requires_matching_voltage_domain": true
          },
          "protocol": {
            "role": "slave",
            "type": "i2c"
          },
          "description": "I2C controller 0 in slave mode (DW_apb_i2c, datasheet §4.3). Supports standard, fast, and fast-mode plus speeds."
        },
        {
          "requires": [
            {
              "function": "I2C1_SDA",
              "count": 1
            },
            {
              "count": 1,
              "function": "I2C1_SCL"
            }
          ],
          "constraints": {
            "requires_matching_voltage_domain": true
          },
          "protocol": {
            "role": "master",
            "type": "i2c"
          },
          "name": "I2C 1 (Master)",
          "id": "i2c_1_master",
          "description": "I2C controller 1 in master mode (DW_apb_i2c, datasheet §4.3). Supports standard, fast, and fast-mode plus speeds."
        },
        {
          "constraints": {
            "requires_matching_voltage_domain": true
          },
          "protocol": {
            "role": "slave",
            "type": "i2c"
          },
          "name": "I2C 1 (Slave)",
          "id": "i2c_1_slave",
          "requires": [
            {
              "function": "I2C1_SDA",
              "count": 1
            },
            {
              "count": 1,
              "function": "I2C1_SCL"
            }
          ],
          "description": "I2C controller 1 in slave mode (DW_apb_i2c, datasheet §4.3). Supports standard, fast, and fast-mode plus speeds."
        },
        {
          "description": "PWM controller (datasheet §4.5). 16 channels arranged as 8 slices × 2 channels (A/B). Each slice has an independent counter with 8-bit fractional divider; channels A and B share the counter but have independent compare registers. The B channel can also serve as a frequency / duty-cycle measurement input. Allocate this interface to any GPIO; the per-pin specific PWM channel function (PWM0_A through PWM7_B) identifies which slice/channel the F4 mux selects on that pin.",
          "requires": [
            {
              "function": "pwm_out",
              "count": 1
            }
          ],
          "protocol": {
            "role": "transmitter",
            "type": "digital"
          },
          "name": "PWM",
          "id": "pwm"
        },
        {
          "name": "NeoPixel / WS2812B LED Control",
          "id": "ws2812",
          "protocol": {
            "role": "transmitter",
            "type": "digital"
          },
          "requires": [
            {
              "function": "digital_io",
              "count": 1
            }
          ],
          "description": "WS2812 / NeoPixel-family LED data line driver implemented via a PIO state machine (datasheet §3.6.2 'WS2812 LEDs'). One bank-0 GPIO drives a daisy-chain of LEDs using the canonical ~800 kbit/s NRZ wire protocol; bit timing is held in the PIO program. Any GPIO0..GPIO29 can serve as the data pin."
        },
        {
          "requires": [
            {
              "function": "QSPI_SCLK",
              "count": 1
            },
            {
              "count": 1,
              "function": "QSPI_SS_N"
            },
            {
              "count": 1,
              "function": "QSPI_SD0"
            },
            {
              "function": "QSPI_SD1",
              "count": 1
            },
            {
              "count": 1,
              "function": "QSPI_SD2"
            },
            {
              "function": "QSPI_SD3",
              "count": 1
            }
          ],
          "name": "Quad-SPI",
          "id": "qspi_flash",
          "constraints": {
            "requires_matching_voltage_domain": true
          },
          "protocol": {
            "role": "master",
            "type": "spi"
          },
          "description": "Dedicated QSPI controller for execute-in-place from external flash. Up to ~133 Mbps in QSPI quad-SDR mode. Pins QSPI_SCLK (52), QSPI_SS_N (56), QSPI_SD0..SD3 (53, 55, 54, 51). The chip cannot run user code without this flash."
        },
        {
          "name": "USB 1.1 Device",
          "id": "usb_device",
          "protocol": {
            "role": "device",
            "type": "usb"
          },
          "requires": [
            {
              "count": 1,
              "function": "usb_dp"
            },
            {
              "count": 1,
              "function": "usb_dm"
            }
          ],
          "description": "Built-in USB 1.1 PHY operating as either device or host. In device mode used for the BOOTSEL UF2 mass-storage interface and user firmware CDC/HID."
        },
        {
          "requires": [
            {
              "count": 1,
              "function": "usb_dp"
            },
            {
              "count": 1,
              "function": "usb_dm"
            }
          ],
          "protocol": {
            "role": "host",
            "type": "usb"
          },
          "name": "USB 1.1 Host",
          "id": "usb_host",
          "description": "USB 1.1 host mode (full-speed only, software stack required)."
        },
        {
          "description": "USB VBUS detection input via GPIO F9 mux (USB_VBUS_DET). Read this signal to know when the USB host is providing bus power. Available on GPIO1, 4, 7, 10, 13, 16, 19, 22, 25, 28 per datasheet Table 2.",
          "requires": [
            {
              "count": 1,
              "function": "USB_VBUS_DET"
            }
          ],
          "protocol": {
            "role": "input",
            "type": "digital"
          },
          "name": "USB VBUS Detect",
          "id": "usb_vbus_detect"
        },
        {
          "description": "USB VBUS enable output via GPIO F9 mux (USB_VBUS_EN). Drives an external USB host power switch (e.g. TPS2051) in host mode. Available on GPIO2, 5, 8, 11, 14, 17, 20, 23, 26, 29 per datasheet Table 2.",
          "name": "USB VBUS Enable",
          "id": "usb_vbus_enable",
          "protocol": {
            "role": "output",
            "type": "digital"
          },
          "requires": [
            {
              "function": "USB_VBUS_EN",
              "count": 1
            }
          ]
        },
        {
          "description": "USB over-current detection input via GPIO F9 mux (USB_OVCUR_DET). Reads the active-low overcurrent flag from an external USB power switch in host mode. Available on GPIO0, 3, 6, 9, 12, 15, 18, 21, 24, 27 per datasheet Table 2.",
          "requires": [
            {
              "count": 1,
              "function": "USB_OVCUR_DET"
            }
          ],
          "protocol": {
            "role": "input",
            "type": "digital"
          },
          "name": "USB Over-current Detect",
          "id": "usb_overcurrent_detect"
        },
        {
          "protocol": {
            "role": "input",
            "type": "digital"
          },
          "name": "Clock GP Input",
          "id": "clock_gp_input",
          "requires": [
            {
              "count": 1,
              "function": "CLOCK_GPIN"
            }
          ],
          "description": "General-purpose clock input from a GPIO (datasheet §1.4.3 Table 3, §2.15.2). Routes an external clock signal into the chip's clocks block as an alternative reference (e.g. to drive clk_ref or feed the frequency counter). Two GPIN slots are available via the F8 mux: CLOCK_GPIN0 on GPIO20 (pin 31) and CLOCK_GPIN1 on GPIO22 (pin 34). The per-pin specific function name identifies which GPIN slot a chosen pin maps to."
        },
        {
          "description": "General-purpose clock output to a GPIO (datasheet §1.4.3 Table 3, §2.15.2). Drives any selected internal clock (PLL outputs, clk_sys, etc.) onto a GPIO with optional integer divide, for use by other parts. Four GPOUT slots are available via the F8 mux: CLOCK_GPOUT0 on GPIO21 (pin 32), CLOCK_GPOUT1 on GPIO23 (pin 35), CLOCK_GPOUT2 on GPIO24 (pin 36), CLOCK_GPOUT3 on GPIO25 (pin 37). The per-pin specific function name identifies which GPOUT slot a chosen pin maps to.",
          "protocol": {
            "role": "output",
            "type": "digital"
          },
          "name": "Clock GP Output",
          "id": "clock_gp_output",
          "requires": [
            {
              "function": "CLOCK_GPOUT",
              "count": 1
            }
          ]
        },
        {
          "requires": [
            {
              "function": "XIN",
              "count": 1
            },
            {
              "count": 1,
              "function": "XOUT"
            }
          ],
          "protocol": {
            "role": "host",
            "type": "digital"
          },
          "name": "External Crystal Oscillator",
          "id": "crystal_oscillator",
          "description": "Pierce-type crystal oscillator (XOSC, datasheet §2.16). XIN (pin 20) and XOUT (pin 21) form the inverter terminals of an on-chip Pierce circuit driving an external crystal with two load capacitors to ground. The USB bootloader requires a 12 MHz crystal (or 12 MHz CMOS clock driven into XIN with XOUT left open, per §1.4.2 / §2.16.2). Drives clk_ref / the PLLs."
        },
        {
          "description": "Serial Wire Debug interface to both Cortex-M0+ cores (datasheet §2.3.4 Debug; pin descriptions Table 1). Dedicated multi-drop SWD bus on SWCLK (pin 24) and SWDIO (pin 25), each with internal pull-up at reset (PADS_BANK0:SWCLK PUE=1/PDE=0). Used for debugging and to download code over the bus.",
          "requires": [
            {
              "count": 1,
              "function": "SWCLK"
            },
            {
              "count": 1,
              "function": "SWDIO"
            }
          ],
          "protocol": {
            "role": "target",
            "type": "digital"
          },
          "name": "SWD",
          "id": "swd"
        },
        {
          "protocol": {
            "role": "input",
            "type": "digital"
          },
          "name": "RUN Reset",
          "id": "reset_input",
          "requires": [
            {
              "count": 1,
              "function": "RESET"
            }
          ],
          "description": "Active-low RUN pin (pin 26). Drive low to hold RP2040 in reset; has internal pull-up so can be left unconnected or tied to IOVDD for autonomous power-on reset."
        }
      ],
      "resources": [
        {
          "power_domain_id": "iovdd",
          "description": "IOVDD - Digital I/O ring supply (1 of 6). 1.8 V or 3.3 V (typical 3.3 V).",
          "name": "Pin 1",
          "id": "pin_1",
          "connector_type": "pad",
          "functions": [
            {
              "direction": "sink",
              "shareable_with": [],
              "name": "VDDIO_IN",
              "signal_class": "power"
            }
          ]
        },
        {
          "description": "SPI0_RX / UART0_TX / I2C0_SDA / PWM0_A / SIO / PIO0 / PIO1 / USB_OVCUR_DET",
          "power_domain_id": "iovdd",
          "name": "Pin 2",
          "id": "pin_2",
          "connector_type": "pad",
          "functions": [
            {
              "signal_class": "data",
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "digital_io"
            },
            {
              "signal_class": "data",
              "direction": "sink",
              "shareable_with": [],
              "name": "SPI0_RX"
            },
            {
              "shareable_with": [],
              "name": "UART0_TX",
              "direction": "source",
              "signal_class": "data"
            },
            {
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "I2C0_SDA",
              "signal_class": "data"
            },
            {
              "signal_class": "data",
              "direction": "source",
              "shareable_with": [],
              "name": "PWM0_A"
            },
            {
              "signal_class": "sense",
              "shareable_with": [],
              "name": "USB_OVCUR_DET",
              "direction": "sink"
            },
            {
              "signal_class": "data",
              "direction": "source",
              "shareable_with": [],
              "name": "pwm_out"
            },
            {
              "signal_class": "data",
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "SIO"
            },
            {
              "shareable_with": [],
              "name": "PIO0",
              "direction": "bidirectional",
              "signal_class": "data"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "PIO1",
              "direction": "bidirectional"
            }
          ]
        },
        {
          "connector_type": "pad",
          "functions": [
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "digital_io",
              "direction": "bidirectional"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "SPI0_CSn",
              "direction": "source"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "UART0_RX",
              "direction": "sink"
            },
            {
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "I2C0_SCL",
              "signal_class": "clock"
            },
            {
              "shareable_with": [],
              "name": "PWM0_B",
              "direction": "source",
              "signal_class": "data"
            },
            {
              "signal_class": "sense",
              "shareable_with": [],
              "name": "USB_VBUS_DET",
              "direction": "sink"
            },
            {
              "signal_class": "data",
              "direction": "source",
              "shareable_with": [],
              "name": "pwm_out"
            },
            {
              "shareable_with": [],
              "name": "SIO",
              "direction": "bidirectional",
              "signal_class": "data"
            },
            {
              "shareable_with": [],
              "name": "PIO0",
              "direction": "bidirectional",
              "signal_class": "data"
            },
            {
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "PIO1",
              "signal_class": "data"
            }
          ],
          "name": "Pin 3",
          "id": "pin_3",
          "description": "SPI0_CSn / UART0_RX / I2C0_SCL / PWM0_B / SIO / PIO0 / PIO1 / USB_VBUS_DET",
          "power_domain_id": "iovdd"
        },
        {
          "power_domain_id": "iovdd",
          "description": "SPI0_SCK / UART0_CTS / I2C1_SDA / PWM1_A / SIO / PIO0 / PIO1 / USB_VBUS_EN",
          "name": "Pin 4",
          "id": "pin_4",
          "connector_type": "pad",
          "functions": [
            {
              "signal_class": "data",
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "digital_io"
            },
            {
              "signal_class": "clock",
              "shareable_with": [],
              "name": "SPI0_SCK",
              "direction": "source"
            },
            {
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "I2C1_SDA",
              "signal_class": "data"
            },
            {
              "direction": "source",
              "shareable_with": [],
              "name": "PWM1_A",
              "signal_class": "data"
            },
            {
              "signal_class": "data",
              "direction": "sink",
              "shareable_with": [],
              "name": "UART0_CTS"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "USB_VBUS_EN",
              "direction": "source"
            },
            {
              "shareable_with": [],
              "name": "pwm_out",
              "direction": "source",
              "signal_class": "data"
            },
            {
              "signal_class": "data",
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "SIO"
            },
            {
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "PIO0",
              "signal_class": "data"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "PIO1",
              "direction": "bidirectional"
            }
          ]
        },
        {
          "power_domain_id": "iovdd",
          "description": "SPI0_TX / UART0_RTS / I2C1_SCL / PWM1_B / SIO / PIO0 / PIO1 / USB_OVCUR_DET",
          "connector_type": "pad",
          "functions": [
            {
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "digital_io",
              "signal_class": "data"
            },
            {
              "shareable_with": [],
              "name": "SPI0_TX",
              "direction": "source",
              "signal_class": "data"
            },
            {
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "I2C1_SCL",
              "signal_class": "clock"
            },
            {
              "direction": "source",
              "shareable_with": [],
              "name": "PWM1_B",
              "signal_class": "data"
            },
            {
              "signal_class": "data",
              "direction": "source",
              "shareable_with": [],
              "name": "UART0_RTS"
            },
            {
              "signal_class": "sense",
              "direction": "sink",
              "shareable_with": [],
              "name": "USB_OVCUR_DET"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "pwm_out",
              "direction": "source"
            },
            {
              "shareable_with": [],
              "name": "SIO",
              "direction": "bidirectional",
              "signal_class": "data"
            },
            {
              "shareable_with": [],
              "name": "PIO0",
              "direction": "bidirectional",
              "signal_class": "data"
            },
            {
              "signal_class": "data",
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "PIO1"
            }
          ],
          "name": "Pin 5",
          "id": "pin_5"
        },
        {
          "name": "Pin 6",
          "id": "pin_6",
          "connector_type": "pad",
          "functions": [
            {
              "shareable_with": [],
              "name": "digital_io",
              "direction": "bidirectional",
              "signal_class": "data"
            },
            {
              "direction": "sink",
              "shareable_with": [],
              "name": "SPI0_RX",
              "signal_class": "data"
            },
            {
              "shareable_with": [],
              "name": "UART1_TX",
              "direction": "source",
              "signal_class": "data"
            },
            {
              "shareable_with": [],
              "name": "I2C0_SDA",
              "direction": "bidirectional",
              "signal_class": "data"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "PWM2_A",
              "direction": "source"
            },
            {
              "signal_class": "sense",
              "shareable_with": [],
              "name": "USB_VBUS_DET",
              "direction": "sink"
            },
            {
              "signal_class": "data",
              "direction": "source",
              "shareable_with": [],
              "name": "pwm_out"
            },
            {
              "shareable_with": [],
              "name": "SIO",
              "direction": "bidirectional",
              "signal_class": "data"
            },
            {
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "PIO0",
              "signal_class": "data"
            },
            {
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "PIO1",
              "signal_class": "data"
            }
          ],
          "description": "SPI0_RX / UART1_TX / I2C0_SDA / PWM2_A / SIO / PIO0 / PIO1 / USB_VBUS_DET",
          "power_domain_id": "iovdd"
        },
        {
          "name": "Pin 7",
          "id": "pin_7",
          "connector_type": "pad",
          "functions": [
            {
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "digital_io",
              "signal_class": "data"
            },
            {
              "shareable_with": [],
              "name": "SPI0_CSn",
              "direction": "source",
              "signal_class": "data"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "UART1_RX",
              "direction": "sink"
            },
            {
              "shareable_with": [],
              "name": "I2C0_SCL",
              "direction": "bidirectional",
              "signal_class": "clock"
            },
            {
              "direction": "source",
              "shareable_with": [],
              "name": "PWM2_B",
              "signal_class": "data"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "USB_VBUS_EN",
              "direction": "source"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "pwm_out",
              "direction": "source"
            },
            {
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "SIO",
              "signal_class": "data"
            },
            {
              "signal_class": "data",
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "PIO0"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "PIO1",
              "direction": "bidirectional"
            }
          ],
          "description": "SPI0_CSn / UART1_RX / I2C0_SCL / PWM2_B / SIO / PIO0 / PIO1 / USB_VBUS_EN",
          "power_domain_id": "iovdd"
        },
        {
          "connector_type": "pad",
          "functions": [
            {
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "digital_io",
              "signal_class": "data"
            },
            {
              "signal_class": "clock",
              "shareable_with": [],
              "name": "SPI0_SCK",
              "direction": "source"
            },
            {
              "signal_class": "data",
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "I2C1_SDA"
            },
            {
              "direction": "source",
              "shareable_with": [],
              "name": "PWM3_A",
              "signal_class": "data"
            },
            {
              "signal_class": "data",
              "direction": "sink",
              "shareable_with": [],
              "name": "UART1_CTS"
            },
            {
              "shareable_with": [],
              "name": "USB_OVCUR_DET",
              "direction": "sink",
              "signal_class": "sense"
            },
            {
              "signal_class": "data",
              "direction": "source",
              "shareable_with": [],
              "name": "pwm_out"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "SIO",
              "direction": "bidirectional"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "PIO0",
              "direction": "bidirectional"
            },
            {
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "PIO1",
              "signal_class": "data"
            }
          ],
          "name": "Pin 8",
          "id": "pin_8",
          "power_domain_id": "iovdd",
          "description": "SPI0_SCK / UART1_CTS / I2C1_SDA / PWM3_A / SIO / PIO0 / PIO1 / USB_OVCUR_DET"
        },
        {
          "connector_type": "pad",
          "functions": [
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "digital_io",
              "direction": "bidirectional"
            },
            {
              "signal_class": "data",
              "direction": "source",
              "shareable_with": [],
              "name": "SPI0_TX"
            },
            {
              "shareable_with": [],
              "name": "I2C1_SCL",
              "direction": "bidirectional",
              "signal_class": "clock"
            },
            {
              "signal_class": "data",
              "direction": "source",
              "shareable_with": [],
              "name": "PWM3_B"
            },
            {
              "shareable_with": [],
              "name": "UART1_RTS",
              "direction": "source",
              "signal_class": "data"
            },
            {
              "signal_class": "sense",
              "direction": "sink",
              "shareable_with": [],
              "name": "USB_VBUS_DET"
            },
            {
              "signal_class": "data",
              "direction": "source",
              "shareable_with": [],
              "name": "pwm_out"
            },
            {
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "SIO",
              "signal_class": "data"
            },
            {
              "shareable_with": [],
              "name": "PIO0",
              "direction": "bidirectional",
              "signal_class": "data"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "PIO1",
              "direction": "bidirectional"
            }
          ],
          "name": "Pin 9",
          "id": "pin_9",
          "power_domain_id": "iovdd",
          "description": "SPI0_TX / UART1_RTS / I2C1_SCL / PWM3_B / SIO / PIO0 / PIO1 / USB_VBUS_DET"
        },
        {
          "description": "IOVDD - Digital I/O ring supply (2 of 6).",
          "power_domain_id": "iovdd",
          "name": "Pin 10",
          "id": "pin_10",
          "connector_type": "pad",
          "functions": [
            {
              "direction": "sink",
              "shareable_with": [],
              "name": "VDDIO_IN",
              "signal_class": "power"
            }
          ]
        },
        {
          "connector_type": "pad",
          "functions": [
            {
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "digital_io",
              "signal_class": "data"
            },
            {
              "direction": "sink",
              "shareable_with": [],
              "name": "SPI1_RX",
              "signal_class": "data"
            },
            {
              "signal_class": "data",
              "direction": "source",
              "shareable_with": [],
              "name": "UART1_TX"
            },
            {
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "I2C0_SDA",
              "signal_class": "data"
            },
            {
              "shareable_with": [],
              "name": "PWM4_A",
              "direction": "source",
              "signal_class": "data"
            },
            {
              "direction": "source",
              "shareable_with": [],
              "name": "USB_VBUS_EN",
              "signal_class": "data"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "pwm_out",
              "direction": "source"
            },
            {
              "shareable_with": [],
              "name": "SIO",
              "direction": "bidirectional",
              "signal_class": "data"
            },
            {
              "shareable_with": [],
              "name": "PIO0",
              "direction": "bidirectional",
              "signal_class": "data"
            },
            {
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "PIO1",
              "signal_class": "data"
            }
          ],
          "name": "Pin 11",
          "id": "pin_11",
          "description": "SPI1_RX / UART1_TX / I2C0_SDA / PWM4_A / SIO / PIO0 / PIO1 / USB_VBUS_EN",
          "power_domain_id": "iovdd"
        },
        {
          "name": "Pin 12",
          "id": "pin_12",
          "connector_type": "pad",
          "functions": [
            {
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "digital_io",
              "signal_class": "data"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "SPI1_CSn",
              "direction": "source"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "UART1_RX",
              "direction": "sink"
            },
            {
              "shareable_with": [],
              "name": "I2C0_SCL",
              "direction": "bidirectional",
              "signal_class": "clock"
            },
            {
              "signal_class": "data",
              "direction": "source",
              "shareable_with": [],
              "name": "PWM4_B"
            },
            {
              "signal_class": "sense",
              "direction": "sink",
              "shareable_with": [],
              "name": "USB_OVCUR_DET"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "pwm_out",
              "direction": "source"
            },
            {
              "shareable_with": [],
              "name": "SIO",
              "direction": "bidirectional",
              "signal_class": "data"
            },
            {
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "PIO0",
              "signal_class": "data"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "PIO1",
              "direction": "bidirectional"
            }
          ],
          "description": "SPI1_CSn / UART1_RX / I2C0_SCL / PWM4_B / SIO / PIO0 / PIO1 / USB_OVCUR_DET",
          "power_domain_id": "iovdd"
        },
        {
          "connector_type": "pad",
          "functions": [
            {
              "shareable_with": [],
              "name": "digital_io",
              "direction": "bidirectional",
              "signal_class": "data"
            },
            {
              "signal_class": "clock",
              "direction": "source",
              "shareable_with": [],
              "name": "SPI1_SCK"
            },
            {
              "signal_class": "data",
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "I2C1_SDA"
            },
            {
              "shareable_with": [],
              "name": "PWM5_A",
              "direction": "source",
              "signal_class": "data"
            },
            {
              "signal_class": "data",
              "direction": "sink",
              "shareable_with": [],
              "name": "UART1_CTS"
            },
            {
              "shareable_with": [],
              "name": "USB_VBUS_DET",
              "direction": "sink",
              "signal_class": "sense"
            },
            {
              "signal_class": "data",
              "direction": "source",
              "shareable_with": [],
              "name": "pwm_out"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "SIO",
              "direction": "bidirectional"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "PIO0",
              "direction": "bidirectional"
            },
            {
              "signal_class": "data",
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "PIO1"
            }
          ],
          "name": "Pin 13",
          "id": "pin_13",
          "power_domain_id": "iovdd",
          "description": "SPI1_SCK / UART1_CTS / I2C1_SDA / PWM5_A / SIO / PIO0 / PIO1 / USB_VBUS_DET"
        },
        {
          "connector_type": "pad",
          "functions": [
            {
              "shareable_with": [],
              "name": "digital_io",
              "direction": "bidirectional",
              "signal_class": "data"
            },
            {
              "direction": "source",
              "shareable_with": [],
              "name": "SPI1_TX",
              "signal_class": "data"
            },
            {
              "shareable_with": [],
              "name": "I2C1_SCL",
              "direction": "bidirectional",
              "signal_class": "clock"
            },
            {
              "direction": "source",
              "shareable_with": [],
              "name": "PWM5_B",
              "signal_class": "data"
            },
            {
              "shareable_with": [],
              "name": "UART1_RTS",
              "direction": "source",
              "signal_class": "data"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "USB_VBUS_EN",
              "direction": "source"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "pwm_out",
              "direction": "source"
            },
            {
              "signal_class": "data",
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "SIO"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "PIO0",
              "direction": "bidirectional"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "PIO1",
              "direction": "bidirectional"
            }
          ],
          "name": "Pin 14",
          "id": "pin_14",
          "description": "SPI1_TX / UART1_RTS / I2C1_SCL / PWM5_B / SIO / PIO0 / PIO1 / USB_VBUS_EN",
          "power_domain_id": "iovdd"
        },
        {
          "power_domain_id": "iovdd",
          "description": "SPI1_RX / UART0_TX / I2C0_SDA / PWM6_A / SIO / PIO0 / PIO1 / USB_OVCUR_DET",
          "name": "Pin 15",
          "id": "pin_15",
          "connector_type": "pad",
          "functions": [
            {
              "shareable_with": [],
              "name": "digital_io",
              "direction": "bidirectional",
              "signal_class": "data"
            },
            {
              "signal_class": "data",
              "direction": "sink",
              "shareable_with": [],
              "name": "SPI1_RX"
            },
            {
              "shareable_with": [],
              "name": "UART0_TX",
              "direction": "source",
              "signal_class": "data"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "I2C0_SDA",
              "direction": "bidirectional"
            },
            {
              "direction": "source",
              "shareable_with": [],
              "name": "PWM6_A",
              "signal_class": "data"
            },
            {
              "shareable_with": [],
              "name": "USB_OVCUR_DET",
              "direction": "sink",
              "signal_class": "sense"
            },
            {
              "signal_class": "data",
              "direction": "source",
              "shareable_with": [],
              "name": "pwm_out"
            },
            {
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "SIO",
              "signal_class": "data"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "PIO0",
              "direction": "bidirectional"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "PIO1",
              "direction": "bidirectional"
            }
          ]
        },
        {
          "connector_type": "pad",
          "functions": [
            {
              "signal_class": "data",
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "digital_io"
            },
            {
              "shareable_with": [],
              "name": "SPI1_CSn",
              "direction": "source",
              "signal_class": "data"
            },
            {
              "shareable_with": [],
              "name": "UART0_RX",
              "direction": "sink",
              "signal_class": "data"
            },
            {
              "signal_class": "clock",
              "shareable_with": [],
              "name": "I2C0_SCL",
              "direction": "bidirectional"
            },
            {
              "shareable_with": [],
              "name": "PWM6_B",
              "direction": "source",
              "signal_class": "data"
            },
            {
              "direction": "sink",
              "shareable_with": [],
              "name": "USB_VBUS_DET",
              "signal_class": "sense"
            },
            {
              "direction": "source",
              "shareable_with": [],
              "name": "pwm_out",
              "signal_class": "data"
            },
            {
              "signal_class": "data",
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "SIO"
            },
            {
              "signal_class": "data",
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "PIO0"
            },
            {
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "PIO1",
              "signal_class": "data"
            }
          ],
          "name": "Pin 16",
          "id": "pin_16",
          "power_domain_id": "iovdd",
          "description": "SPI1_CSn / UART0_RX / I2C0_SCL / PWM6_B / SIO / PIO0 / PIO1 / USB_VBUS_DET"
        },
        {
          "name": "Pin 17",
          "id": "pin_17",
          "connector_type": "pad",
          "functions": [
            {
              "signal_class": "data",
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "digital_io"
            },
            {
              "signal_class": "clock",
              "shareable_with": [],
              "name": "SPI1_SCK",
              "direction": "source"
            },
            {
              "signal_class": "data",
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "I2C1_SDA"
            },
            {
              "direction": "source",
              "shareable_with": [],
              "name": "PWM7_A",
              "signal_class": "data"
            },
            {
              "signal_class": "data",
              "direction": "sink",
              "shareable_with": [],
              "name": "UART0_CTS"
            },
            {
              "signal_class": "data",
              "direction": "source",
              "shareable_with": [],
              "name": "USB_VBUS_EN"
            },
            {
              "shareable_with": [],
              "name": "pwm_out",
              "direction": "source",
              "signal_class": "data"
            },
            {
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "SIO",
              "signal_class": "data"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "PIO0",
              "direction": "bidirectional"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "PIO1",
              "direction": "bidirectional"
            }
          ],
          "description": "SPI1_SCK / UART0_CTS / I2C1_SDA / PWM7_A / SIO / PIO0 / PIO1 / USB_VBUS_EN",
          "power_domain_id": "iovdd"
        },
        {
          "power_domain_id": "iovdd",
          "description": "SPI1_TX / UART0_RTS / I2C1_SCL / PWM7_B / SIO / PIO0 / PIO1 / USB_OVCUR_DET",
          "name": "Pin 18",
          "id": "pin_18",
          "connector_type": "pad",
          "functions": [
            {
              "signal_class": "data",
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "digital_io"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "SPI1_TX",
              "direction": "source"
            },
            {
              "signal_class": "clock",
              "shareable_with": [],
              "name": "I2C1_SCL",
              "direction": "bidirectional"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "PWM7_B",
              "direction": "source"
            },
            {
              "shareable_with": [],
              "name": "UART0_RTS",
              "direction": "source",
              "signal_class": "data"
            },
            {
              "signal_class": "sense",
              "shareable_with": [],
              "name": "USB_OVCUR_DET",
              "direction": "sink"
            },
            {
              "signal_class": "data",
              "direction": "source",
              "shareable_with": [],
              "name": "pwm_out"
            },
            {
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "SIO",
              "signal_class": "data"
            },
            {
              "shareable_with": [],
              "name": "PIO0",
              "direction": "bidirectional",
              "signal_class": "data"
            },
            {
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "PIO1",
              "signal_class": "data"
            }
          ]
        },
        {
          "name": "Pin 19",
          "id": "pin_19",
          "connector_type": "pad",
          "functions": [
            {
              "direction": "sink",
              "shareable_with": [],
              "name": "digital_input",
              "signal_class": "data"
            }
          ],
          "description": "TESTEN - Factory test enable pin (Digital In, IOVDD bank, internal pull-down at reset per datasheet Table 619). Must be tied externally to GND in production use, otherwise the chip can enter factory test mode and fail to boot. Not a ground source.",
          "power_domain_id": "iovdd"
        },
        {
          "connector_type": "pad",
          "functions": [
            {
              "signal_class": "clock",
              "shareable_with": [],
              "name": "digital_input",
              "direction": "sink"
            },
            {
              "signal_class": "clock",
              "shareable_with": [],
              "name": "XIN",
              "direction": "sink"
            }
          ],
          "name": "Pin 20",
          "id": "pin_20",
          "power_domain_id": "iovdd",
          "description": "XIN - Crystal oscillator input. Connect 12 MHz crystal between XIN/XOUT with load capacitors, or drive XIN with a single-ended CMOS clock (XOUT disconnected). USB bootloader requires 12 MHz."
        },
        {
          "connector_type": "pad",
          "functions": [
            {
              "signal_class": "clock",
              "shareable_with": [],
              "name": "digital_output",
              "direction": "source"
            },
            {
              "signal_class": "clock",
              "shareable_with": [],
              "name": "XOUT",
              "direction": "source"
            }
          ],
          "name": "Pin 21",
          "id": "pin_21",
          "power_domain_id": "iovdd",
          "description": "XOUT - Crystal oscillator output. Connect to 12 MHz crystal opposite XIN; leave open when XIN is driven by an external clock."
        },
        {
          "name": "Pin 22",
          "id": "pin_22",
          "connector_type": "pad",
          "functions": [
            {
              "shareable_with": [],
              "name": "VDDIO_IN",
              "direction": "sink",
              "signal_class": "power"
            }
          ],
          "power_domain_id": "iovdd",
          "description": "IOVDD - Digital I/O ring supply (3 of 6)."
        },
        {
          "power_domain_id": "dvdd",
          "description": "DVDD - 1.1 V digital core supply (1 of 2). Normally driven from VREG_VOUT.",
          "connector_type": "pad",
          "functions": [
            {
              "direction": "sink",
              "shareable_with": [],
              "name": "VDD_IN",
              "signal_class": "power"
            }
          ],
          "name": "Pin 23",
          "id": "pin_23"
        },
        {
          "power_domain_id": "iovdd",
          "description": "SWCLK - Serial Wire Debug clock input (Digital In FT, IOVDD bank, internal pull-up at reset per datasheet Table 342 PADS_BANK0:SWCLK, PUE=1/PDE=0). Multi-drop SWD bus access to both M0+ cores; also used to download code.",
          "connector_type": "pad",
          "functions": [
            {
              "direction": "sink",
              "shareable_with": [],
              "name": "SWCLK",
              "signal_class": "clock"
            },
            {
              "signal_class": "clock",
              "direction": "sink",
              "shareable_with": [],
              "name": "digital_input"
            }
          ],
          "name": "Pin 24",
          "id": "pin_24"
        },
        {
          "name": "Pin 25",
          "id": "pin_25",
          "connector_type": "pad",
          "functions": [
            {
              "signal_class": "data",
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "SWDIO"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "digital_io",
              "direction": "bidirectional"
            }
          ],
          "description": "SWDIO - Serial Wire Debug bidirectional data. Has internal pull-up. Pair with SWCLK for SWD debug to both cores.",
          "power_domain_id": "iovdd"
        },
        {
          "description": "RUN - Global asynchronous reset. Reset when driven low, run when driven high. Has internal pull-up; if no external reset is required, tie directly to IOVDD.",
          "power_domain_id": "iovdd",
          "connector_type": "pad",
          "functions": [
            {
              "shareable_with": [],
              "name": "RESET",
              "direction": "sink",
              "signal_class": "data"
            }
          ],
          "name": "Pin 26",
          "id": "pin_26"
        },
        {
          "description": "SPI0_RX / UART0_TX / I2C0_SDA / PWM0_A / SIO / PIO0 / PIO1 / USB_VBUS_DET",
          "power_domain_id": "iovdd",
          "name": "Pin 27",
          "id": "pin_27",
          "connector_type": "pad",
          "functions": [
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "digital_io",
              "direction": "bidirectional"
            },
            {
              "signal_class": "data",
              "direction": "sink",
              "shareable_with": [],
              "name": "SPI0_RX"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "UART0_TX",
              "direction": "source"
            },
            {
              "signal_class": "data",
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "I2C0_SDA"
            },
            {
              "signal_class": "data",
              "direction": "source",
              "shareable_with": [],
              "name": "PWM0_A"
            },
            {
              "signal_class": "sense",
              "direction": "sink",
              "shareable_with": [],
              "name": "USB_VBUS_DET"
            },
            {
              "shareable_with": [],
              "name": "pwm_out",
              "direction": "source",
              "signal_class": "data"
            },
            {
              "shareable_with": [],
              "name": "SIO",
              "direction": "bidirectional",
              "signal_class": "data"
            },
            {
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "PIO0",
              "signal_class": "data"
            },
            {
              "signal_class": "data",
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "PIO1"
            }
          ]
        },
        {
          "description": "SPI0_CSn / UART0_RX / I2C0_SCL / PWM0_B / SIO / PIO0 / PIO1 / USB_VBUS_EN",
          "power_domain_id": "iovdd",
          "connector_type": "pad",
          "functions": [
            {
              "shareable_with": [],
              "name": "digital_io",
              "direction": "bidirectional",
              "signal_class": "data"
            },
            {
              "shareable_with": [],
              "name": "SPI0_CSn",
              "direction": "source",
              "signal_class": "data"
            },
            {
              "shareable_with": [],
              "name": "UART0_RX",
              "direction": "sink",
              "signal_class": "data"
            },
            {
              "signal_class": "clock",
              "shareable_with": [],
              "name": "I2C0_SCL",
              "direction": "bidirectional"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "PWM0_B",
              "direction": "source"
            },
            {
              "signal_class": "data",
              "direction": "source",
              "shareable_with": [],
              "name": "USB_VBUS_EN"
            },
            {
              "direction": "source",
              "shareable_with": [],
              "name": "pwm_out",
              "signal_class": "data"
            },
            {
              "shareable_with": [],
              "name": "SIO",
              "direction": "bidirectional",
              "signal_class": "data"
            },
            {
              "shareable_with": [],
              "name": "PIO0",
              "direction": "bidirectional",
              "signal_class": "data"
            },
            {
              "shareable_with": [],
              "name": "PIO1",
              "direction": "bidirectional",
              "signal_class": "data"
            }
          ],
          "name": "Pin 28",
          "id": "pin_28"
        },
        {
          "power_domain_id": "iovdd",
          "description": "SPI0_SCK / UART0_CTS / I2C1_SDA / PWM1_A / SIO / PIO0 / PIO1 / USB_OVCUR_DET",
          "name": "Pin 29",
          "id": "pin_29",
          "connector_type": "pad",
          "functions": [
            {
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "digital_io",
              "signal_class": "data"
            },
            {
              "shareable_with": [],
              "name": "SPI0_SCK",
              "direction": "source",
              "signal_class": "clock"
            },
            {
              "signal_class": "data",
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "I2C1_SDA"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "PWM1_A",
              "direction": "source"
            },
            {
              "direction": "sink",
              "shareable_with": [],
              "name": "UART0_CTS",
              "signal_class": "data"
            },
            {
              "direction": "sink",
              "shareable_with": [],
              "name": "USB_OVCUR_DET",
              "signal_class": "sense"
            },
            {
              "signal_class": "data",
              "direction": "source",
              "shareable_with": [],
              "name": "pwm_out"
            },
            {
              "signal_class": "data",
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "SIO"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "PIO0",
              "direction": "bidirectional"
            },
            {
              "shareable_with": [],
              "name": "PIO1",
              "direction": "bidirectional",
              "signal_class": "data"
            }
          ]
        },
        {
          "connector_type": "pad",
          "functions": [
            {
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "digital_io",
              "signal_class": "data"
            },
            {
              "direction": "source",
              "shareable_with": [],
              "name": "SPI0_TX",
              "signal_class": "data"
            },
            {
              "signal_class": "clock",
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "I2C1_SCL"
            },
            {
              "shareable_with": [],
              "name": "PWM1_B",
              "direction": "source",
              "signal_class": "data"
            },
            {
              "direction": "source",
              "shareable_with": [],
              "name": "UART0_RTS",
              "signal_class": "data"
            },
            {
              "signal_class": "sense",
              "shareable_with": [],
              "name": "USB_VBUS_DET",
              "direction": "sink"
            },
            {
              "signal_class": "data",
              "direction": "source",
              "shareable_with": [],
              "name": "pwm_out"
            },
            {
              "shareable_with": [],
              "name": "SIO",
              "direction": "bidirectional",
              "signal_class": "data"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "PIO0",
              "direction": "bidirectional"
            },
            {
              "shareable_with": [],
              "name": "PIO1",
              "direction": "bidirectional",
              "signal_class": "data"
            }
          ],
          "name": "Pin 30",
          "id": "pin_30",
          "description": "SPI0_TX / UART0_RTS / I2C1_SCL / PWM1_B / SIO / PIO0 / PIO1 / USB_VBUS_DET",
          "power_domain_id": "iovdd"
        },
        {
          "description": "SPI0_RX / UART1_TX / I2C0_SDA / PWM2_A / SIO / PIO0 / PIO1 / CLOCK_GPIN0 / USB_VBUS_EN",
          "power_domain_id": "iovdd",
          "name": "Pin 31",
          "id": "pin_31",
          "connector_type": "pad",
          "functions": [
            {
              "signal_class": "data",
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "digital_io"
            },
            {
              "shareable_with": [],
              "name": "SPI0_RX",
              "direction": "sink",
              "signal_class": "data"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "UART1_TX",
              "direction": "source"
            },
            {
              "shareable_with": [],
              "name": "I2C0_SDA",
              "direction": "bidirectional",
              "signal_class": "data"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "PWM2_A",
              "direction": "source"
            },
            {
              "direction": "source",
              "shareable_with": [],
              "name": "USB_VBUS_EN",
              "signal_class": "data"
            },
            {
              "signal_class": "clock",
              "direction": "sink",
              "shareable_with": [],
              "name": "CLOCK_GPIN0"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "pwm_out",
              "direction": "source"
            },
            {
              "direction": "sink",
              "shareable_with": [],
              "name": "CLOCK_GPIN",
              "signal_class": "clock"
            },
            {
              "signal_class": "data",
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "SIO"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "PIO0",
              "direction": "bidirectional"
            },
            {
              "signal_class": "data",
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "PIO1"
            }
          ]
        },
        {
          "power_domain_id": "iovdd",
          "description": "SPI0_CSn / UART1_RX / I2C0_SCL / PWM2_B / SIO / PIO0 / PIO1 / CLOCK_GPOUT0 / USB_OVCUR_DET",
          "name": "Pin 32",
          "id": "pin_32",
          "connector_type": "pad",
          "functions": [
            {
              "shareable_with": [],
              "name": "digital_io",
              "direction": "bidirectional",
              "signal_class": "data"
            },
            {
              "shareable_with": [],
              "name": "SPI0_CSn",
              "direction": "source",
              "signal_class": "data"
            },
            {
              "shareable_with": [],
              "name": "UART1_RX",
              "direction": "sink",
              "signal_class": "data"
            },
            {
              "shareable_with": [],
              "name": "I2C0_SCL",
              "direction": "bidirectional",
              "signal_class": "clock"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "PWM2_B",
              "direction": "source"
            },
            {
              "signal_class": "sense",
              "shareable_with": [],
              "name": "USB_OVCUR_DET",
              "direction": "sink"
            },
            {
              "signal_class": "clock",
              "shareable_with": [],
              "name": "CLOCK_GPOUT0",
              "direction": "source"
            },
            {
              "direction": "source",
              "shareable_with": [],
              "name": "pwm_out",
              "signal_class": "data"
            },
            {
              "signal_class": "clock",
              "direction": "source",
              "shareable_with": [],
              "name": "CLOCK_GPOUT"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "SIO",
              "direction": "bidirectional"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "PIO0",
              "direction": "bidirectional"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "PIO1",
              "direction": "bidirectional"
            }
          ]
        },
        {
          "power_domain_id": "iovdd",
          "description": "IOVDD - Digital I/O ring supply (4 of 6).",
          "connector_type": "pad",
          "functions": [
            {
              "signal_class": "power",
              "direction": "sink",
              "shareable_with": [],
              "name": "VDDIO_IN"
            }
          ],
          "name": "Pin 33",
          "id": "pin_33"
        },
        {
          "name": "Pin 34",
          "id": "pin_34",
          "connector_type": "pad",
          "functions": [
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "digital_io",
              "direction": "bidirectional"
            },
            {
              "signal_class": "clock",
              "shareable_with": [],
              "name": "SPI0_SCK",
              "direction": "source"
            },
            {
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "I2C1_SDA",
              "signal_class": "data"
            },
            {
              "direction": "source",
              "shareable_with": [],
              "name": "PWM3_A",
              "signal_class": "data"
            },
            {
              "signal_class": "data",
              "direction": "sink",
              "shareable_with": [],
              "name": "UART1_CTS"
            },
            {
              "signal_class": "sense",
              "shareable_with": [],
              "name": "USB_VBUS_DET",
              "direction": "sink"
            },
            {
              "signal_class": "clock",
              "direction": "sink",
              "shareable_with": [],
              "name": "CLOCK_GPIN1"
            },
            {
              "shareable_with": [],
              "name": "pwm_out",
              "direction": "source",
              "signal_class": "data"
            },
            {
              "signal_class": "clock",
              "shareable_with": [],
              "name": "CLOCK_GPIN",
              "direction": "sink"
            },
            {
              "signal_class": "data",
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "SIO"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "PIO0",
              "direction": "bidirectional"
            },
            {
              "shareable_with": [],
              "name": "PIO1",
              "direction": "bidirectional",
              "signal_class": "data"
            }
          ],
          "power_domain_id": "iovdd",
          "description": "SPI0_SCK / UART1_CTS / I2C1_SDA / PWM3_A / SIO / PIO0 / PIO1 / CLOCK_GPIN1 / USB_VBUS_DET"
        },
        {
          "power_domain_id": "iovdd",
          "description": "SPI0_TX / UART1_RTS / I2C1_SCL / PWM3_B / SIO / PIO0 / PIO1 / CLOCK_GPOUT1 / USB_VBUS_EN",
          "connector_type": "pad",
          "functions": [
            {
              "shareable_with": [],
              "name": "digital_io",
              "direction": "bidirectional",
              "signal_class": "data"
            },
            {
              "direction": "source",
              "shareable_with": [],
              "name": "SPI0_TX",
              "signal_class": "data"
            },
            {
              "signal_class": "clock",
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "I2C1_SCL"
            },
            {
              "shareable_with": [],
              "name": "PWM3_B",
              "direction": "source",
              "signal_class": "data"
            },
            {
              "direction": "source",
              "shareable_with": [],
              "name": "UART1_RTS",
              "signal_class": "data"
            },
            {
              "signal_class": "data",
              "direction": "source",
              "shareable_with": [],
              "name": "USB_VBUS_EN"
            },
            {
              "shareable_with": [],
              "name": "CLOCK_GPOUT1",
              "direction": "source",
              "signal_class": "clock"
            },
            {
              "shareable_with": [],
              "name": "pwm_out",
              "direction": "source",
              "signal_class": "data"
            },
            {
              "signal_class": "clock",
              "direction": "source",
              "shareable_with": [],
              "name": "CLOCK_GPOUT"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "SIO",
              "direction": "bidirectional"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "PIO0",
              "direction": "bidirectional"
            },
            {
              "shareable_with": [],
              "name": "PIO1",
              "direction": "bidirectional",
              "signal_class": "data"
            }
          ],
          "name": "Pin 35",
          "id": "pin_35"
        },
        {
          "description": "SPI1_RX / UART1_TX / I2C0_SDA / PWM4_A / SIO / PIO0 / PIO1 / CLOCK_GPOUT2 / USB_OVCUR_DET",
          "power_domain_id": "iovdd",
          "connector_type": "pad",
          "functions": [
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "digital_io",
              "direction": "bidirectional"
            },
            {
              "direction": "sink",
              "shareable_with": [],
              "name": "SPI1_RX",
              "signal_class": "data"
            },
            {
              "direction": "source",
              "shareable_with": [],
              "name": "UART1_TX",
              "signal_class": "data"
            },
            {
              "signal_class": "data",
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "I2C0_SDA"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "PWM4_A",
              "direction": "source"
            },
            {
              "signal_class": "sense",
              "shareable_with": [],
              "name": "USB_OVCUR_DET",
              "direction": "sink"
            },
            {
              "signal_class": "clock",
              "direction": "source",
              "shareable_with": [],
              "name": "CLOCK_GPOUT2"
            },
            {
              "shareable_with": [],
              "name": "pwm_out",
              "direction": "source",
              "signal_class": "data"
            },
            {
              "signal_class": "clock",
              "shareable_with": [],
              "name": "CLOCK_GPOUT",
              "direction": "source"
            },
            {
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "SIO",
              "signal_class": "data"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "PIO0",
              "direction": "bidirectional"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "PIO1",
              "direction": "bidirectional"
            }
          ],
          "name": "Pin 36",
          "id": "pin_36"
        },
        {
          "power_domain_id": "iovdd",
          "description": "SPI1_CSn / UART1_RX / I2C0_SCL / PWM4_B / SIO / PIO0 / PIO1 / CLOCK_GPOUT3 / USB_VBUS_DET",
          "name": "Pin 37",
          "id": "pin_37",
          "connector_type": "pad",
          "functions": [
            {
              "signal_class": "data",
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "digital_io"
            },
            {
              "direction": "source",
              "shareable_with": [],
              "name": "SPI1_CSn",
              "signal_class": "data"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "UART1_RX",
              "direction": "sink"
            },
            {
              "signal_class": "clock",
              "shareable_with": [],
              "name": "I2C0_SCL",
              "direction": "bidirectional"
            },
            {
              "shareable_with": [],
              "name": "PWM4_B",
              "direction": "source",
              "signal_class": "data"
            },
            {
              "direction": "sink",
              "shareable_with": [],
              "name": "USB_VBUS_DET",
              "signal_class": "sense"
            },
            {
              "shareable_with": [],
              "name": "CLOCK_GPOUT3",
              "direction": "source",
              "signal_class": "clock"
            },
            {
              "signal_class": "data",
              "direction": "source",
              "shareable_with": [],
              "name": "pwm_out"
            },
            {
              "shareable_with": [],
              "name": "CLOCK_GPOUT",
              "direction": "source",
              "signal_class": "clock"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "SIO",
              "direction": "bidirectional"
            },
            {
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "PIO0",
              "signal_class": "data"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "PIO1",
              "direction": "bidirectional"
            }
          ]
        },
        {
          "power_domain_id": "iovdd",
          "description": "SPI1_SCK / UART1_CTS / I2C1_SDA / PWM5_A / SIO / PIO0 / PIO1 / USB_VBUS_EN / ADC0",
          "connector_type": "pad",
          "functions": [
            {
              "signal_class": "data",
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "digital_io"
            },
            {
              "signal_class": "sense",
              "shareable_with": [],
              "name": "analog_input",
              "direction": "sink"
            },
            {
              "signal_class": "clock",
              "direction": "source",
              "shareable_with": [],
              "name": "SPI1_SCK"
            },
            {
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "I2C1_SDA",
              "signal_class": "data"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "PWM5_A",
              "direction": "source"
            },
            {
              "direction": "sink",
              "shareable_with": [],
              "name": "UART1_CTS",
              "signal_class": "data"
            },
            {
              "shareable_with": [],
              "name": "USB_VBUS_EN",
              "direction": "source",
              "signal_class": "data"
            },
            {
              "shareable_with": [],
              "name": "pwm_out",
              "direction": "source",
              "signal_class": "data"
            },
            {
              "shareable_with": [],
              "name": "SIO",
              "direction": "bidirectional",
              "signal_class": "data"
            },
            {
              "shareable_with": [],
              "name": "PIO0",
              "direction": "bidirectional",
              "signal_class": "data"
            },
            {
              "shareable_with": [],
              "name": "PIO1",
              "direction": "bidirectional",
              "signal_class": "data"
            }
          ],
          "name": "Pin 38",
          "id": "pin_38"
        },
        {
          "description": "SPI1_TX / UART1_RTS / I2C1_SCL / PWM5_B / SIO / PIO0 / PIO1 / USB_OVCUR_DET / ADC1",
          "power_domain_id": "iovdd",
          "connector_type": "pad",
          "functions": [
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "digital_io",
              "direction": "bidirectional"
            },
            {
              "signal_class": "sense",
              "direction": "sink",
              "shareable_with": [],
              "name": "analog_input"
            },
            {
              "shareable_with": [],
              "name": "SPI1_TX",
              "direction": "source",
              "signal_class": "data"
            },
            {
              "shareable_with": [],
              "name": "I2C1_SCL",
              "direction": "bidirectional",
              "signal_class": "clock"
            },
            {
              "shareable_with": [],
              "name": "PWM5_B",
              "direction": "source",
              "signal_class": "data"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "UART1_RTS",
              "direction": "source"
            },
            {
              "shareable_with": [],
              "name": "USB_OVCUR_DET",
              "direction": "sink",
              "signal_class": "sense"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "pwm_out",
              "direction": "source"
            },
            {
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "SIO",
              "signal_class": "data"
            },
            {
              "signal_class": "data",
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "PIO0"
            },
            {
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "PIO1",
              "signal_class": "data"
            }
          ],
          "name": "Pin 39",
          "id": "pin_39"
        },
        {
          "connector_type": "pad",
          "functions": [
            {
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "digital_io",
              "signal_class": "data"
            },
            {
              "signal_class": "sense",
              "direction": "sink",
              "shareable_with": [],
              "name": "analog_input"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "SPI1_RX",
              "direction": "sink"
            },
            {
              "direction": "source",
              "shareable_with": [],
              "name": "UART0_TX",
              "signal_class": "data"
            },
            {
              "signal_class": "data",
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "I2C0_SDA"
            },
            {
              "shareable_with": [],
              "name": "PWM6_A",
              "direction": "source",
              "signal_class": "data"
            },
            {
              "signal_class": "sense",
              "shareable_with": [],
              "name": "USB_VBUS_DET",
              "direction": "sink"
            },
            {
              "direction": "source",
              "shareable_with": [],
              "name": "pwm_out",
              "signal_class": "data"
            },
            {
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "SIO",
              "signal_class": "data"
            },
            {
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "PIO0",
              "signal_class": "data"
            },
            {
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "PIO1",
              "signal_class": "data"
            }
          ],
          "name": "Pin 40",
          "id": "pin_40",
          "power_domain_id": "iovdd",
          "description": "SPI1_RX / UART0_TX / I2C0_SDA / PWM6_A / SIO / PIO0 / PIO1 / USB_VBUS_DET / ADC2"
        },
        {
          "power_domain_id": "iovdd",
          "description": "SPI1_CSn / UART0_RX / I2C0_SCL / PWM6_B / SIO / PIO0 / PIO1 / USB_VBUS_EN / ADC3",
          "name": "Pin 41",
          "id": "pin_41",
          "connector_type": "pad",
          "functions": [
            {
              "shareable_with": [],
              "name": "digital_io",
              "direction": "bidirectional",
              "signal_class": "data"
            },
            {
              "signal_class": "sense",
              "shareable_with": [],
              "name": "analog_input",
              "direction": "sink"
            },
            {
              "signal_class": "data",
              "direction": "source",
              "shareable_with": [],
              "name": "SPI1_CSn"
            },
            {
              "direction": "sink",
              "shareable_with": [],
              "name": "UART0_RX",
              "signal_class": "data"
            },
            {
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "I2C0_SCL",
              "signal_class": "clock"
            },
            {
              "signal_class": "data",
              "direction": "source",
              "shareable_with": [],
              "name": "PWM6_B"
            },
            {
              "direction": "source",
              "shareable_with": [],
              "name": "USB_VBUS_EN",
              "signal_class": "data"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "pwm_out",
              "direction": "source"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "SIO",
              "direction": "bidirectional"
            },
            {
              "shareable_with": [],
              "name": "PIO0",
              "direction": "bidirectional",
              "signal_class": "data"
            },
            {
              "signal_class": "data",
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "PIO1"
            }
          ]
        },
        {
          "power_domain_id": "iovdd",
          "description": "IOVDD - Digital I/O ring supply (5 of 6).",
          "connector_type": "pad",
          "functions": [
            {
              "signal_class": "power",
              "direction": "sink",
              "shareable_with": [],
              "name": "VDDIO_IN"
            }
          ],
          "name": "Pin 42",
          "id": "pin_42"
        },
        {
          "power_domain_id": "adc_avdd",
          "description": "ADC_AVDD - Power supply for the 12-bit ADC (nominal 3.3 V per datasheet §1.4.2). Filter from main 3V3 with a ferrite bead and bulk capacitor for best ENOB.",
          "name": "Pin 43",
          "id": "pin_43",
          "connector_type": "pad",
          "functions": [
            {
              "shareable_with": [],
              "name": "AVDD_IN",
              "direction": "sink",
              "signal_class": "power"
            }
          ]
        },
        {
          "connector_type": "pad",
          "functions": [
            {
              "signal_class": "power",
              "direction": "sink",
              "shareable_with": [],
              "name": "VIN"
            }
          ],
          "name": "Pin 44",
          "id": "pin_44",
          "description": "VREG_VIN - Power input for the internal core voltage regulator (nominal 1.8-3.3 V per datasheet §1.4.2).",
          "power_domain_id": "vreg_vin"
        },
        {
          "power_domain_id": "dvdd",
          "description": "VREG_VOUT - Power output of the internal core voltage regulator (nominal 1.1 V, 100 mA max per datasheet §1.4.2). Connect externally to the two DVDD pins.",
          "name": "Pin 45",
          "id": "pin_45",
          "connector_type": "pad",
          "functions": [
            {
              "direction": "source",
              "shareable_with": [],
              "name": "power_output",
              "signal_class": "power"
            }
          ]
        },
        {
          "name": "Pin 46",
          "id": "pin_46",
          "connector_type": "pad",
          "functions": [
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "usb_dm",
              "direction": "bidirectional"
            }
          ],
          "description": "USB_DM - USB 1.1 differential data minus. Requires a 27 Ω series termination resistor; bus pull-ups/pull-downs are provided internally.",
          "power_domain_id": "usb_vdd"
        },
        {
          "power_domain_id": "usb_vdd",
          "description": "USB_DP - USB 1.1 differential data plus. Requires a 27 Ω series termination resistor; bus pull-ups/pull-downs are provided internally.",
          "name": "Pin 47",
          "id": "pin_47",
          "connector_type": "pad",
          "functions": [
            {
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "usb_dp",
              "signal_class": "data"
            }
          ]
        },
        {
          "description": "USB_VDD - Dedicated 3.3 V supply for the internal USB 1.1 PHY (per datasheet §1.4.2).",
          "power_domain_id": "usb_vdd",
          "connector_type": "pad",
          "functions": [
            {
              "direction": "sink",
              "shareable_with": [],
              "name": "USB_VDD_IN",
              "signal_class": "power"
            }
          ],
          "name": "Pin 48",
          "id": "pin_48"
        },
        {
          "power_domain_id": "iovdd",
          "description": "IOVDD - Digital I/O ring supply (6 of 6).",
          "name": "Pin 49",
          "id": "pin_49",
          "connector_type": "pad",
          "functions": [
            {
              "shareable_with": [],
              "name": "VDDIO_IN",
              "direction": "sink",
              "signal_class": "power"
            }
          ]
        },
        {
          "description": "DVDD - 1.1 V digital core supply (2 of 2).",
          "power_domain_id": "dvdd",
          "connector_type": "pad",
          "functions": [
            {
              "signal_class": "power",
              "direction": "sink",
              "shareable_with": [],
              "name": "VDD_IN"
            }
          ],
          "name": "Pin 50",
          "id": "pin_50"
        },
        {
          "connector_type": "pad",
          "functions": [
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "digital_io",
              "direction": "bidirectional"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "QSPI_SD3",
              "direction": "bidirectional"
            }
          ],
          "name": "Pin 51",
          "id": "pin_51",
          "description": "QSPI_SD3 - External XIP flash data line 3. Can also be used as a software-controlled GPIO if not required for flash access.",
          "power_domain_id": "iovdd"
        },
        {
          "power_domain_id": "iovdd",
          "description": "QSPI_SCLK - External XIP flash clock output.",
          "connector_type": "pad",
          "functions": [
            {
              "shareable_with": [],
              "name": "QSPI_SCLK",
              "direction": "source",
              "signal_class": "clock"
            },
            {
              "shareable_with": [],
              "name": "digital_io",
              "direction": "bidirectional",
              "signal_class": "data"
            }
          ],
          "name": "Pin 52",
          "id": "pin_52"
        },
        {
          "connector_type": "pad",
          "functions": [
            {
              "signal_class": "data",
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "digital_io"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "QSPI_SD0",
              "direction": "bidirectional"
            }
          ],
          "name": "Pin 53",
          "id": "pin_53",
          "power_domain_id": "iovdd",
          "description": "QSPI_SD0 - External XIP flash data line 0 (MOSI in single-bit SPI mode)."
        },
        {
          "name": "Pin 54",
          "id": "pin_54",
          "connector_type": "pad",
          "functions": [
            {
              "signal_class": "data",
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "digital_io"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "QSPI_SD2",
              "direction": "bidirectional"
            }
          ],
          "power_domain_id": "iovdd",
          "description": "QSPI_SD2 - External XIP flash data line 2."
        },
        {
          "power_domain_id": "iovdd",
          "description": "QSPI_SD1 - External XIP flash data line 1 (MISO in single-bit SPI mode).",
          "connector_type": "pad",
          "functions": [
            {
              "signal_class": "data",
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "digital_io"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "QSPI_SD1",
              "direction": "bidirectional"
            }
          ],
          "name": "Pin 55",
          "id": "pin_55"
        },
        {
          "power_domain_id": "iovdd",
          "description": "QSPI_SS_N - External XIP flash chip-select (active low). Pulling this pin low during reset is the standard mechanism for entering USB BOOTSEL UF2 mode on board-level designs.",
          "connector_type": "pad",
          "functions": [
            {
              "shareable_with": [],
              "name": "QSPI_SS_N",
              "direction": "source",
              "signal_class": "data"
            },
            {
              "signal_class": "data",
              "shareable_with": [],
              "name": "digital_io",
              "direction": "bidirectional"
            }
          ],
          "name": "Pin 56",
          "id": "pin_56"
        },
        {
          "description": "Exposed thermal pad on the QFN-56 underside. Single external ground connection (datasheet §1.4.2), bonded to all internal ground pads on the die. Solder to the PCB ground plane via thermal vias for heat dissipation and ground integrity. Allocated to the dedicated Ground interface, which provides the common-ground reference for every power-input rail and the LDO.",
          "power_domain_id": "gnd",
          "name": "Center GND thermal pad",
          "id": "pad_gnd",
          "connector_type": "pad",
          "functions": [
            {
              "signal_class": "ground",
              "shareable_with": [],
              "name": "GROUND",
              "direction": "sink"
            }
          ]
        }
      ]
    },
    {
      "dimensions_mm": {
        "height": 0.9,
        "length": 7,
        "width": 7
      },
      "metadata": {
        "enclosure_type": "ic_package",
        "mounting_method": "surface_mount"
      },
      "package_type": "QFN-56",
      "domain": "mechanical",
      "resources": [
        {
          "connector_type": "surface_mount",
          "functions": [
            {
              "direction": "bidirectional",
              "shareable_with": [],
              "name": "MECHANICAL_MOUNT",
              "signal_class": "mechanical_drive"
            }
          ],
          "name": "QFN-56 Package",
          "id": "pkg_qfn56",
          "description": "QFN-56 7x7 mm 0.4 mm pitch, 0.9 mm max height (datasheet Table §5.1: A max 0.900 mm), with ~3.1x3.1 mm exposed thermal pad on the underside (D2/E2 = 3.0-3.2 mm, nominal 3.1 mm). Reflow solder to PCB."
        }
      ],
      "interfaces": [
        {
          "description": "Reflow solder to QFN-56 land pattern. The center exposed pad must be soldered to the PCB ground plane and stitched with thermal vias for heat dissipation and electrical ground continuity.",
          "protocol": {
            "role": "mounting_point",
            "type": "mechanical_connection"
          },
          "name": "Surface Mount Footprint",
          "id": "footprint_mounting",
          "requires": [
            {
              "function": "MECHANICAL_MOUNT",
              "count": 1
            }
          ]
        }
      ]
    },
    {
      "metadata": {
        "thermal_monitoring_available": true,
        "thermal_design_power_W": 0.13,
        "cooling_method": "passive",
        "requires_thermal_management": false
      },
      "domain": "thermal",
      "interfaces": [],
      "operating_temperature_C": [
        -40,
        85
      ],
      "resources": []
    }
  ],
  "artifacts": [
    {
      "name": "RP2040 Datasheet",
      "id": "art_datasheet",
      "type": "datasheet",
      "url": "https://datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf"
    },
    {
      "type": "datasheet",
      "url": "https://datasheets.raspberrypi.com/rp2040/hardware-design-with-rp2040.pdf",
      "name": "Hardware Design with RP2040",
      "id": "art_hardware_design"
    },
    {
      "name": "Raspberry Pi RP2040 product page",
      "id": "art_product_page",
      "type": "link",
      "url": "https://www.raspberrypi.com/products/rp2040/"
    },
    {
      "size": 12538,
      "name": "RP2040 manufacturer photo (DigiKey)",
      "id": "art_mfg_image",
      "mimeType": "image/jpeg",
      "storagePath": "protoparts/rp2040/artifacts/art_mfg_image.jpg",
      "url": "https://storage.googleapis.com/protoboard-delta.firebasestorage.app/protoparts/rp2040/artifacts/art_mfg_image.jpg",
      "type": "image"
    },
    {
      "type": "link",
      "url": "https://www.snapeda.com/parts/SC0914(13)/Raspberry%20Pi/view-part/?ref=digikey",
      "name": "SnapEDA part page",
      "id": "art_snapeda"
    },
    {
      "name": "UltraLibrarian part page",
      "id": "art_ultralibrarian",
      "type": "link",
      "url": "https://app.ultralibrarian.com/details/A6F27E67-2E9C-11ED-B159-0A34D6323D74/Raspberry-Pi/SC0914-13-?ref=digikey"
    },
    {
      "type": "link",
      "url": "https://forum.digikey.com/t/sc0914-7-vs-sc0914-13-raspberry-pi-comparison/19824",
      "name": "DigiKey forum: SC0914-7 vs SC0914-13",
      "id": "art_digikey_forum_compare"
    }
  ]
}