Raspberry Pi 4

board
Raspberry Pi Datasheet ↗

Powered by the 28 nm Broadcom BCM2711 quad-core Cortex-A72 processor (1.5/1.8 GHz) with 1-8 GB LPDDR4 SDRAM, true RGMII Gigabit Ethernet, PCIe-backed USB 3.0, and dual 4K60 Micro-HDMI outputs, the Raspberry Pi 4 Model B dramatically expands peripheral multiplexing on the classic 40-pin J8 HAT header. Alongside legacy SPI0/SPI1, I2C0/I2C1, and UART0/UART1, BCM2711 adds four extra PL011 UARTs (UART2-UART5), four extra I2C buses (I2C3-I2C6), and four extra SPI controllers (SPI3-SPI6) across GPIO0-GPIO27. USB-C supplies 5V/3A power while the MxL7704 PMIC regulates 3.3V and core rails (note right-edge RJ45 Ethernet is swapped to the top-right position vs Pi 3B+). All 28 GPIOs are strictly 3.3V-only (never 5V tolerant), with fixed 1.8 kOhm pull-ups on GPIO2/GPIO3.

DSI DISPLAY CYW43455 BCM2711 CORTEX-A72 CSI CAMERA USB-C 2x uHDMI 2x USB 2.0 POE GbE ETH Width compressed (not to scale) — click to show full true-scale width DSI DISPLAY CYW43455 BCM2711 CORTEX-A72 POE VL805 CSI CAMERA USB-C 2x uHDMI 2x USB 2.0 2x USB 3.0 GbE ETH 2 5V ! 5V_RAIL 5V_RAIL 4 5V 5V_RAIL 5V_RAIL 6 GND GND GND 8 GPIO14 ! UART0_TXD UART SPI PIO +5 GPIO14 UART0_TXD UART1_TXD SPI5_MOSI UART5_CTS DPI_D10 10 GPIO15 ! UART0_RXD UART SPI PIO +5 GPIO15 UART0_RXD UART1_RXD SPI5_SCLK UART5_RTS DPI_D11 12 GPIO18 PCM_CLK PWM SPI PIO +5 GPIO18 PCM_CLK PWM0_0 SPI1_CE0_N SPI6_CE0_N DPI_D14 14 GND GND GND 16 GPIO23 I2C6_SCL System Debug PIO +4 GPIO23 I2C6_SCL SD0_CMD ARM_RTCK DPI_D19 18 GPIO24 SPI3_CE1_N System Debug PIO +4 GPIO24 SPI3_CE1_N SD0_DAT0 ARM_TDO DPI_D20 20 GND GND GND 22 GPIO25 SPI4_CE1_N System Debug PIO +4 GPIO25 SPI4_CE1_N SD0_DAT1 ARM_TCK DPI_D21 24 GPIO8 SPI0_CE0_N UART I2C PIO +4 GPIO8 SPI0_CE0_N UART4_TXD I2C4_SDA DPI_D4 26 GPIO7 SPI0_CE1_N SPI UART I2C PIO +5 GPIO7 SPI0_CE1_N SPI4_SCLK UART3_RTS I2C4_SCL DPI_D3 28 ID_SC ! GPIO1 I2C0_SCL UART SPI I2C PIO +4 GPIO1 I2C0_SCL UART2_RXD SPI3_MISO I2C6_SCL DPI_DE 30 GND GND GND 32 GPIO12 PWM0_0 UART I2C SPI PIO +5 GPIO12 PWM0_0 UART5_TXD I2C5_SDA SPI5_CE0_N DPI_D8 34 GND GND GND 36 GPIO16 SPI1_CE2_N UART PIO +4 GPIO16 SPI1_CE2_N UART0_CTS UART1_CTS DPI_D12 38 GPIO20 PCM_DIN SPI Clock PIO +5 GPIO20 PCM_DIN SPI1_MOSI SPI6_MOSI GPCLK0 DPI_D16 40 GPIO21 PCM_DOUT SPI Clock PIO +5 GPIO21 PCM_DOUT SPI1_SCLK SPI6_SCLK GPCLK1 DPI_D17 1 3V3 ! 3V3_OUT 3V3_OUT 3 GPIO2 ! I2C1_SDA SPI UART I2C PIO +5 GPIO2 I2C1_SDA SPI3_MOSI UART2_CTS I2C3_SDA DPI_VSYNC 5 GPIO3 ! I2C1_SCL SPI UART I2C PIO +5 GPIO3 I2C1_SCL SPI3_SCLK UART2_RTS I2C3_SCL DPI_HSYNC 7 GPIO4 GPCLK0 UART I2C SPI PIO +5 GPIO4 GPCLK0 UART3_TXD I2C3_SDA SPI4_CE0_N DPI_D0 9 GND GND GND 11 GPIO17 SPI1_CE1_N UART PIO +4 GPIO17 SPI1_CE1_N UART0_RTS UART1_RTS DPI_D13 13 GPIO27 SPI6_CE1_N System Debug PIO +4 GPIO27 SPI6_CE1_N SD0_DAT3 ARM_TMS DPI_D23 15 GPIO22 I2C6_SDA System Debug PIO +4 GPIO22 I2C6_SDA SD0_CLK ARM_TRST DPI_D18 17 3V3 3V3_OUT 3V3_OUT 19 GPIO10 SPI0_MOSI UART I2C PIO +4 GPIO10 SPI0_MOSI UART4_CTS I2C5_SDA DPI_D6 21 GPIO9 SPI0_MISO UART I2C PIO +4 GPIO9 SPI0_MISO UART4_RXD I2C4_SCL DPI_D5 23 GPIO11 SPI0_SCLK UART I2C PIO +4 GPIO11 SPI0_SCLK UART4_RTS I2C5_SCL DPI_D7 25 GND GND GND 27 ID_SD ! GPIO0 I2C0_SDA UART SPI I2C PIO +4 GPIO0 I2C0_SDA UART2_TXD SPI3_CE0_N I2C6_SDA DPI_PCLK 29 GPIO5 GPCLK1 UART I2C SPI PIO +5 GPIO5 GPCLK1 UART3_RXD I2C3_SCL SPI4_MISO DPI_D1 31 GPIO6 GPCLK2 SPI UART I2C PIO +5 GPIO6 GPCLK2 SPI4_MOSI UART3_CTS I2C4_SDA DPI_D2 33 GPIO13 PWM0_1 UART I2C SPI PIO +5 GPIO13 PWM0_1 UART5_RXD I2C5_SCL SPI5_MISO DPI_D9 35 GPIO19 PCM_FS PWM SPI PIO +5 GPIO19 PCM_FS PWM0_1 SPI1_MISO SPI6_MISO DPI_D15 37 GPIO26 SPI5_CE1_N System Debug PIO +4 GPIO26 SPI5_CE1_N SD0_DAT2 ARM_TDI DPI_D22 39 GND GND GND

