Skip to main content

GPIO

Description of the GPIO header.

Overview

FREE-WILi includes a GPIO pin header for interacting with digital protocols. This GPIO header is flexible, allowing varying voltage levels and IO direction. The pin-out and connector are shown below.

FREE-WILi Pinout

FREE-WILi Pinout.


FREE-WILi GPIO Header

FREE-WILi GPIO Header

IO Voltage Levels

The IO voltage levels are shared by all the GPIO. To set the voltage level you must inject a voltage on PIN4. This voltage can be set to 3.3v or 5.0v with a jumper. This would be a jumper between pins 2 and 4 for 5V. Or between 4 and 6 for 3.3V.

GPIO Pin Descriptions

The table below describes the pins. All GPIO except dedicated I2C pins can be used bidirectionally depending on the application. So the directions are the default.

PinDescriptionDefault DirectionNotes
1SPI Chip Select OutOutput
25V OutOutput5V to power IO and external circuit
3GPIO27 OUTOutputRPi 2040 GPIO27
4V PINS INInputInput to set the IO voltage 1.1 to 5.5V
5UART1 Rx INInputRPi 2040 UART 1 Receive (GPIO9)
63.3V OutOutput3.3 V to Power IO and external circuit
7UART1 CTS INInputRPi 2040 UART 1 Clear To Send (GPIO10)
8I2C0 SCLIn/OutRPi 2040 I2C 0 Clock (GPIO17)
9UART1 TX OUTOutputRPi 2040 UART1 Transmit (GPIO8)
10I2C0 SDAIn/OutRPi I2C 0 Data (GPIO16)
11UART1 RTS OUTOutputRPi 2040 UART 1 Request To Send (GPIO11)
12SPI1 RX INInputRPi 2040 SPI 1 Receive (GPIO12)
13SPI1 TX OUTOutputRPi 2050 SPI 1 Transmit (GPIO15)
14GPIO 26 INInputRPi 2040 GPIO26
15SPI1 SCLK OUTOutputRPi 2040 SPI 1 Clock (GPIO14)
16SWCLK INInputRPi 2040 debugger clock input for external SWD debugger.
17GPIO25 OUTOutputRPi 2040 GPIO25. GPIO25 also connects to board status LED (same as RPi Pico)
18SWDIOIn/OutRPi 2040 debugger IO for external SWD debugger.
19GND
20GND

I2C Interface

The I2C interface is connected to the RPi I2C0 peripheral. The I2C Interface uses the chip PCA9517 for buffering. Please see the data sheet below for details.

PCA9517-3139014.pdf

PCA9517-3139014.pdf

pdf

IO Pins Interface

All the GPIO that is not I2C uses the sn74lxc1t45 for buffering.

sn74lxc1t45.pdf

sn74lxc1t45.pdf

pdf