Website profiles · Technology insights · Alternatives

pinout.xyz

The comprehensive add-on boards & GPIO Pinout guide for the Raspberry Pi

No paid content found Multilingual
Visit website
Profile views 2 Outbound visits 1 Normal
Raspberry Pi GPIO Pinout Full homepage screenshot

At a glance

Category
Development
Language
English
Paid-content signal
No paid content foundObserved
Registered
2015
Hosting
FastlyInferred
HTTPS certificate trusted
PassedObserved
Last updated

Website review

This review may include AI-generated content and is not individually verified. Domain, certificate and other facts come from the observed data on this page.

What is Raspberry Pi GPIO Pinout?

Raspberry Pi GPIO Pinout is an interactive reference for the Raspberry Pi's 40-pin GPIO header and the interfaces that run over it. It shows each physical pin number alongside its role: 3.3V and 5V power, ground, and GPIO lines labelled with alternate functions such as I2C, SPI, UART, PCM, PWM and GPCLK. The same site also catalogues pinouts for hundreds of add-on boards, HATs and pHATs, so you can check how a specific board maps onto the header before wiring anything.

What you can look up

  • Pin roles and numbering: the difference between physical pin position and Broadcom GPIO number, which is the usual source of wiring mistakes.
  • Interface groupings: which pins carry SPI0 (MOSI, MISO, SCLK, CE0, CE1), I2C1 (SDA, SCL), UART0 (TX, RX) and the EEPROM ID pins.
  • Board compatibility: the HAT and pHAT explorer, useful when a board uses a non-obvious pin or conflicts with another add-on.
  • Related boards: pinouts for the Raspberry Pi Pico range and RP2350 chip planners, plus a few experimental pinouts for non-Pi boards.

How people use it

A typical reader is holding a jumper wire over pin 11 and wants to know whether that is GPIO 17 and whether anything else already claims it. Another is choosing between two HATs and needs to confirm they do not both need the same SPI chip-select pin. A third is writing code and needs the correct Broadcom number rather than the physical position.

Practical notes

The header layout is fixed across current 40-pin Raspberry Pi models, so a pinout diagram remains valid across boards, but the alternate functions available on a given pin can differ by model and by software configuration. Treat the diagram as the wiring reference and the board's own documentation as the authority on what a HAT actually drives.

Before soldering or plugging in a HAT, pick your two or three intended pins, note their physical numbers and Broadcom numbers on paper, and confirm none of them collide with the interfaces your other hardware uses.

How do I find the pinout for a specific Raspberry Pi HAT or pHAT?

Open Raspberry Pi GPIO Pinout and use its board explorer, linked from the "Explore HATs & pHATs" section, to browse pinouts for add-on boards, HATs and pHATs. The site is primarily an interactive reference for the 40-pin GPIO header and the interfaces that share it — SPI, I2C, UART, PCM, PWM and others — with hundreds of add-on board pinouts alongside.

A practical way to use it

  1. Identify the exact board name and revision printed on the HAT or pHAT; near-identical boards can map pins differently.
  2. Search or browse the board explorer for that name and open its pinout page.
  3. Note which physical pins the board claims, then check them against the main 40-pin reference to see whether anything you already use — an I2C sensor, a UART console, a PWM fan — collides.
  4. If the board is not listed, fall back to the main pinout and the board's own documentation, and map its labelled signals (SDA, SCL, CE0, MOSI) to physical pin numbers yourself.

What the pinout actually tells you

The main reference labels each physical pin with its GPIO number and any alternate functions, for example GPIO 2 and GPIO 3 on physical pins 3 and 5 as I2C1 SDA and SCL, or GPIO 8 and GPIO 7 on physical pins 24 and 26 as SPI0 CE0 and CE1. Power and ground pins are marked separately: 3.3 V and 5 V supplies, and multiple ground pins spread along the header. Because a HAT sits on all 40 pins, its pinout is really a map of which of those functions it consumes and which it leaves free.

Quick comparison

Situation Best route
Common, well-known HAT or pHAT Board explorer listing on the pinout site
Obscure or clone board Board's own documentation, cross-checked against the 40-pin reference
Board not listed anywhere Map its silkscreen labels to physical pins using the main pinout
Planning a stack of two boards Compare both pinouts for shared I2C, SPI or power pins before buying

Next step

Before wiring anything, write down the physical pin numbers your board needs and compare that list with the pins your other peripherals already occupy. If two boards both need SPI0 CE0, for instance, you will need a different chip-select pin or a different board — a conflict that is far cheaper to find on a pinout page than on a powered-up Pi.

What do the physical pin numbers and GPIO numbers mean on the Raspberry Pi GPIO header?

