The Raspberry Pi 3 features a 40-pin GPIO header. Pin 1 is the 3.3V power pin located closest to the SD card slot and the Pi logo, identifiable by its square solder pad. The most critical rule for the pi3 gpio pinout is that all logic pins operate at 3.3V; applying 5V to any GPIO input will permanently destroy the Broadcom BCM2837 SoC.

The Complete Pi3 GPIO Pinout Reference Table

Below is the data-dense, dual-column mapping of the 40-pin header. This layout mimics the physical board with the USB ports facing you and the GPIO header on the top right. The BCM (Broadcom SOC channel) column is the numbering system used by modern Python libraries like gpiozero and RPi.GPIO when set to BCM mode.

PinBCMName / FunctionPinBCMName / Function
1-3.3V Power2-5V Power
32SDA1 (I2C)4-5V Power
53SCL1 (I2C)6-Ground
74GPCLK0814TXD (UART)
9-Ground1015RXD (UART)
1117GPIO 171218PCM_CLK / PWM0
1327GPIO 2714-Ground
1522GPIO 221623GPIO 23
17-3.3V Power1824GPIO 24
1910MOSI (SPI0)20-Ground
219MISO (SPI0)2225GPIO 25
2311SCLK (SPI0)248CE0 (SPI0)
25-Ground267CE1 (SPI0)
270ID_SD (I2C ID)281ID_SC (I2C ID)
295GPIO 530-Ground
316GPIO 63212GPIO 12 / PWM0
3313GPIO 13 / PWM134-Ground
3519MISO (SPI1)3616CE2 (SPI1)
3726GPIO 263820MOSI (SPI1)
39-Ground4021SCLK (SPI1)
Power Draw Limits: The 3.3V rail (Pins 1 and 17) is fed by an onboard LDO regulator. Do not draw more than 50mA total from the 3.3V pins. If your sensors or LEDs require more current, power them from the 5V pins (2 or 4) and use logic level shifters to interface with the 3.3V GPIOs.

Numbering Standards and Wire Color Codes

When wiring physical circuits to the Pi3, you are bridging two different worlds: software numbering standards and physical wire color conventions. Misaligning these is the primary cause of breadboard shorts.

Software Numbering Variants

  • BCM (Broadcom): The hardware-level GPIO numbers (e.g., BCM 17 for Physical Pin 11). This is the modern standard for Python and C++ development.
  • Physical (BOARD): The literal pin count from 1 to 40. Best for beginners using a ribbon cable and a GPIO breakout board.
  • WiringPi: A legacy numbering system created by Gordon Henderson. It maps pins sequentially (0-31) regardless of BCM numbers. Note: WiringPi was deprecated in 2019, but you will still see it in older Pi3 C/C++ tutorials. Avoid it for new projects.

DC Control Wire Color Standards (Regional Variants)

Unlike mains AC wiring, low-voltage DC control wiring does not have a single globally enforced legal code, but adhering to established standards prevents catastrophic mistakes when sharing code or hardware.

FunctionUS Hobby / NEC-derivedIEC 60446 (International)Legacy / Old UK (Pre-2004)
5V DC PositiveRedBrownRed or Yellow
3.3V Logic PositiveOrange or YellowOrange (or Brown w/ stripe)Orange
Ground (DC Negative)BlackBlueBlack or Green
Signal / Data LinesGreen, Blue, PurpleBlack (for control wiring)White or Grey

Safe Interpretation: If you are working on a Pi3 project built by someone in Europe using IEC 60446 standards, their Blue wires are Ground, not 5V signals. Always verify unknown wiring with a multimeter in continuity mode against a known Ground pin (like Pin 6) before applying power.

Rows People Get Wrong and Faded Board Recovery

Even with the table above, certain pins on the Pi3 harbor hardware-specific quirks that trap experienced makers. According to Pinout.xyz and the official Raspberry Pi documentation, these are the most common failure points.

The 'Gotcha' Pins

  • Pins 8 & 10 (UART TX/RX): On the Pi 3, the primary hardware UART (ttyAMA0) is routed to the onboard Bluetooth module. Pins 8 and 10 are mapped to the secondary 'mini-UART' (serial0), which lacks a stable baud rate clock. If you need reliable serial communication (e.g., for a GPS module or Arduino bridge), you must disable Bluetooth in /boot/config.txt by adding dtoverlay=disable-bt to restore the primary UART to these pins.
  • Pins 3 & 5 (I2C SDA/SCL): These pins have onboard 1.8kΩ pull-up resistors tied to the 3.3V rail. If you are connecting 5V I2C devices, these pull-ups will back-feed 3.3V into your 5V device, potentially causing logic errors. Use an I2C level shifter.
  • Pins 27 & 28 (ID_SD / ID_SC): Reserved for the HAT (Hardware Attached on Top) identification EEPROM. Do not use these for general GPIO; doing so will prevent the Pi from auto-configuring HATs on boot.

Recovering Pin 1 on Faded or Unmarked Boards

If you are working with a cloned Pi3 board, a board with scratched silkscreen, or a custom carrier board where the 40-pin header lacks a physical shroud, do not guess Pin 1. A reversed power connection will instantly kill the board. Use these three physical verification methods:

  1. The Square Pad Rule: Flip the board over (or look closely at the top). Pin 1 is the only pin on the header with a square solder pad. All other pins (2 through 40) have round or oval solder pads.
  2. The Silkscreen Triangle: On genuine Raspberry Pi boards, there is a tiny white silkscreen triangle printed on the PCB pointing directly at Pin 1. On faded boards, use a magnifying glass and a flashlight at a low angle to catch the contrast.
  3. The Component Proximity Rule: Pin 1 is always located on the edge of the header closest to the SD card slot and the main SoC, and furthest from the USB/Ethernet ports. Pin 2 is directly adjacent to the USB port side.
Pro-Tip for HATs: If you are designing a custom HAT or wiring a ribbon cable, always use a polarized connector or physically block Pin 1 with a keying plug. Relying on user alignment for a 40-pin header with 5V and Ground adjacent to 3.3V logic is a recipe for dead silicon.