Raspberry Pi Hardware Intro

Overview of Raspberry Pi Hardware and GPIO Pins

Updated: 03 September 2023

Most info and diagrams from the RaspberryPi documentation or pinout.xyz

GPIO Pins

The Pi has 40 General-Purpose Input-Output (GPIO) pins configured in the following way:

![Raspberry Pi Pinout Diagram from The Docs](/content/docs/iot/rpi-gpio-pinout-voltages.png)
  • 2x 5V Pins
  • 2x 3.3V Pins
  • 8x 0V Pins (ground)

The rest of the pins are general purpose and can be assigned to either High (3.3V) or Low (0V) using software

In addition to basic Input/Output, the pins are able to perform specific functions as follows:

![Raspberry Pi Pinout Diagram](/content/docs/iot/rpi-gpio-pinout.png)

Note that GPIO 0 (pin 27) and GPIO 1 (pin 28) are available on the board but reserved for special use (EEPROM)

Some useful information on the different pinouts and their functions can be found on pinout.xyz

FunctionDescriptionPins
Software PWMEnable a pulsing digital signal to output analogue valuesAll Pins
Hardware PWNEnable a pulsing digital signal to output analogue valuesGPIO12, GPIO13, GPIO18, GPIO19
SPI0For connecting to peripheral devicesMOSI (GPIO10); MISO (GPIO9); SCLK (GPIO11); CE0 (GPIO8), CE1 (GPIO7)
SPI1For connecting to peripheral devicesMOSI (GPIO20); MISO (GPIO19); SCLK (GPIO21); CE0 (GPIO18); CE1 (GPIO17); CE2 (GPIO16)
I2CFor 2-wite communicationData: (GPIO2); Clock (GPIO3); EEPROM Data: (GPIO0); EEPROM Clock (GPIO1)
SerialReceival and Transmission of Async SignalsTX (GPIO14); RX (GPIO15)

THe more detailed pinout diagram depicting this can be seen below:

![Pinout diagram from pinout.xyz](/content/docs/iot/rpi-gpio-pinout-detailed.png)