Physical pin numbers are positions on the 40-pin header; GPIO numbers are the Broadcom signal names the software uses. The header is numbered 1–40 in a zig-zag: odd pins run down one column, even pins down the other, with pin 1 at the end nearest the SD card when the GPIO is on the right and HDMI on the left. So "physical pin 11" is a location, while "GPIO 17" is the function you address in code. A single physical pin maps to exactly one GPIO number (or to power/ground), but that GPIO can also be routed to alternate interfaces such as I2C, SPI, UART, PCM, PWM or GPCLK.

Reading the two numbering schemes together

The interactive reference at Raspberry Pi GPIO Pinout lists each pin as a pair, for example:

  • Physical pin 1 — 3v3 Power
  • Physical pin 3 — GPIO 2 (I2C1 SDA)
  • Physical pin 5 — GPIO 3 (I2C1 SCL)
  • Physical pin 11 — GPIO 17
  • Physical pin 19 — GPIO 10 (SPI0 MOSI)
  • Physical pin 39 — Ground

The bracketed labels are the alternate functions available on that pin, not separate pins. Ground and power pins have no GPIO number because they are not programmable.

Why the distinction matters in practice

Situation What you use Example
Wiring a sensor to a header Physical pin number "Connect SDA to pin 3"
Writing Python with gpiozero or RPi.GPIO GPIO number LED(17) for physical pin 11
Using a HAT Physical pin position The board covers specific pins
Debugging a breadboard Both Trace pin 19 to GPIO 10

A common beginner mistake is passing the physical pin number into a GPIO library, so an LED on physical pin 11 stays dark because the code is toggling GPIO 11 (physical pin 23) instead of GPIO 17.

A concrete reader scenario

You are adding a DS18B20 temperature sensor. The wiring instruction says "data to physical pin 7." In code you enable the 1-Wire interface and read from GPIO 4, because physical pin 7 is GPIO 4. If you later move the wire to physical pin 11, the same code fails until you change the GPIO number to 17. Checking the pinout page before each rewire prevents that mismatch.

Next step

Before wiring anything, decide which scheme your tool expects: physical pins for the breadboard and HAT alignment, GPIO numbers for code. Then verify the pin's alternate functions, since a pin already used by I2C or SPI cannot also serve as a plain input without reconfiguring the interface. For Pico and RP2350 boards, the same site publishes separate pinouts, and general Raspberry Pi documentation at Raspberry Pi covers enabling interfaces through raspi-config.

Which GPIO pins support I2C, SPI, UART, or PWM interfaces?

On a 40-pin Raspberry Pi header, the alternate interfaces are tied to specific pins rather than being free for any GPIO. From the pinout reference at Raspberry Pi GPIO Pinout, the interface-labelled pins are:

Interface Physical pins Signals
I2C1 3, 5 GPIO 2 (SDA), GPIO 3 (SCL)
SPI0 19, 21, 23, 24, 26 GPIO 10 (MOSI), GPIO 9 (MISO), GPIO 11 (SCLK), GPIO 8 (CE0), GPIO 7 (CE1)
UART0 8, 10 GPIO 14 (TX), GPIO 15 (RX)
PWM 32, 33 GPIO 12 (PWM0), GPIO 13 (PWM1)
EEPROM (ID) 27, 28 GPIO 0 (SDA), GPIO 1 (SCL)

Two practical wrinkles. First, I2C and SPI can coexist on the same header because they use different pins, but UART0 shares GPIO 14 and 15 with other functions, so enabling a serial console can conflict with a device wired there. Second, PWM is the most constrained: the reference marks only GPIO 12 and 13 as PWM0 and PWM1, so if you need several dimmable channels or servo pulses, plan around those two or accept software-timed PWM on other pins.

If you are wiring a sensor, a typical first step is to connect it to pins 3 and 5 for I2C, then confirm the address appears with i2cdetect -y 1 before writing any application code. For a display or radio module, use pins 19, 21, 23, 24 and 26 for SPI and check the chip-select pin your library expects. The same site also lists pinouts for add-on boards and HATs, which is worth checking before soldering, since a HAT may already claim the pins you intended to use.

How can I use the pinout diagram to wire a sensor or component to my Raspberry Pi?

Use the diagram as a physical-to-logical translator: start with your component's required interface (I2C, SPI, UART, or plain GPIO), find those signal names on the 40-pin map, then wire to the matching physical pin number. The page itself is an interactive reference to the GPIO pins and their interfaces, and it also documents hundreds of add-on board, HAT and pHAT pinouts.

A practical wiring routine

  1. Identify the interface, not just the wire count. A 4-wire sensor is often I2C (SDA, SCL, power, ground), while a display may be SPI. The legend on the diagram groups pins by function — GPIO, SPI, I2C, UART, PCM, plus 5V, 3.3V and Ground — so you can scan for the label rather than count holes.
  2. Translate label to physical pin number. The pinout lists entries like "GPIO 2 (I2C1 SDA) physical pin 3" and "GPIO 3 (I2C1 SCL) physical pin 5". Your sensor's SDA lead goes to physical pin 3, SCL to physical pin 5. Physical pin numbers are what you count on the header; GPIO numbers are what you use in code.
  3. Orient the board before you count. The legend instructs: orient your Pi with the GPIO on the right and the HDMI port(s) on the left. The page also offers a mirror view for the underside and a 180-degree rotation, which matters if you are soldering or using a ribbon cable.
  4. Match voltage deliberately. 3.3V and 5V power pins are marked separately. A 5V-only sensor output feeding a 3.3V GPIO input is a common way to damage a Pi, so check the component's logic level before connecting signal wires.
  5. Confirm in software. After wiring, detect the device on the bus (for example with an I2C scan) before writing application code. If nothing appears, re-check ground and the physical pin count first.

Worked example: an I2C temperature sensor

Sensor lead Diagram signal Physical pin
VCC 3v3 Power 1 or 17
SDA GPIO 2 (I2C1 SDA) 3
SCL GPIO 3 (I2C1 SCL) 5
GND Ground 9, 25, 39, and others

Note that ground appears on many pins, so choose whichever is most convenient for your cable routing — the diagram labels each one.

When to use the add-on board section instead

If you are attaching a HAT or pHAT rather than loose components, the board explorer is the better starting point: it shows which pins that specific board claims, which tells you what remains free for your own sensor. This is the main trade-off between the two views — the 40-pin map is authoritative for the header itself, while board pinouts are authoritative for a stacked add-on.

For boards beyond the standard 40-pin header, the site also publishes pinouts for the Raspberry Pi Pico range and RP2350 chip planners, so the same label-to-pin method carries over to microcontroller projects.

Next step

Before powering up, sketch your connections as a table like the one above and keep it next to the Pi. Then verify each wire against the diagram's physical pin numbers rather than memory — mis-counting by one pin is the most common wiring error, and the numbered layout is designed to prevent exactly that. Official Raspberry Pi documentation at Raspberry Pi is a useful companion for confirming voltage and interface behaviour.

What are the differences between the Raspberry Pi 40-pin GPIO pinout and the Raspberry Pi Pico pinout?

The Raspberry Pi 40-pin GPIO header and the Raspberry Pi Pico's pinout differ in physical layout, voltage, and the mix of functions on each pin. The 40-pin header is a 2×20 connector on full-size Raspberry Pi boards; the Pico is a small microcontroller board with two rows of pins along its long edges, and its pin numbering does not match the 40-pin header's physical numbering.

Layout and numbering

  • Raspberry Pi 40-pin header: pins are numbered 1–40 in a 2×20 arrangement. Odd pins run down one side, even pins down the other. Pin 1 is 3.3V power, pin 2 is 5V power, and grounds are interleaved (pins 6, 9, 14, 20, 25, 30, 34, 39). The same physical pin carries a BCM GPIO number and often an alternate function, such as GPIO 2/3 for I2C1, GPIO 14/15 for UART0, and GPIO 9/10/11 for SPI0.
  • Raspberry Pi Pico: pins are numbered along each side, typically 1–20 on the left and 21–40 on the right when viewed from the top with the USB connector at the top. The numbering is a board-position convention, not a match to the 40-pin header. Many Pico pins map to RP2040 GPIO numbers, and several support multiple peripheral functions through the chip's flexible I/O mux.

Power and electrical differences

The 40-pin header exposes both 5V and 3.3V power rails, which suits boards that need 5V for USB or motor drivers. The Pico is a 3.3V logic device; its 5V pin is tied to USB VBUS and is not a general-purpose 5V supply in the same way. The Pico also has a 3V3_EN pin and a 3.3V output, and its GPIOs are not 5V-tolerant.

Peripheral functions

On the 40-pin header, functions are largely fixed by the board design, so a given physical pin has a known set of alternates. The Pico's RP2040 lets you route many peripherals to different pins, so the same function can appear on more than one pin. That flexibility is useful when a HAT-style board or wiring layout constrains which pins are free, but it also means you must check the pinout for the specific function you enable rather than assuming a fixed mapping.

Choosing between them

Use the 40-pin pinout as your reference when you are working with a full-size Raspberry Pi, especially with add-on boards, HATs, or pHATs that assume the standard header. Use the Pico pinout when you are working with the Pico, Pico W, Pico 2, or Pico 2 W, or when you are designing around the RP2040 or RP2350 chips. If you are moving a project between the two, do not carry pin numbers across; re-check power, ground, and signal pins for the target board.

