General Purpose Input/Output (a.k.a. GPIO) is a generic pin on a chip whose behavior (including whether it is an input or output pin) can be controlled (programmed) through software.
The Raspberry Pi allows peripherals to access the CPU by exposing the inputs and outputs.
The production Raspberry Pi board has a 26-pin 2.54 mm (100 mil)[1] expansion header, marked as P1, arranged in a 2×13 strip. They provide 8 GPIO pins plus access to I²C, SPI, UART), as well as +3.3 V, +5 V and GND supply lines. Pin one is the pin in the first column and on the bottom row.
Header Pinout, top row:
Pin Number |
Pin Name Rev2 |
Hardware Notes |
Alt 0 Function |
Other Alternative Functions |
P1-02 |
5V0 |
Supply through input poly fuse |
||
P1-04 |
5V0 |
Supply through input poly fuse |
||
P1-06 |
GND |
|||
P1-08 |
GPIO 14 |
Boot to Alt 0 -> |
UART0_TXD |
ALT5 = UART1_TXD |
P1-10 |
GPIO 15 |
Boot to Alt 0 -> |
UART0_RXD |
ALT5 = UART1_RXD |
P1-12 |
GPIO 18 |
ALT4 SPI1_CE0_N ALT5 = PWM0 |
||
P1-14 |
GND |
|||
P1-16 |
GPIO23 |
ALT3 = SD1_CMD ALT4 = ARM_RTCK |
||
P1-18 |
GPIO24 |
ALT3 = SD1_DATA0 ALT4 = ARM_TDO |
||
P1-20 |
GND |
|||
P1-22 |
GPIO25 |
ALT4 = ARM_TCK |
||
P1-24 |
GPIO08 |
SPI0_CE0_N |
||
P1-26 |
GPIO07 |
SPI0_CE1_N |
Header Pinout, bottom row:
Pin Number |
Pin Name Rev2 |
Hardware Notes |
Alt 0 Function |
Other Alternative Functions |
P1-01 |
3.3 V |
50 mA max (01 & 17) |
||
P1-03 |
GPIO 2 |
1K8 pull up resistor |
I2C0_SDA |
I2C0_SDA / I2C1_SDA |
P1-05 |
GPIO 3 |
1K8 pull up resistor |
I2C0_SCL |
I2C0_SCL / I2C1_SCL |
P1-07 |
GPIO 4 |
GPCLK0 |
||
P1-09 |
GND |
|||
P1-11 |
GPIO17 |
ALT3 = UART0_RTS, ALT5 = UART1_RTS |
||
P1-13 |
GPIO27 |
PCM_DIN |
ALT5 = GPCLK1 |
|
P1-15 |
GPIO22 |
ALT3 = SD1_CLK ALT4 = ARM_TRST |
||
P1-17 |
3.3 V |
50 mA max (01 & 17) |
||
P1-19 |
GPIO10 |
SPI0_MOSI |
||
P1-21 |
GPIO9 |
SPI0_MISO |
||
P1-23 |
GPIO11 |
SPI0_SCLK |
||
P1-25 |
GND |
Source: http://elinux.org/RPi_Low-level_peripherals