Onboard Peripherals & Internal Signals

J2_POWER_RESET System
3-pin header exposing RUN (SoC reset), GND, and GLOBAL_EN (PMIC low-power shutdown/wake)
POE_HEADER_J14 Power
4-pin 2.54 mm PoE header near RJ45 jack (TR00..TR03 taps for 802.3af/at PoE+ HAT)
CYW43455_WIFI_BT System
Chip Pad: GPIO34
Dual-band 802.11ac Wi-Fi (SD1) + Bluetooth 5.0 (UART0 PL011 by default)
VL805_USB3 USB
VIA Labs VL805 USB 3.0 xHCI controller on internal PCIe Gen 2 x1 lane

Pin Assignment Planner

Add the peripherals you need and plan the pin assignments

Full Pin Reference (40 Pins)

Pin # Label Type Functions Warnings & Notes
1 3V3 power 3V3_OUT
[CAUTION] 3.3V regulated output rail — GPIO pins are strictly NOT 5V tolerant
All Raspberry Pi GPIO pins operate at 3.3V CMOS levels. Never connect 5V logic directly to any GPIO pin.
2 5V power 5V_RAIL
[DANGER] Direct 5V supply rail — NEVER wire to 3.3V GPIO pins without level shifting
Connected directly to the 5V input power bus.
3 GPIO2 digital GPIO2 I2C1_SDA SPI3_MOSI UART2_CTS I2C3_SDA DPI_VSYNC
[CAUTION] Fixed 1.8 kOhm onboard pull-up resistor to 3.3V
Hardwired 1.8 kOhm physical pull-up to the 3.3V rail for I2C1; cannot be disabled in software.
BCM2711 GPIO2 (Bank 0, reset default: pull-up HIGH; 3.3V/1.8V CMOS, NOT 5V tolerant).
4 5V power 5V_RAIL
5 GPIO3 digital GPIO3 I2C1_SCL SPI3_SCLK UART2_RTS I2C3_SCL DPI_HSYNC
[CAUTION] Fixed 1.8 kOhm onboard pull-up resistor to 3.3V
Hardwired 1.8 kOhm physical pull-up to the 3.3V rail for I2C1; cannot be disabled in software.
BCM2711 GPIO3 (Bank 0, reset default: pull-up HIGH; 3.3V/1.8V CMOS, NOT 5V tolerant).
6 GND ground GND
7 GPIO4 digital GPIO4 GPCLK0 UART3_TXD I2C3_SDA SPI4_CE0_N DPI_D0
BCM2711 GPIO4 (Bank 0, reset default: pull-up HIGH; 3.3V/1.8V CMOS, NOT 5V tolerant).
8 GPIO14 digital GPIO14 UART0_TXD UART1_TXD SPI5_MOSI UART5_CTS DPI_D10
[CAUTION] Default console uses mini-UART (UART1) while PL011 (UART0) feeds Bluetooth
On Bluetooth-equipped Raspberry Pi models, UART0 (PL011) is routed to the onboard CYW43455 Bluetooth modem by default and GPIO14/15 use UART1 (mini-UART). Add dtoverlay=disable-bt or dtoverlay=miniuart-bt in config.txt to route PL011 here.
BCM2711 GPIO14 (Bank 0, reset default: pull-down LOW; 3.3V/1.8V CMOS, NOT 5V tolerant).
9 GND ground GND
10 GPIO15 digital GPIO15 UART0_RXD UART1_RXD SPI5_SCLK UART5_RTS DPI_D11
[CAUTION] Default console uses mini-UART (UART1) while PL011 (UART0) feeds Bluetooth
On Bluetooth-equipped Raspberry Pi models, UART0 (PL011) is routed to the onboard CYW43455 Bluetooth modem by default and GPIO14/15 use UART1 (mini-UART). Add dtoverlay=disable-bt or dtoverlay=miniuart-bt in config.txt to route PL011 here.
BCM2711 GPIO15 (Bank 0, reset default: pull-down LOW; 3.3V/1.8V CMOS, NOT 5V tolerant).
11 GPIO17 digital GPIO17 SPI1_CE1_N UART0_RTS UART1_RTS DPI_D13
BCM2711 GPIO17 (Bank 0, reset default: pull-down LOW; 3.3V/1.8V CMOS, NOT 5V tolerant).
12 GPIO18 digital GPIO18 PCM_CLK PWM0_0 SPI1_CE0_N SPI6_CE0_N DPI_D14
BCM2711 GPIO18 (Bank 0, reset default: pull-down LOW; 3.3V/1.8V CMOS, NOT 5V tolerant).
13 GPIO27 digital GPIO27 SPI6_CE1_N SD0_DAT3 ARM_TMS DPI_D23
BCM2711 GPIO27 (Bank 0, reset default: pull-down LOW; 3.3V/1.8V CMOS, NOT 5V tolerant).
14 GND ground GND
15 GPIO22 digital GPIO22 I2C6_SDA SD0_CLK ARM_TRST DPI_D18
BCM2711 GPIO22 (Bank 0, reset default: pull-down LOW; 3.3V/1.8V CMOS, NOT 5V tolerant).
16 GPIO23 digital GPIO23 I2C6_SCL SD0_CMD ARM_RTCK DPI_D19
BCM2711 GPIO23 (Bank 0, reset default: pull-down LOW; 3.3V/1.8V CMOS, NOT 5V tolerant).
17 3V3 power 3V3_OUT
18 GPIO24 digital GPIO24 SPI3_CE1_N SD0_DAT0 ARM_TDO DPI_D20
BCM2711 GPIO24 (Bank 0, reset default: pull-down LOW; 3.3V/1.8V CMOS, NOT 5V tolerant).
19 GPIO10 digital GPIO10 SPI0_MOSI UART4_CTS I2C5_SDA DPI_D6
BCM2711 GPIO10 (Bank 0, reset default: pull-down LOW; 3.3V/1.8V CMOS, NOT 5V tolerant).
20 GND ground GND
21 GPIO9 digital GPIO9 SPI0_MISO UART4_RXD I2C4_SCL DPI_D5
BCM2711 GPIO9 (Bank 0, reset default: pull-down LOW; 3.3V/1.8V CMOS, NOT 5V tolerant).
22 GPIO25 digital GPIO25 SPI4_CE1_N SD0_DAT1 ARM_TCK DPI_D21
BCM2711 GPIO25 (Bank 0, reset default: pull-down LOW; 3.3V/1.8V CMOS, NOT 5V tolerant).
23 GPIO11 digital GPIO11 SPI0_SCLK UART4_RTS I2C5_SCL DPI_D7
BCM2711 GPIO11 (Bank 0, reset default: pull-down LOW; 3.3V/1.8V CMOS, NOT 5V tolerant).
24 GPIO8 digital GPIO8 SPI0_CE0_N UART4_TXD I2C4_SDA DPI_D4
BCM2711 GPIO8 (Bank 0, reset default: pull-up HIGH; 3.3V/1.8V CMOS, NOT 5V tolerant).
25 GND ground GND
26 GPIO7 digital GPIO7 SPI0_CE1_N SPI4_SCLK UART3_RTS I2C4_SCL DPI_D3
BCM2711 GPIO7 (Bank 0, reset default: pull-up HIGH; 3.3V/1.8V CMOS, NOT 5V tolerant).
27 ID_SD GPIO0 digital GPIO0 I2C0_SDA UART2_TXD SPI3_CE0_N I2C6_SDA DPI_PCLK
[CAUTION] Reserved by default for HAT ID EEPROM probe (I2C0) at boot
Firmware probes I2C0 on Pins 27/28 at boot for a HAT EEPROM. Set force_eeprom_read=0 in config.txt if repurposing as GPIO or alternate mux.
BCM2711 GPIO0 (Bank 0, reset default: pull-up HIGH; 3.3V/1.8V CMOS, NOT 5V tolerant).
28 ID_SC GPIO1 digital GPIO1 I2C0_SCL UART2_RXD SPI3_MISO I2C6_SCL DPI_DE
[CAUTION] Reserved by default for HAT ID EEPROM probe (I2C0) at boot
Firmware probes I2C0 on Pins 27/28 at boot for a HAT EEPROM. Set force_eeprom_read=0 in config.txt if repurposing as GPIO or alternate mux.
BCM2711 GPIO1 (Bank 0, reset default: pull-up HIGH; 3.3V/1.8V CMOS, NOT 5V tolerant).
29 GPIO5 digital GPIO5 GPCLK1 UART3_RXD I2C3_SCL SPI4_MISO DPI_D1
BCM2711 GPIO5 (Bank 0, reset default: pull-up HIGH; 3.3V/1.8V CMOS, NOT 5V tolerant).
30 GND ground GND
31 GPIO6 digital GPIO6 GPCLK2 SPI4_MOSI UART3_CTS I2C4_SDA DPI_D2
BCM2711 GPIO6 (Bank 0, reset default: pull-up HIGH; 3.3V/1.8V CMOS, NOT 5V tolerant).
32 GPIO12 digital GPIO12 PWM0_0 UART5_TXD I2C5_SDA SPI5_CE0_N DPI_D8
BCM2711 GPIO12 (Bank 0, reset default: pull-down LOW; 3.3V/1.8V CMOS, NOT 5V tolerant).
33 GPIO13 digital GPIO13 PWM0_1 UART5_RXD I2C5_SCL SPI5_MISO DPI_D9
BCM2711 GPIO13 (Bank 0, reset default: pull-down LOW; 3.3V/1.8V CMOS, NOT 5V tolerant).
34 GND ground GND
35 GPIO19 digital GPIO19 PCM_FS PWM0_1 SPI1_MISO SPI6_MISO DPI_D15
BCM2711 GPIO19 (Bank 0, reset default: pull-down LOW; 3.3V/1.8V CMOS, NOT 5V tolerant).
36 GPIO16 digital GPIO16 SPI1_CE2_N UART0_CTS UART1_CTS DPI_D12
BCM2711 GPIO16 (Bank 0, reset default: pull-down LOW; 3.3V/1.8V CMOS, NOT 5V tolerant).
37 GPIO26 digital GPIO26 SPI5_CE1_N SD0_DAT2 ARM_TDI DPI_D22
BCM2711 GPIO26 (Bank 0, reset default: pull-down LOW; 3.3V/1.8V CMOS, NOT 5V tolerant).
38 GPIO20 digital GPIO20 PCM_DIN SPI1_MOSI SPI6_MOSI GPCLK0 DPI_D16
BCM2711 GPIO20 (Bank 0, reset default: pull-down LOW; 3.3V/1.8V CMOS, NOT 5V tolerant).
39 GND ground GND
40 GPIO21 digital GPIO21 PCM_DOUT SPI1_SCLK SPI6_SCLK GPCLK1 DPI_D17
BCM2711 GPIO21 (Bank 0, reset default: pull-down LOW; 3.3V/1.8V CMOS, NOT 5V tolerant).