A practical next step is to open the interactive reference at Raspberry Pi GPIO Pinout and compare the 40-pin diagram with the Pico pinout page before wiring anything. For example, if you are connecting an I2C sensor, confirm which pins carry SDA and SCL on your specific board, then verify the voltage level the sensor expects.

Related questions

More questions →
How to Find Raspberry Pi HAT and pHAT Pinouts on pinout.xyz

pinout.xyz includes pinouts for hundreds of Raspberry Pi add-on boards, HATs, and pHATs, and you reach them through the site's board explorer rather than the main 40-pin diagram. Use this route when you have a specific expansion board and need to know which physical pins it uses before wiring or stacking it. The main page covers the standard 40-pin header; the HAT/pHAT section covers the boards that plug into it.

What the main page gives you

The default view is an interactive reference for the Raspberry Pi 40-pin GPIO header. It labels each physical pin with its function, including:

  • Power pins: 3v3 (physical pins 1, 17) and 5v (physical pins 2, 4)
  • Ground pins: physical pins 6, 9, 14, 20, 25, 30, 34, 39
  • Interface groups: I2C, SPI, UART, PCM, PWM, GPCLK, DPI, SDIO, JTAG, and 1-WIRE

The legend explains each colour and abbreviation, and the page notes the orientation convention: hold the Pi with the GPIO header on the right and the HDMI port(s) on the left. There are also controls to mirror the pinout for the underside of the board or rotate it 180 degrees.

This is the reference for the header itself. It does not tell you what a particular HAT does with those pins.

Finding a HAT or pHAT pinout

The main page links to a board explorer with the prompt "Click here to browse pinouts for HATs & pHATs" and a section titled "Explore HATs & pHATs." That explorer is where the add-on board pinouts live.

A practical sequence:

  1. Open pinout.xyz and locate the HATs & pHATs link or the board explorer section.
  2. Browse or search the board list for your specific add-on board.
  3. Open that board's page to see its pin usage mapped onto the 40-pin header.
  4. Compare the board's claimed pins against the interfaces you plan to use, so two boards don't collide on the same I2C, SPI, or UART pins.

The expected result is a board-specific view showing which physical pins the HAT or pHAT occupies and which functions it exposes.

Why this matters before you connect anything

Two HATs can each work perfectly alone and still conflict when stacked, because both may claim the same I2C address lines or SPI chip-select pins. Checking each board's pinout first turns that from a debugging session into a planning step.

The same applies to wiring a HAT alongside your own jumpers: if the board uses GPIO 14/15 for UART, those pins aren't free for something else.

Other pinouts on the site

Beyond the 40-pin header and the HAT/pHAT explorer, pinout.xyz also publishes pinouts for:

  • Raspberry Pi Pico, Pico W, Pico 2, and Pico 2 W
  • RP2350A (QFN-60) and RP2350B (QFN-80) chip planners
  • Experimental pinouts including a minimal 40-pin Raspberry Pi pinout, Espressif ESP32 C5 and C3 DevKitC, and the PJRC Teensy 4.0

If your board isn't a HAT or pHAT but one of these, use the matching page instead of the main header diagram.

Common snags

  • Reading the wrong diagram. The 40-pin header view and a HAT page look similar; confirm you're on the board-specific page before trusting a pin number.
  • Physical vs BCM numbering. The header diagram pairs physical pin positions with GPIO/BCM names (for example, physical pin 3 is GPIO 2, I2C1 SDA). Software often uses the BCM name, so translate before writing code.
  • Orientation. The default view assumes GPIO on the right, HDMI on the left. If you're looking at the underside, use the mirror or rotate controls rather than counting pins backwards in your head.
Does pinout.xyz cover Raspberry Pi Pico and other boards?

Yes. pinout.xyz is not limited to the standard 40-pin Raspberry Pi header. The site states that it has created pinouts for the Raspberry Pi Pico range, chip planners for the RP2350A and RP2350B, and several experimental pinouts for non-Raspberry Pi boards. So if you are working with a Pico, an RP2350 chip, or even an ESP32 or Teensy board, the site may already have a reference for you.

What pinout.xyz covers beyond the Raspberry Pi

The main page is an interactive reference to the Raspberry Pi GPIO pins and a guide to the Pi's GPIO interfaces. It also includes hundreds of pinouts for Raspberry Pi add-on boards, HATs, and pHATs.

Beyond that, the site lists these additional pinouts:

Raspberry Pi Pico family

  • Raspberry Pi Pico Pinout
  • Raspberry Pi Pico W Pinout
  • Raspberry Pi Pico 2 Pinout
  • Raspberry Pi Pico 2 W Pinout

