The Raspberry Pi 3 (Model B and B+) utilizes a standardized 40-pin GPIO header. Pin 1 is the 3.3V power pin located closest to the SD card slot. While the Pi 4 and Pi 5 dominate new deployments in 2026, the Pi 3 remains heavily installed in legacy industrial control panels, home automation hubs, and long-term hobbyist projects. Below is the complete physical and BCM (Broadcom) pin mapping, followed by critical wiring and troubleshooting protocols.
The Complete Raspberry Pi 3 Pinout GPIO Table
The BCM2837 (and BCM2837B0 on the B+) chip maps physical pins to internal GPIO numbers. Always use the BCM numbering in your Python/C code, but reference the Physical pin when wiring. For deeper hardware specifications, consult the official Raspberry Pi hardware documentation.
| Physical | BCM | Name | Function / Notes |
|---|---|---|---|
| 1 | - | 3V3 | 3.3V Power (Max 50mA draw) |
| 2 | - | 5V | 5V Power (Input from USB/adapter) |
| 3 | 2 | SDA1 | I2C Data (Hardware 1.8k pull-up) |
| 4 | - | 5V | 5V Power |
| 5 | 3 | SCL1 | I2C Clock (Hardware 1.8k pull-up) |
| 6 | - | GND | Ground |
| 7 | 4 | GPIO4 | General Purpose / 1-Wire default |
| 8 | 14 | TXD | UART Transmit (3.3V logic) |
| 9 | - | GND | Ground |
| 10 | 15 | RXD | UART Receive (3.3V logic) |
| 11 | 17 | GPIO17 | General Purpose |
| 12 | 18 | GPIO18 | PWM0 (Hardware PWM) |
| 13 | 27 | GPIO27 | General Purpose |
| 14 | - | GND | Ground |
| 15 | 22 | GPIO22 | General Purpose |
| 16 | 23 | GPIO23 | General Purpose |
| 17 | - | 3V3 | 3.3V Power |
| 18 | 24 | GPIO24 | General Purpose |
| 19 | 10 | MOSI | SPI0 MOSI |
| 20 | - | GND | Ground |
| 21 | 9 | MISO | SPI0 MISO |
| 22 | 25 | GPIO25 | General Purpose |
| 23 | 11 | SCLK | SPI0 SCLK |
| 24 | 8 | CE0 | SPI0 Chip Select 0 |
| 25 | - | GND | Ground |
| 26 | 7 | CE1 | SPI0 Chip Select 1 |
| 27 | 0 | ID_SD | HAT ID EEPROM Data (Do not use) |
| 28 | 1 | ID_SC | HAT ID EEPROM Clock (Do not use) |
| 29 | 5 | GPIO5 | General Purpose |
| 30 | - | GND | Ground |
| 31 | 6 | GPIO6 | General Purpose |
| 32 | 12 | GPIO12 | PWM0 (Alternate) |
| 33 | 13 | GPIO13 | PWM1 (Hardware PWM) |
| 34 | - | GND | Ground |
| 35 | 19 | MISO | SPI1 MISO / PCM Frame Sync |
| 36 | 16 | GPIO16 | General Purpose |
| 37 | 26 | GPIO26 | General Purpose |
| 38 | 20 | MOSI | SPI1 MOSI / PCM Data In |
| 39 | - | GND | Ground |
| 40 | 21 | SCLK | SPI1 SCLK / PCM Clock |
GPIO Harness Wire Color Standards (IEC vs. NEC vs. Legacy)
When building custom wiring harnesses or permanent terminal block adapters for the Pi 3, relying on random Dupont jumper wire colors leads to catastrophic debugging sessions. Professional embedded engineers follow regional DC wiring standards. The interactive diagrams on Pinout.xyz are excellent for software mapping, but physical harness fabrication requires adherence to color codes.
Below is the comparison of how to color-code your 3.3V, 5V, Ground, and Signal wires depending on your region and the standard your facility enforces.
| Function | IEC 60446 (EU/UK Modern) | NEC DC (US Standard) | Old UK (Pre-2004 DC) | Hobbyist Default |
|---|---|---|---|---|
| 5V Power | Brown | Red | Red | Red |
| 3.3V Power | Orange | Yellow | Yellow | Orange |
| Ground (GND) | Blue | Black or Grey | Black | Black |
| Signal / Data | Black or Grey | Blue or White | Green or Blue | Yellow / Green |
| Protective Earth | Green/Yellow Stripe | Green/Yellow Stripe | Green | N/A |
Rows People Get Wrong & Faded Silkscreen Recovery
Even experienced makers misinterpret specific pin functions or struggle when the board's physical markings are obscured. Here is how to navigate the most common pitfalls and safely identify pins when the silkscreen is missing.
The Rows People Get Wrong
- Pins 3 & 5 (I2C SDA/SCL): These pins have hardware 1.8kΩ pull-up resistors tied to the 3.3V rail on the Pi 3 board. If you are wiring an I2C device that already has onboard pull-ups, you create a parallel resistance that can skew the bus voltage. More importantly, never drive these pins as standard push-pull GPIO outputs; you will short the 3.3V rail through the internal pull-up.
- Pins 27 & 28 (ID_SD / ID_SC): These are reserved exclusively for reading the HAT (Hardware Attached on Top) identification EEPROM. They are connected to the I2C0 bus. Do not use them for general-purpose sensors, or you will cause boot-time enumeration errors when a HAT is attached.
- Pins 8 & 10 (UART TX/RX): By default, the Pi 3 routes the primary serial console to these pins. If you are trying to use them for an external microcontroller (like an Arduino) and get no data, ensure you have disabled the serial console in
raspi-configwhile keeping the serial hardware port enabled.
Safe Interpretation When Markings Are Faded or Missing
In industrial environments, flux residue, heat, and time can obliterate the white silkscreen text on the PCB. If you are handed a bare Pi 3 board with no visible pin labels, follow this safe recovery procedure:
- Locate Pin 1 via the Pad Shape: Look closely at the copper pads at the base of the header pins. Pin 1 is the only pad that is square. All other 39 pins have round pads. Pin 1 is always the 3.3V power pin.
- Use Physical Landmarks: Pin 1 is located on the side of the header closest to the SD card slot, and it is the pin closest to the corner of the board. Pin 2 (5V) is directly across from it on the opposite row.
- Verify Ground with Continuity: Before applying power, set your multimeter to continuity mode. Probe your suspected Ground pins (Pins 6, 9, 14, 20, 25, 30, 34, 39) against the metal shielding of the USB ports. They should read near 0.0Ω.
- Never Blind-Probe Voltage: If the board is powered and you are unsure of the layout, do not probe with a multimeter while looking at the voltage reading. A slip of the probe tip bridging Pin 2 (5V) and Pin 3 (3.3V I2C) will instantly fry the I2C bus and potentially the main PMIC. Always map the board with continuity checks while de-energized.






