How do I connect UART, SPI, I2C and analog IO?

The module uses Cypress PSoC6 (CY8C6347BZI-BLD53), which is very flexible in routing.

Analog IO options:

The analog lines should be connected to P10_2 (IO3), P10_3 (IO5), P10_4, P10_5 or P10_6

SPI IO options:

The SPI_MOSI could be connected to any Px_0 IO (except P0_0)
The SPI_MISO could be connected to any Px_1 IO (except P0_1)
The SPI_CLK could be connected to any Px_2 IO (except P0_2)
The SPI_SS could be connected to any Px_3 IO (except P0_3)

UART IO options:

The UART_RX (to peripheral TX) could be connected to any Px_0 IO (except P0_0)
The UART_TX (to peripheral RX) could be connected to any Px_1 IO (except P0_1)

I2C IO options:

The I2C_SCL could be connected to any Px_0 IO (except P0_0)
The I2C_SDA could be connected to any Px_1 IO (except P0_1)

However, not all PSoC6 IO’s are routed to the module’s IO’s. With current IO’s on the module the following is possible:

SPI is routed to P9_0…P9_3 (IO1,2,6,4) or P10_0…P10_3 (IO10,12,3,5)

UART is routed to P6_0…P6_1 (SWDCLK,SWDIO)* or P9_0…P9_1 (IO1,2) or P10_0…P10_1 (IO10,12)

I2C is routed to P6_0…P6_1 (SWDCLK,SWDIO)* or P9_0…P9_1 (IO1,2) or P10_0…P10_1 (IO10,12)

*the SWDCLK and SWDIO pins are used for programming and debugging. The use of these pins for other purpose prevents the (on-board) programming and debugging functionality.

It is advisable to check the proposed configuration with ModusToolbox before designing the PCB schematic and board.