RP2350 chip planners

  • Raspberry Pi RP2350A QFN-60 Pinout
  • Raspberry Pi RP2350B QFN-80 Pinout

Experimental pinouts

  • Minimal Raspberry Pi 40-pin Pinout
  • Espressif ESP32 C5 DevKitC Pinout
  • Espressif ESP32 C3 DevKitC Pinout
  • PJRC Teensy 4.0 Pinout

How to use this when choosing a board or planning wiring

If your board appears in the list above, you can use the matching pinout as your wiring reference instead of guessing from a datasheet. For the Pico family, the dedicated Pico pinouts are the relevant entry. For custom RP2350 designs, the QFN-60 and QFN-80 planners cover the chip packages rather than a finished board.

The experimental section is worth checking if you use Espressif or Teensy hardware, but treat those as supplementary references rather than the site's core Raspberry Pi content.

What the main Raspberry Pi pinout includes

The core Raspberry Pi GPIO pinout documents the 40-pin header with physical pin numbers and their functions, including:

  • Power pins: 3v3 and 5v
  • Ground pins
  • GPIO pins with alternate functions
  • Interfaces: SPI, I2C, UART, PCM, PWM, GPCLK, SDIO, DPI, JTAG, and 1-WIRE

The legend groups pins by function, and the diagram can be mirrored or rotated 180 degrees for viewing from the underside of the board. The site also links to a board explorer for HATs and pHATs.

Quick answer

Question Answer
Does pinout.xyz cover Raspberry Pi Pico? Yes, including Pico, Pico W, Pico 2, and Pico 2 W
Does it cover RP2350 chips? Yes, RP2350A QFN-60 and RP2350B QFN-80 planners
Does it cover non-Raspberry Pi boards? Yes, experimental pinouts for ESP32 C5, ESP32 C3, and Teensy 4.0
Is it only for the standard Pi 40-pin header? No, though that is the main reference

If you need a pinout for a Pico, an RP2350 package, or one of the listed experimental boards, start with the "Other Pinouts" section on pinout.xyz. For standard Raspberry Pi models and add-on boards, the main interactive pinout and the HAT/pHAT explorer are the relevant resources.

What GPIO Interfaces and Protocols Are Documented on pinout.xyz?

pinout.xyz documents the Raspberry Pi 40-pin GPIO header as an interactive reference, and its legend groups every pin into a small set of interfaces and alternate functions: I2C, SPI, UART, PCM, PWM, GPCLK, 1-WIRE, DPI, JTAG, and SDIO, plus power and ground. If you need to know which physical pin carries a given protocol, the site's pinout diagram and its filter legend are the intended way to find it.

The interfaces listed in the legend

The site's legend defines the following categories, each with its own colour coding on the diagram:

  • GPIO (General Purpose IO) — plain digital input/output pins.
  • SPI (Serial Peripheral Interface) — shown on the diagram with the SPI0 signal names MOSI, MISO, SCLK, CE0 and CE1.
  • I2C (Inter-integrated Circuit) — shown as I2C1 SDA and I2C1 SCL, and separately as the EEPROM ID pins SDA/SCL.
  • UART (Universal Asynchronous Receiver/Transmitter) — shown as UART0 TX and UART0 RX.
  • PCM (Pulse Code Modulation) — shown as PCM CLK, PCM FS, PCM DIN and PCM DOUT.
  • Ground, 5v (Power) and 3.3v (Power) — the non-signal pins.

The legend also lists 1-WIRE, DPI, GPCLK, JTAG, PWM, SDIO and WiringPi as selectable categories, so these are treated as first-class entries in the reference rather than footnotes.

Alternate functions attached to specific pins

The pin list on the page shows the multiplexed function in brackets next to the GPIO number, which is how you tell what a pin can do beyond plain IO:

Physical pin GPIO Documented function
3 GPIO 2 I2C1 SDA
5 GPIO 3 I2C1 SCL
7 GPIO 4 GPCLK0
8 GPIO 14 UART0 TX
10 GPIO 15 UART0 RX
12 GPIO 18 PCM CLK
19 GPIO 10 SPI0 MOSI
21 GPIO 9 SPI0 MISO
23 GPIO 11 SPI0 SCLK
24 GPIO 8 SPI0 CE0
26 GPIO 7 SPI0 CE1
27 GPIO 0 EEPROM SDA
28 GPIO 1 EEPROM SCL
32 GPIO 12 PWM0
33 GPIO 13 PWM1
35 GPIO 19 PCM FS
38 GPIO 20 PCM DIN
40 GPIO 21 PCM DOUT

Two practical points follow from this table. First, I2C1, SPI0 and UART0 each appear on a fixed pair or group of pins, so a board that uses one of those buses occupies those pins. Second, the EEPROM SDA/SCL pins (GPIO 0 and GPIO 1) are listed separately from I2C1, which matters when you are checking whether an add-on board's ID EEPROM conflicts with your own I2C devices.

How to look up a protocol on the diagram

The page orients the header with the GPIO on the right and the HDMI port(s) on the left, and the excerpt notes the diagram can be mirrored for the underside view or rotated 180 degrees. To find the pins for a protocol:

  1. Open the pinout diagram and locate the legend.
  2. Select or highlight the interface you care about — for example SPI, I2C, UART, PCM, PWM, GPCLK, 1-WIRE, DPI, JTAG or SDIO.
  3. Read off the physical pin numbers that remain highlighted; the diagram keeps the physical numbering (1–40) alongside the GPIO/BCM numbers.
  4. Cross-check the bracketed function on each pin against the table above, since a pin can carry more than one label.

The expected result is a short list of physical pins you can wire to, plus the knowledge of which other interfaces those pins are shared with.

Beyond the 40-pin header

pinout.xyz is not limited to the standard header. The page states it also includes hundreds of pinouts for Raspberry Pi add-on boards, HATs and pHATs, reachable through its board explorer. It additionally publishes pinouts for the Pico range (Pico, Pico W, Pico 2, Pico 2 W), chip planners for the RP2350A (QFN-60) and RP2350B (QFN-80), and experimental pinouts including a minimal 40-pin pinout, Espressif ESP32 C5 and C3 DevKitC, and the PJRC Teensy 4.0.

That matters if your project uses a HAT: the add-on board's own pinout page tells you which header pins it claims, which is the quickest way to spot a clash with the I2C, SPI, UART or PCM pins you planned to use.

How to Read the Raspberry Pi GPIO Pinout Diagram on pinout.xyz

pinout.xyz is an interactive reference for the Raspberry Pi 40-pin GPIO header and for hundreds of add-on boards, HATs, and pHATs. To read it correctly, hold your Pi so the GPIO header is on the right and the HDMI port(s) are on the left, then read each pin's two labels: the physical pin number (its position in the 40-pin row) and the GPIO number (the name you use in code). The site's legend tells you which pins are power, ground, or a specific interface such as I2C, SPI, UART, or PCM.

Physical pin numbers vs. GPIO numbers

Every pin on the header has two identities, and mixing them up is the most common source of wiring mistakes.

  • Physical pin number — the pin's position in the 40-pin connector, counted 1–40. Pin 1 is at one end of the header; pin 2 is directly across from it on the other row.
  • GPIO number — the Broadcom (BCM) name of the signal that pin carries, such as GPIO 17 or GPIO 4. This is what you reference in software.

The two numbering schemes do not line up. For example, physical pin 11 is GPIO 17, and physical pin 13 is GPIO 27. A board or tutorial that says "connect to GPIO 17" means the BCM number, not pin 17.

Physical pin GPIO / function
1 3v3 Power
3 GPIO 2 (I2C1 SDA)
5 GPIO 3 (I2C1 SCL)
7 GPIO 4 (GPCLK0)
9 Ground
11 GPIO 17
13 GPIO 27

Identifying power, ground, and signal pins

The legend on pinout.xyz color-codes each pin so you can classify it at a glance before wiring anything:

  • 3.3v and 5v power — supply pins. The header provides 3v3 and 5v rails; feeding a 3.3v-only device from 5v can damage it.
  • Ground — the return path. Several pins are ground, spread across the header.
  • GPIO — general-purpose input/output, usable as digital in or out.
  • Interface pins — labeled by protocol: I2C, SPI, UART, PCM, PWM, GPCLK, DPI, SDIO, JTAG, and 1-WIRE.

Because a single physical pin can carry more than one function (for instance, GPIO 2 is both a plain GPIO and the I2C1 SDA line), the diagram shows the alternate functions alongside the GPIO number. That is how you find, say, the SPI0 MOSI pin (GPIO 10, physical pin 19) without counting.

Orienting the diagram to match your board

The site states the reference orientation directly: orient your Pi with the GPIO on the right and the HDMI port(s) on the left. In that position, pin 1 is at the top-left of the header as drawn, and the numbering snakes down one row and back up the other.

If your board is physically positioned differently, you do not have to mentally rotate it:

  • Mirror view — shows the pinout as seen from the underside of the board, useful when you are soldering or probing from the back.
  • Rotate 180° — flips the diagram so it matches a board held the other way.

Both views keep the same pin identities; only the drawing changes, so the physical-to-GPIO mapping stays valid.

Beyond the 40-pin header

