The Raspberry Pi 4 Model B is the latest board launched by the Raspberry Pi Foundation in June 2019. This model comes with an upgrade of the latest high-performance quad-Core 64-bit Broadcom 2711, Cortex A72 processor clocked at 1.5GHz speed. This processor uses 20% less power and offers 90% greater performance than the previous model. Raspberry Pi 4 GPIO Pinout with functions, schematic, and specs are given in detail below.
Raspberry Pi 4 model comes in three different variants of 2 GB, 4 GB, and 8 GB LPDDR4 SDRAM. The other new features of the board are dual-display support up to 4k resolutions via a pair of micro-HDMI ports, hardware video decodes at up to 4Kp60, dual-channel 2.4/5.0GHz wireless LAN, true Gigabit Ethernet, two USB 3.0 port, Bluetooth 5.0, and PoE capability (via a separate PoE HAT board).
Parts of Raspberry Pi 4:
CPU: It consists of a Broadcom BCM2711 chip which contains a 1.5GHz 64-bit quad-core ARM Cortex-A53 processor (using an ARMv8-architecture core).
GPU: Broadcom VideoCore VI @ 500 MHz was released in 2009. It is capable of BluRay quality video playback, H.265 (4Kp60 decode); H.264 (1080p60 decode, 1080p30 encode); OpenGL ES, 3.0 graphics.
RAM: It comes with 2GB, 4GB, and 8GB (depends on different versions) variants of LPDDR4 SDRAM.
USB port: It consists of 2 USB 3.0 and 2 USB 2.0 ports to connect it to an external keyboard, mouse, or other peripheral devices.
USB power port: It consists of a 5.1V, 3A USB type-C power port.
HDMI port: Two micro HDMI port capable of supporting up to [email protected] resolution.
Ethernet Port: It comes with true Gigabit Ethernet capable of sending Ethernet frames at a rate of one gigabit per second (1 billion bits per second).
Composite Video Output: Both the audio output socket and the video composite socket reside in a single 4-pole 3.5mm socket
SD card Slot: A micro-SD card slot is used for booting up the operating system and storage purposes.
Raspberry Pi 4 GPIO Pinout:
GPIO stands for General Purpose Input Output pins. These pins are used to connect the Raspberry pi board to external input/output peripheral devices. This model B consists of a 40-pin GPIO. A standard interface for connecting a single-board computer or microprocessor to other devices is through General-Purpose Input/Output (GPIO) pins. Since GPIO pins do not have any specific function, these pins can be customized using the software.
Power Pins: The raspberry pi 4 model B board consists of two 5V pins, two 3V3 pins, and 7 ground pins (0V).
5V: The 5v pin outputs the 5 volts coming from the USB Type-C port.
3.3V: The 3v pin is used to provide a stable 3.3v supply to external components.
GND: Ground pin is commonly referred to as GND.
R-Pi 4 Input/Outputs pins:
A GPIO pin set as input allows the signal transmitted by any external device (connected to this pin) to be received by the Raspberry Pi. Input voltage between 1.8V and 3.3V is read as HIGH by the Raspberry pi. And when the input voltage is lower than 1.8V, it is read as LOW.
Note: Do not connect an external device with an output voltage above 3.3V to any of the GPIO pins, or else it will fry your Raspberry Pi board.
A GPIO pin set as output can output HIGH/3.3V or LOW/0V.
Apart from Input/Output, the GPIO pins can also perform a variety of other functions like PWM. Some of these functions/pins are:
PWM (pulse-width modulation):
- Software PWM is available on all pins
- Hardware PWM is available on these pins only: GPIO12, GPIO13, GPIO18, GPIO19
SPI (Serial Peripheral Interface) is a type of serial communication protocol. It is used by the Raspberry Pi for master-slave communication to quickly communicate between one or more peripheral devices.
Data is synchronized using a clock (SCLK at GPIO11) from the master (RPi). The data is sent from the Pi to an SPI device using the MOSI (Master Out Slave In) pin. And when the SPI device needs to communicate back to the Raspberry Pi, it sends the data back through the MISO (Master In Slave Out) pin.
5 pins are required for SPI communication:
- GND: Connect the GND pin from all the slave components and the Raspberry Pi 4 board together.
- SCLK: Clock for SPI communication.
- MOSI: It stands for Master Out Slave In. This pin is used to send data from the master to a slave.
- MISO: It stands for Master In Slave Out. This pin is used to receive data from a slave to the master.
- CE: It stands for Chip Enable. We need to connect one CE pin per slave (or peripheral devices) in our circuit. By default, we have two CE pins but we can configure more CE pins from the other available GPIO pins.
SPI pins on Raspberry Pi:
- SPI0: GPIO9 (MISO), GPIO10 (MOSI), GPIO11 (SCLK), GPIO8 (CE0), GPIO7 (CE1)
- SPI1: GPIO19 (MISO), GPIO20 (MOSI), GPIO21 (SCLK), GPIO18 (CE0), GPIO17 (CE1), GPIO16 (CE2)
I2C pins on the Raspberry Pi board is used to communicate with peripheral devices that are compatible with Inter-Integrated Circuit (a low-speed two-wire serial communication protocol). This serial communication protocol requires master-slave roles between both, the board and the peripheral devices.
I2C protocol requires two connections: SDA (Serial Data) and SCL (Serial Clock). They work by transmitting data using the SDA connection, and the speed of data transfer is controlled via the SCLK pin.
- Data: (GPIO2), Clock (GPIO3)
- EEPROM Data: (GPIO0), EEPROM Clock (GPIO1)
The UART (Universal Asynchronous Receiver / Transmitter) is an asynchronous protocol that provides a way to communicate between two microcontrollers or the computers. TX pin is used to transmit the serial data and RX pin is used to receive serial data coming from a different serial device.
- TX (GPIO14)
- RX (GPIO15)
Raspberry Pi 4 Schematic(official):
**To download the Raspberry Pi 4 Schematic, click here.
Ways to program the Raspberry PI 4 Board:
You can control the Raspberry Pi 4 GPIO pins using many programming languages. Some of the popular languages along with learning material is given below:
- GPIO Programming using Python
- Programming GPIO with C/C++ using standard kernel interface via libgpiod
- Programming GPIO with C/C++ using 3rd party library pigpio
- GPIO Programming using Scratch 1.4
- GPIO Programming using Scratch 2
- GPIO Programming using Processing3
- Broadcom BCM2711 chip consist of Quad-core Cortex-A72 (ARM v8) 64-bit SoC @ 1.5GHz
- 2GB, 4GB, and 8GB of LPDDR4 SDRAM (depending on the version of the board)
- Dual-channel 2.4/5.0 GHz IEEE 802.11ac wireless, Bluetooth 5.0, BLE
- Gigabit Ethernet
- Two USB 3.0 ports and two USB 2.0 ports.
- Raspberry Pi standard 40 pin GPIO header
- Two micro-HDMI ports (support up to 4kp60 resolution)
- 2-lane MIPI DSI display port
- 2-lane MIPI CSI camera port
- 4-pole stereo audio and composite video port
- 265 ([email protected] decode), H264 ([email protected] decode and [email protected] encode)
- OpenGL ES 3.0 graphics
- Micro-SD card slot for loading operating system and data storage
- 1V/3A DC via USB-C connector
- Power over Ethernet (PoE) enabled (requires PoE HAT board)
- Operating temperature: 0 – 50oC
Read Similar Articles: