PCI Express pinout: the card-edge connector, x1 to x16
The PCI Express card-edge connector (CEM) has contacts on both faces of the card: side B on the component side, side A on the solder side. An x1 card uses pins 1 to 18, x4 pins 1 to 32, x8 pins 1 to 49 and x16 pins 1 to 82, with the key notch after pin 11.
By Hugues Orgitello · Updated ·
x1 connector, pins 1 to 18 (36 contacts)
Signal names from the CEM specification, directions seen from the add-in card. The CEM names the pairs from the system board: PETp/PETn is the system board transmitter, so an input for the card; PERp/PERn is the card transmitter.
| Pin | Signal | Dir. | Description |
|---|---|---|---|
| B1 | +12V | Main +12 V supply (Power) | |
| A1 | PRSNT1# | Presence detect: the card ties it to its farthest PRSNT2# pin (Configuration) | |
| B2 | +12V | Main +12 V supply (Power) | |
| A2 | +12V | Main +12 V supply (Power) | |
| B3 | +12V | Main +12 V supply (Power) | |
| A3 | +12V | Main +12 V supply (Power) | |
| B4 | GND | Ground (Ground) | |
| A4 | GND | Ground (Ground) | |
| B5 | SMCLK | I/O | SMBus clock (optional) (Signal) |
| A5 | TCK | In | JTAG clock (optional) (Signal) |
| B6 | SMDAT | I/O | SMBus data (optional) (Signal) |
| A6 | TDI | In | JTAG data in (optional) (Signal) |
| B7 | GND | Ground (Ground) | |
| A7 | TDO | Out | JTAG data out (optional) (Signal) |
| B8 | +3.3V | Main +3.3 V supply (Power) | |
| A8 | TMS | In | JTAG mode select (optional) (Signal) |
| B9 | TRST# | In | JTAG reset, active low (optional) (Signal) |
| A9 | +3.3V | Main +3.3 V supply (Power) | |
| B10 | +3.3Vaux | Auxiliary +3.3 V supply, present in standby (optional) (Power) | |
| A10 | +3.3V | Main +3.3 V supply (Power) | |
| B11 | WAKE# | Out | Wake request, open drain, active low (Signal) |
| A11 | PERST# | In | Fundamental reset driven by the system board, active low (Signal) |
| B12 | CLKREQ# | I/O | Reference clock request, open drain, optional (RSVD before the 2013 ECN) (Signal) |
| A12 | GND | Ground (Ground) | |
| B13 | GND | Ground (Ground) | |
| A13 | REFCLK+ | In | 100 MHz reference clock, positive (Differential pair) |
| B14 | PETp0 | In | Lane 0 transmit pair, positive: system board transmitter, card receiver (Differential pair) |
| A14 | REFCLK- | In | 100 MHz reference clock, negative (Differential pair) |
| B15 | PETn0 | In | Lane 0 transmit pair, negative: system board transmitter, card receiver (Differential pair) |
| A15 | GND | Ground (Ground) | |
| B16 | GND | Ground (Ground) | |
| A16 | PERp0 | Out | Lane 0 receive pair, positive: card transmitter, system board receiver (Differential pair) |
| B17 | PRSNT2# | Presence detect, end of the x1 connector: an x1 card ties it to PRSNT1#, a wider card leaves it unconnected (Configuration) | |
| A17 | PERn0 | Out | Lane 0 receive pair, negative: card transmitter, system board receiver (Differential pair) |
| B18 | GND | Ground (Ground) | |
| A18 | GND | Ground (Ground) |
x4 connector, pins 1 to 32 (64 contacts)
Pins 1 to 18 are the x1 pins. Pins 19 to 32 add lanes 1 to 3, PWRBRK# on B30 and the end-of-x4 PRSNT2# on B31. Directions seen from the card.
| Pin | Signal | Dir. | Description |
|---|---|---|---|
| B1 | +12V | Main +12 V supply (Power) | |
| A1 | PRSNT1# | Presence detect: the card ties it to its farthest PRSNT2# pin (Configuration) | |
| B2 | +12V | Main +12 V supply (Power) | |
| A2 | +12V | Main +12 V supply (Power) | |
| B3 | +12V | Main +12 V supply (Power) | |
| A3 | +12V | Main +12 V supply (Power) | |
| B4 | GND | Ground (Ground) | |
| A4 | GND | Ground (Ground) | |
| B5 | SMCLK | I/O | SMBus clock (optional) (Signal) |
| A5 | TCK | In | JTAG clock (optional) (Signal) |
| B6 | SMDAT | I/O | SMBus data (optional) (Signal) |
| A6 | TDI | In | JTAG data in (optional) (Signal) |
| B7 | GND | Ground (Ground) | |
| A7 | TDO | Out | JTAG data out (optional) (Signal) |
| B8 | +3.3V | Main +3.3 V supply (Power) | |
| A8 | TMS | In | JTAG mode select (optional) (Signal) |
| B9 | TRST# | In | JTAG reset, active low (optional) (Signal) |
| A9 | +3.3V | Main +3.3 V supply (Power) | |
| B10 | +3.3Vaux | Auxiliary +3.3 V supply, present in standby (optional) (Power) | |
| A10 | +3.3V | Main +3.3 V supply (Power) | |
| B11 | WAKE# | Out | Wake request, open drain, active low (Signal) |
| A11 | PERST# | In | Fundamental reset driven by the system board, active low (Signal) |
| B12 | CLKREQ# | I/O | Reference clock request, open drain, optional (RSVD before the 2013 ECN) (Signal) |
| A12 | GND | Ground (Ground) | |
| B13 | GND | Ground (Ground) | |
| A13 | REFCLK+ | In | 100 MHz reference clock, positive (Differential pair) |
| B14 | PETp0 | In | Lane 0 transmit pair, positive: system board transmitter, card receiver (Differential pair) |
| A14 | REFCLK- | In | 100 MHz reference clock, negative (Differential pair) |
| B15 | PETn0 | In | Lane 0 transmit pair, negative: system board transmitter, card receiver (Differential pair) |
| A15 | GND | Ground (Ground) | |
| B16 | GND | Ground (Ground) | |
| A16 | PERp0 | Out | Lane 0 receive pair, positive: card transmitter, system board receiver (Differential pair) |
| B17 | PRSNT2# | Presence detect, end of the x1 connector: an x1 card ties it to PRSNT1#, a wider card leaves it unconnected (Configuration) | |
| A17 | PERn0 | Out | Lane 0 receive pair, negative: card transmitter, system board receiver (Differential pair) |
| B18 | GND | Ground (Ground) | |
| A18 | GND | Ground (Ground) | |
| B19 | PETp1 | In | Lane 1 transmit pair, positive: system board transmitter, card receiver (Differential pair) |
| A19 | RSVD | Reserved: leave unconnected (Not connected) | |
| B20 | PETn1 | In | Lane 1 transmit pair, negative: system board transmitter, card receiver (Differential pair) |
| A20 | GND | Ground (Ground) | |
| B21 | GND | Ground (Ground) | |
| A21 | PERp1 | Out | Lane 1 receive pair, positive: card transmitter, system board receiver (Differential pair) |
| B22 | GND | Ground (Ground) | |
| A22 | PERn1 | Out | Lane 1 receive pair, negative: card transmitter, system board receiver (Differential pair) |
| B23 | PETp2 | In | Lane 2 transmit pair, positive: system board transmitter, card receiver (Differential pair) |
| A23 | GND | Ground (Ground) | |
| B24 | PETn2 | In | Lane 2 transmit pair, negative: system board transmitter, card receiver (Differential pair) |
| A24 | GND | Ground (Ground) | |
| B25 | GND | Ground (Ground) | |
| A25 | PERp2 | Out | Lane 2 receive pair, positive: card transmitter, system board receiver (Differential pair) |
| B26 | GND | Ground (Ground) | |
| A26 | PERn2 | Out | Lane 2 receive pair, negative: card transmitter, system board receiver (Differential pair) |
| B27 | PETp3 | In | Lane 3 transmit pair, positive: system board transmitter, card receiver (Differential pair) |
| A27 | GND | Ground (Ground) | |
| B28 | PETn3 | In | Lane 3 transmit pair, negative: system board transmitter, card receiver (Differential pair) |
| A28 | GND | Ground (Ground) | |
| B29 | GND | Ground (Ground) | |
| A29 | PERp3 | Out | Lane 3 receive pair, positive: card transmitter, system board receiver (Differential pair) |
| B30 | PWRBRK# | In | Power brake (emergency power reduction), open drain, optional (RSVD before the 2015 ECN) (Signal) |
| A30 | PERn3 | Out | Lane 3 receive pair, negative: card transmitter, system board receiver (Differential pair) |
| B31 | PRSNT2# | Presence detect, end of the x4 connector: an x4 card ties it to PRSNT1# (Configuration) | |
| A31 | GND | Ground (Ground) | |
| B32 | GND | Ground (Ground) | |
| A32 | RSVD | Reserved: leave unconnected (Not connected) |
A PCI Express add-in card to design, a slot to integrate on a carrier board, a link that will not train at the right width? We design and route these high-speed interfaces, from schematic to prototype.
Side A, side B and pair direction
Side B is the component side of the card, side A the solder side. Pins A1 and B1 face each other, one on each side of the card. Pin 1 is at the bracket end: the short segment of pins 1 to 11 carries power and the sideband signals, and the distance from the key notch to the bracket is the same for every width.
The classic trap is the pair naming. The CEM names the pairs from the system board: PETp0/PETn0 (B14, B15) is the system board transmitter, which the card receives; PERp0/PERn0 (A16, A17) is the card transmitter. On an add-in card, the PCIe device’s transmit pair therefore goes to side A and its receive pair comes from side B. The public card tables from NVIDIA and LimeFEA confirm it: B14 is the card RX input there, A16 its TX output.
PRSNT1# and PRSNT2#: wiring per width
Each connector width ends with a PRSNT2# pin: B17 for x1, B31 for x4, B48 for x8, B81 for x16. On the card, PRSNT1# (A1) is tied by a trace to the farthest PRSNT2# pin, the one of its own width. The intermediate PRSNT2# pins stay unconnected: an x4 card ties A1 to B31 and leaves B17 open, an x16 card ties A1 to B81 and leaves B17, B31 and B48 open.
On the system board, this loop serves presence detection for hot-plug: the PRSNT2# that comes back tied to PRSNT1# tells that a card is in place and its mechanical width. The PRSNT contacts are shorter than the others, so they only connect once the card is fully inserted.
PERST#, REFCLK and CLKREQ#
PERST# (A11) is the fundamental reset, driven by the system board. The CEM requires it to stay asserted for at least 100 ms after the supplies are stable, and at least 100 µs after REFCLK is stable. It must be asserted again within 500 ns of a supply going out of tolerance, and a reset pulse lasts at least 100 µs.
REFCLK+/REFCLK- (A13, A14) is the reference clock supplied by the system board: 100 MHz in HCSL logic, ±300 ppm up to PCIe 4.0 and ±100 ppm for PCIe 5.0 and 6.0. Spread spectrum clocking (SSC) is not required by the specification; it cuts emissions, and congatec enables it by default on most of its x86 products.
CLKREQ# (B12) came with the 2013 L1 PM Substates ECN; the pin was reserved before. It is an optional open-drain signal that the card pulls low to request the reference clock; with L1 substates, either the system board or the card can assert it to exit L1. The pull-up is on the system board.
WAKE#, +3.3Vaux, SMBus, JTAG and PWRBRK#
WAKE# (B11) is an open-drain, active-low signal, with the pull-up on the system board. It is only required if the card or the system supports wakeup (or the OBFF mechanism). To wake a powered-down machine, the card needs standby power: that is the job of +3.3Vaux (B10), optional on the system side, limited to 375 mA by the CEM.
SMBus (SMCLK B5, SMDAT B6) and JTAG (A5 to A8, TRST# on B9) are optional, each as a block: if the function is implemented, all its pins are. SMBus input levels are referenced to the 3.3 V standby supply, not the main +3.3 V. The NVIDIA BlueField and LimeFEA cards listed in the sources leave JTAG unconnected.
PWRBRK# (B30, from x4 up) was defined by a 2015 ECN on a pin that was reserved until then. Open drain, active low, driven by the system: a card that supports it must cut its power within 10 µs. The card carries a weak pull-up (95 kΩ minimum), the system a stronger one. The ECN mentions earlier proprietary uses of B30: a system board that pulls it low can throttle a recent card.
AC coupling caps, polarity and lane reversal
Every pair is AC coupled, and the capacitors go on the transmitter side: the add-in card carries those of its PERp/PERn pairs (side A), the system board those of its PETp/PETn pairs (side B). A card therefore puts no capacitor on the pairs it receives. The base specification asks for 75 to 265 nF at Gen 1 and 2, 176 to 265 nF at Gen 3: a 220 nF value covers both.
Polarity inversion is mandatory for every PCI Express receiver, on each lane independently: you may swap p and n of a data pair to simplify routing, and the receiver corrects it during link training. The Raspberry Pi CM4 IO board does this on its x1 slot. Lane reversal (lane 0 on lane 3) is optional, however: check that one of the two devices supports it before routing an x4 link reversed.
Power available from the slot
All the supplies sit on pins 1 to 11: a wider connector adds no power pin. Whatever the width, +3.3 V is limited to 3 A. What changes is +12 V and the total power: an x1 card is limited to 10 W (0.5 A on +12 V); an x4 or wider card to 25 W (2.1 A on +12 V). A full-height x1 card may go up to 25 W once software configures it as a high-power device.
A full-size x16 graphics card may draw 75 W from the slot (5.5 A on +12 V) after high-power configuration. Beyond that, power comes through the 6 or 8-pin auxiliary connectors, not the card edge. +3.3Vaux is limited to 375 mA. Size the card to the budget of its own width, not to that of the slot it sits in.
x8 and x16: the same pattern, continued
From pin 33 on, each lane takes four pins and the pattern repeats. On side B, the lane 4 PET pair is on B33-B34, lane 5 on B37-B38, and so on every four pins; on side A, the PER pair is offset by two pins (lane 4 on A35-A36, lane 7 on A47-A48). The remaining pins are grounds. The x8 connector ends at pin 49, with PRSNT2# on B48; A32 and A33 are reserved.
x16 resumes at pin 50 with a one-pin offset: A50 is reserved, lane 8 transmits on B50-B51 and receives on A52-A53, up to lane 15 on B78-B79 and A80-A81. The connector ends at pin 82, with PRSNT2# on B81, B82 reserved and A82 grounded. An x16 card thus has all four possible PRSNT2# positions; it ties only one, B81.
A card fits a slot of its own size or larger, and the link negotiates the common width. The mechanical width does not guarantee the wired lanes: an x16 slot may be wired x4 only (written "x16 @ x4" or "x16 (x4 mode)").
FAQ
- What is the difference between side A and side B of a PCIe card?
- Side B is the component side, side A the solder side; An and Bn face each other. Side B carries the PET pairs (system board transmit), side A the PER pairs (card transmit). REFCLK and PERST# are on side A, WAKE# and SMBus on side B.
- How do you wire PRSNT1# and PRSNT2# on an x4 card?
- Tie A1 (PRSNT1#) to B31, the end-of-x4 PRSNT2#, and leave B17 unconnected. An x1 card ties A1 to B17, an x8 card to B48, an x16 card to B81.
- How many watts does a PCIe slot supply?
- 10 W for an x1 card at power-up, 25 W for a standard x4, x8 or x16 card, and 75 W for a full-size x16 graphics card configured as high power. +3.3 V is limited to 3 A whatever the width.
- Where do the PCIe AC coupling capacitors go on an add-in card?
- On the pairs the card transmits, PERp/PERn on side A, near the transmitter. The received pairs (PETp/PETn, side B) get none on the card: the system board carries them on its own transmitter. 220 nF suits Gen 1 to Gen 3.
- Is pin B12 CLKREQ# or reserved?
- Both, depending on the revision: reserved in the early CEM revisions, it became CLKREQ# (optional) with the 2013 L1 PM Substates ECN. The NVIDIA BlueField and LimeFEA cards listed in the sources leave it unconnected.
- Can you swap p and n of a PCIe pair in layout?
- Yes for the data pairs: every PCI Express receiver must correct polarity inversion, lane by lane. Reversing the lane order is optional and must be checked in the documentation of both devices.
- PCI-SIG, PCI Express Card Electromechanical Specification (CEM), connector pinout table and Chapter 2 auxiliary signals (paid or members-only document)
- PCI-SIG, ECN L1 PM Substates with CLKREQ, Rev 1.0a, 2013 (CEM pinout excerpt pins 12-18, CLKREQ# on B12, auxiliary signal DC specifications)
- PCI-SIG, ECN Emergency Power Reduction Mechanism with PWRBRK Signal, 2015 (CEM pinout pins 19-32, PWRBRK# on B30, Table 2-4 PERST# and WAKE# timings)
- Raspberry Pi, Compute Module 4 IO Board datasheet (PCIe x1 slot schematic, pins A1-A18 and B1-B18, PN swaps, slot power note)
- Texas Instruments, TUSB7340EVM user guide SLLU146D (PCIe x1 card-edge schematic, side B component / side A solder, 3.3Vaux 375 mA)
- NVIDIA, BlueField-3 DPU user guide, PCI Express x16 pin description (card side, pins A1-A82 and B1-B82)
- NVIDIA, BlueField-2 DPU controller user guide, pin description (card RX on PETp, TX on PERp; PRSNT2# on B81)
- Lime Microsystems, LimeFEA mPCIe board, PCIe x4 edge connector table (A1 tied to B31)
- Texas Instruments, DS160PT801X16EVM user guide SNLU254A, PCIe PRSNT# signal control
- Texas Instruments E2E, DS80PCI402 AC coupling capacitance values (PCIe base spec 75-265 nF and 176-265 nF)
- Texas Instruments E2E, DS80PCI102 and AC coupling capacitor locations (PCI-SIG board design guidelines: Tx pairs on system board and on add-in card)
- Texas Instruments E2E, TDA4VM PCIe routing (lane polarity inversion required, lane reversal optional)
- congatec, AN45 PCI Express Reference Clock Design Considerations
- Euresys, Grablink Express handbook, power supply (board needing a 25 W or 75 W PCIe slot; CEM 1.1 tolerances)
- Euresys, Grablink Quickpack CFA handbook, board power supply (complies with the 10 W slot)
- Intel, NUC 12 Extreme technical product specification, add-in card limitations (75 W from the PCI Express slot)
- FCI (Amphenol), drawing 10018783 PCI Express card edge connector, Rev T (1 mm pitch, key position, slot lengths 25 / 39 / 56 / 89 mm)
- KiCad footprint library, Connector_PCBEdge BUS_PCIexpress_x1, x4, x8 and x16 (card edge outline, notch and pad positions)
- Wikipedia, PCI Express: connector pinout table, slot power (citing CEM 1.1 and 2.0), slot size and electrical width, connector pin and length table
Tables built from these documents and cross-checked against manufacturer datasheets. Always check the datasheet of the connector you actually use: some manufacturers number differently.
- PCI Express electronic board design
- PCI Express bus: generations, speeds and link design
- High-speed PCB design: stack-up and impedance for PCI Express links
- Eye diagram and jitter: reading signal integrity
- FPGA board design, from PCIe to industrialisation
- Differential pair impedance calculator
- M.2 pinout (B, M and E keys)
Other pinouts
- USB-C
- USB-A, USB-B, Mini and Micro
- RJ45 Ethernet
- M12 industrial
- DB9 (DE-9)
- JTAG and SWD
- HDMI
- Raspberry Pi GPIO
- M.2 (keys M, B and E)
- SD and microSD card
- SATA
- DDR4 DIMM and SO-DIMM
- DDR5 DIMM and SO-DIMM
- OBD2 (OBD-II, J1962)
- ESP32, S3, C3 and C6
- Bosch ECUs EDC15P+, EDC16C34, MD1CS006
- RJ11, RJ14, RJ12 (6P6C)
- VGA (DE-15) and DVI
- RS-485 (Modbus)
- Arduino Uno, Nano and Mega