pinout.xyz is not limited to the standard header. The same site hosts:

  • Pico family pinouts — Raspberry Pi Pico, Pico W, Pico 2, and Pico 2 W.
  • Chip planners — RP2350A (QFN-60) and RP2350B (QFN-80).
  • Experimental pinouts — a minimal 40-pin layout, Espressif ESP32 C5 and C3 DevKitC, and the PJRC Teensy 4.0.
  • A board explorer — pinouts for hundreds of HATs and pHATs, so you can check how an add-on board maps onto the header before you stack it.

Common pitfalls

  • Reading pin 1 from the wrong end. Confirm orientation against the HDMI port before trusting any count.
  • Confusing BCM and physical numbers in code. Libraries differ; check which scheme your code expects.
  • Assuming a pin does only one thing. Alternate functions share pins, so two peripherals may conflict.
  • Ignoring voltage. The header mixes 5v and 3.3v; match the device to the correct rail.
What Is pinout.xyz? The Raspberry Pi GPIO Pinout Reference

pinout.xyz is an interactive reference guide to the Raspberry Pi's 40-pin GPIO header and its interfaces. It is useful when you need to identify which physical pin carries which signal — for example, when wiring a sensor, checking whether a pin is safe for 3.3V logic, or confirming which pins support I2C, SPI, UART, or PWM before connecting a board.

What the site covers

The main page presents the standard 40-pin layout as an interactive diagram. Each pin is labeled with both its physical position and its function, so you can read the header in the same orientation as your board.

The pinout distinguishes several signal types:

Category Meaning
GPIO General Purpose IO — the configurable digital pins
SPI Serial Peripheral Interface
I2C Inter-integrated Circuit
UART Universal Asynchronous Receiver/Transmitter
PCM Pulse Code Modulation
Ground 0V reference pins
5v / 3.3v Power pins at each voltage

The legend also lists alternate function labels such as 1-WIRE, DPI, GPCLK, JTAG, PWM, SDIO, and WiringPi, which reflect the different modes a given GPIO can take.

Reading the header

The site's orientation guidance is: place your Pi with the GPIO header on the right and the HDMI port(s) on the left. From that view, the pins run in two rows of 20.

A few reference points from the documented layout:

  • Physical pin 1 — 3v3 Power
  • Physical pin 2 — 5v Power
  • Physical pin 6 — Ground
  • Physical pin 3 — GPIO 2 (I2C1 SDA)
  • Physical pin 5 — GPIO 3 (I2C1 SCL)
  • Physical pin 8 — GPIO 14 (UART0 TX)
  • Physical pin 10 — GPIO 15 (UART0 RX)
  • Physical pin 19 — GPIO 10 (SPI0 MOSI)
  • Physical pin 21 — GPIO 9 (SPI0 MISO)
  • Physical pin 23 — GPIO 11 (SPI0 SCLK)
  • Physical pin 24 — GPIO 8 (SPI0 CE0)
  • Physical pin 26 — GPIO 7 (SPI0 CE1)

The diagram can be mirrored to show the pinout as seen from the underside of the board, and rotated 180 degrees — useful when you are soldering or probing from the back.

Beyond the 40-pin header

The site is not limited to the main Raspberry Pi header. It also hosts:

  • Add-on board pinouts — hundreds of pinouts for Raspberry Pi HATs and pHATs, browsable through a board explorer.
  • Raspberry Pi Pico range — separate pinouts for the Pico, Pico W, Pico 2, and Pico 2 W.
  • Chip planners — for the RP2350A (QFN-60) and RP2350B (QFN-80).
  • Experimental pinouts — a minimal 40-pin Raspberry Pi pinout, plus Espressif ESP32 C5 DevKitC, ESP32 C3 DevKitC, and PJRC Teensy 4.0.

When to use it

Use pinout.xyz when you need a quick, visual answer to "which pin is this?" or "does this pin support I2C?" It is a reference, not a tutorial — it tells you what each pin does, not how to program it. For wiring a specific HAT, the board-specific pinout pages are the relevant section, since they map the add-on's connectors back to the Pi header.

Website Overview

An established domain and managed infrastructure suggest continuity of operations and may support dependable delivery, although neither guarantees service quality. An active inbound-mail setup with incomplete authentication may leave the domain more open to impersonation. Provider hosting alone does not close that gap.

Domain and Registration

The domain uses .xyz. Assess the website's identity and content rather than relying on the extension alone. Registered in 2015, this domain has about 10 years of history. That suggests continuity, although ownership and purpose may have changed. The registrar is NameCheap, Inc., a widely used domain service provider.

DNS and Email

The observed email authentication setup is incomplete: DMARC is missing. Nameservers are provided by Cloudflare, indicating managed DNS hosting. MX records point to the Google Workspace email service. CAA records restrict which certificate authorities are authorized to issue certificates. No CNAME was found; the observed records resolve directly to addresses.

TLS and Certificates

