Connector Pinout Reference

Pinouts for USB-A/B/C, HDMI, RJ45, DB9, JTAG/SWD, Raspberry Pi GPIO, Arduino and ESP32 — diagrammed and searchable.

Example: Raspberry Pi 40-pin GPIO header: The 40-pin header common to every Raspberry Pi since the B+, including Pi 5. Odd pins are the inner row when the header is at the top of the board.

Check it against real silicon

Chiprun runs your firmware on an emulated microcontroller and hands back the UART output, so you can confirm these numbers rather than trusting them.

Chiprun docs

Frequently asked questions

What are the Raspberry Pi GPIO pin numbers?

There are two numbering schemes and they do not match. Physical (or BOARD) numbering counts pins 1–40 along the header. BCM numbering refers to the SoC's GPIO lines, so physical pin 7 is BCM GPIO4. Most libraries default to BCM, which is what the table above shows.

Are Raspberry Pi GPIO pins 5 V tolerant?

No. They are 3.3 V and connecting a 5 V signal directly can damage the SoC. Use a level shifter, or a divider for input-only signals. The 5 V pins on the header are power output, not I/O.

Why does my USB-C cable charge nothing?

Missing CC resistors. A USB-C sink has to advertise itself with 5.1 kΩ from each CC pin to ground; without them, a compliant source never turns on VBUS. Cheap adapters that omit these work on old chargers and fail on good ones.

What is the difference between T568A and T568B?

Only the orange and green pairs are swapped. Either works as long as both ends of a cable use the same one. A cable with A on one end and B on the other is a crossover — rarely needed now that equipment has Auto-MDIX.

Why does my SWD debugger say no target detected?

Most often VTref is not connected. It is not a supply — the debugger uses it to sense the target's I/O voltage, and without it the probe cannot set its levels. After that, check that the target is actually powered and that nRESET is wired.

Related tools