The public key uses EC with 256 bits. The server supplied a complete certificate chain. No organization name is present in the certificate; the available fields are consistent with domain validation. The certificate was issued within the Google Trust Services cloud or CDN ecosystem. The certificate's total validity is about 90 days, consistent with a short renewal cycle.

HTTP and Browser Security

The checked browser-security headers were not detected, leaving fewer explicit browser-side safeguards. CORS permits any origin to read this response. This is common for public resources; sensitive responses need narrower handling. No X-Powered-By header was found, reducing one common source of backend fingerprinting information. The cf-ray, x-cache, x-served-by, via response header indicates a CDN or caching proxy in the delivery path. No obvious internal addresses or debug information were found in the headers.

Technology Stack Analysis

The public page identifies Pinout.xyz @ https://github.com/pinout-xyz/pinout.xyz, timestamp: 20260928T152212, Cloudflare, Fastly without precise versions, leaving fewer clues for version-specific scanning.

Search and Social Sharing

The Generator tag identifies Pinout.xyz @ https://github.com/pinout-xyz/pinout.xyz, timestamp: 20260928T152212, making the publishing system easier to fingerprint. No homepage canonical URL was detected. If duplicate URLs exist, consolidation may be less explicit. The page declares 8 language or regional alternatives using hreflang. The title has 24 characters, within a common display range. A meta description is present, with 72 characters.

Hosting and Email

DNSCloudflare
HostingFastly
EmailGoogle Workspace
Approximate IP geolocation (inferred; a CDN or proxy may differ from the origin server) Location unknown Inferred 104.26.2.125

Registration details

RDAP / WHOIS

RegistrarNameCheap, Inc.
Registered2015-11-08
Expires2027-11-08
Domain statusactive
Nameserverspam.ns.cloudflare.com、seth.ns.cloudflare.com
DNSSECunsigned

DNS records

DNS

TypeNameValueTTLPriority
Apinout.xyz104.26.2.125300—
Apinout.xyz104.26.3.125300—
Apinout.xyz172.67.69.168300—
AAAApinout.xyz2606:4700:20::681a:27d300—
AAAApinout.xyz2606:4700:20::681a:37d300—
AAAApinout.xyz2606:4700:20::ac43:45a8300—
MXpinout.xyzaspmx.l.google.com3001
MXpinout.xyzalt1.aspmx.l.google.com3005
MXpinout.xyzalt2.aspmx.l.google.com3005
MXpinout.xyzaspmx2.googlemail.com30010
MXpinout.xyzaspmx3.googlemail.com30010
NSpinout.xyzpam.ns.cloudflare.com86400—
NSpinout.xyzseth.ns.cloudflare.com86400—
TXTpinout.xyzgoogle-site-verification=Pgr__iStGiheD8xdrXRGS0u5w3W7xXaStFrGmwlgjko300—
TXTpinout.xyzv=spf1 include:_spf.google.com ~all300—
CAApinout.xyz0 issue "comodoca.com"3600—
CAApinout.xyz0 issue "digicert.com; cansignhttpexchanges=yes"3600—
CAApinout.xyz0 issue "letsencrypt.org"3600—
CAApinout.xyz0 issue "pki.goog; cansignhttpexchanges=yes"3600—
CAApinout.xyz0 issue "ssl.com"3600—
CAApinout.xyz0 issuewild "comodoca.com"3600—
CAApinout.xyz0 issuewild "digicert.com; cansignhttpexchanges=yes"3600—
CAApinout.xyz0 issuewild "letsencrypt.org"3600—
CAApinout.xyz0 issuewild "pki.goog; cansignhttpexchanges=yes"3600—
CAApinout.xyz0 issuewild "ssl.com"3600—

TLS and certificates

TLS / SSL

AssessmentNormal configuration
Supported protocolsTLSv1.2、TLSv1.3
Negotiated protocolTLSv1.3
Certificate subjectpinout.xyz
IssuerGoogle Trust Services
Valid until2026-12-18T07:46 · Remaining when checked: 63 days
Verification detailsCertificate trust: Passed · Hostname match: Passed

HTTP response headers

HTTP

HeaderValue
content-typetext/html; charset=utf-8
cache-controlmax-age=691200
servercloudflare
access-control-allow-origin*

Identified technologies

Pinout.xyz @ https://github.com/pinout-xyz/pinout.xyz, timestamp: 20260928T152212CloudflareFastly

Pages, Search and Sharing

Meta descriptionThe comprehensive add-on boards & GPIO Pinout guide for the Raspberry Pi
Canonical URLNot detected
LanguageEnglish (default) · Multilingual
Twitter CardNot detected

No robots.txt found

No sitemaps found

User reviews (0)

  • No reviews yet.