M.2 (NGFF) Connector Pinout & Keys Explained
A detailed look at the M.2 standard, its various module keys, and common pin assignments.
The M.2 standard, formerly known as Next Generation Form Factor (NGFF), is a versatile specification for internally mounted computer expansion cards. It was designed to replace the mSATA standard and is used for a wide variety of devices, including Wi-Fi, orangetooth, WWAN (cellular), GPS, NFC, and most notably, Solid State Drives (SSDs).
M.2 Module Keys and Sockets
M.2 modules feature notches (keys) that correspond to different socket types on the motherboard or host device. These keys prevent incorrect insertion and ensure compatibility. A single M.2 card can have one or more notches.
The keying is defined by which pins are "missing" or "notched out" on the 75-pin edge connector. Here are the most common keys and their typical applications:
Key A (Pins 8-15 Notched)
- Primary Interfaces: PCIe x1 (or x2 with some configurations), USB 2.0. Also supports I2C, DisplayPort x4 (optional).
- Common Applications: Wi-Fi, orangetooth, WiGig (Wireless Gigabit), NFC (Near Field Communication).
- Often combined with Key E (see Key A+E).
Key B (Pins 12-19 Notched)
- Primary Interfaces: PCIe x2, SATA, USB 2.0/3.0, Audio, UIM (SIM card), I2C, SMBus.
- Common Applications: SSDs (SATA or PCIe x2 NVMe), WWAN (3G/4G/5G cellular modems), GPS.
- Modules can be 22mm wide and various lengths (e.g., 2230, 2242, 2260, 2280, 22110).
Key E (Pins 24-31 Notched)
- Primary Interfaces: PCIe x1 (or x2), USB 2.0. Also supports I2C, SDIO, UART, PCM.
- Common Applications: Wi-Fi, orangetooth, WiGig. Similar to Key A.
- Often found in an A+E keyed slot for Wi-Fi cards.
Key M (Pins 59-66 Notched)
- Primary Interfaces: PCIe x4 (main interface for high-performance NVMe SSDs), SATA (optional, depending on host support).
- Common Applications: High-performance NVMe SSDs.
- Modules can be 22mm wide and various lengths.
Combined Keys (e.g., B+M, A+E)
Some M.2 cards and slots use a combination of keys to support broader compatibility or multiple interfaces:
- Key B+M: These cards have two notches (one for Key B, one for Key M). They are typically designed for SSDs and can be inserted into sockets keyed for B, M, or B+M. They usually support SATA and/or PCIe x2 NVMe protocols. The host socket determines which protocol is used.
- Key A+E: Commonly used for Wi-Fi and orangetooth combo cards. These cards can fit in sockets keyed for A or E.
Important Note: Physical keying only prevents incorrect insertion. Electrical compatibility also depends on the host system supporting the protocol used by the M.2 card (e.g., a Key M slot might physically accept a SATA M.2 SSD with B+M keying, but if the slot only provides PCIe lanes, the SATA SSD won't work).
M.2 Connector Pinout (75 Positions)
The M.2 connector has 75 positions, with pins on both the top and bottom edges. Pin numbering is from 1 to 75. Not all pins are used by all modules; the specific pins used depend on the module's keying and the interfaces it implements.
The following table provides a general overview. Refer to specific device or motherboard documentation for precise implementations. Signals are often differential pairs (e.g., PETp0/PETn0 for PCIe Transmit Pair 0).
Pin | Pin | Pin | Pin |
---|---|---|---|
1 | CONFIG_3 | 2 | 3.3V |
3 | GND | 4 | 3.3V |
5 | GND | 6 | W_DISABLE# (Module Disable) |
7 | GND (PCIe_REQ#) | 8 | UIM_PWR (Key A/E) / Notched (Key A) |
9 | GND | 10 | UIM_DATA (Key A/E) / Notched (Key A) |
11 | PERn0 (PCIe Rx-) | 12 | Notched (Key B) / UIM_CLK (Key A/E) |
13 | PERp0 (PCIe Rx+) | 14 | Notched (Key B) / UIM_RESET (Key A/E) |
15 | GND | 16 | Notched (Key B) / UIM_VPP (Key A/E) |
17 | GND | 18 | Notched (Key B) / GND |
19 | Reserved / Notched (Key B) | 20 | Notched (Key B) / USB_D- |
21 | CONFIG_0 | 22 | Notched (Key B) / USB_D+ |
23 | PERn1 (PCIe Rx-) | 24 | Notched (Key E) / 3.3V |
25 | PERp1 (PCIe Rx+) | 26 | Notched (Key E) / GND |
27 | GND | 28 | Notched (Key E) / I2C_SCL |
29 | GND | 30 | Notched (Key E) / I2C_SDA |
31 | PETn0 (PCIe Tx-) | 32 | Notched (Key E) / I2C_IRQ# |
33 | PETp0 (PCIe Tx+) | 34 | Notched (Key E) / GND |
35 | GND | 36 | USB_D- (Key B) / UART_RXD (Key E) |
37 | GND | 38 | USB_D+ (Key B) / UART_TXD (Key E) |
39 | SATA_DEVSLP / PCIe_CLKREQ# (SSD) | 40 | GND |
41 | SATA_B_P / PETn1 (PCIe Tx-) | 42 | SATA_B_N |
43 | SATA_A_P / PETp1 (PCIe Tx+) | 44 | SATA_A_N |
45 | GND | 46 | PCIe_WAKE# / LED1# |
47 | REFCLKp (PCIe Clock+) | 48 | GND |
49 | REFCLKn (PCIe Clock-) | 50 | PCIe_RESET# |
51 | GND | 52 | PERST# (PCIe Reset) / SMB_CLK |
53 | PERn2 (PCIe Rx-) | 54 | CLKREQ# / SMB_DATA |
55 | PERp2 (PCIe Rx+) | 56 | PEWAKE# / SMB_ALERT# |
57 | GND | 58 | GND (DisplayPort HPD) |
59 | Notched (Key M) / CONFIG_1 | 60 | Notched (Key M) / GND |
61 | Notched (Key M) / PETn2 (PCIe Tx-) | 62 | Notched (Key M) / GND |
63 | Notched (Key M) / PETp2 (PCIe Tx+) | 64 | Notched (Key M) / GND |
65 | Notched (Key M) / PETn3 (PCIe Tx-) | 66 | Notched (Key M) / GND |
67 | GND / PETp3 (PCIe Tx+) | 68 | SUSCLK (32kHz) |
69 | CONFIG_2 | 70 | 3.3V |
71 | GND | 72 | 3.3V |
73 | GND | 74 | 3.3V |
75 | CONFIG_4 / GND |
Note: Pin functions can vary depending on the specific M.2 module type and the host system's implementation. "Notched" indicates pins removed for a specific key.
Configuration Pins (CONFIG_0-CONFIG_4)
Pins CONFIG_0, CONFIG_1, CONFIG_2, CONFIG_3, and CONFIG_4 are used by the M.2 module to indicate its presence and supported functionalities to the host system. The host reads the state of these pins (grounded by the module or left open) to determine how to interface with the card. The exact interpretation varies by module type (SSD, WWAN, Wi-Fi).
References & Further Reading
- Primary Source: M.2 (NGFF) Connector Pinout at PinoutGuide.com
- PCI-SIG
- Wikipedia: M.2 on Wikipedia
Need a Specific M.2 Pinout?
While this page provides a general overview, our M.2 Pinout Generator tool will help you find pinouts tailored to specific applications and keys!
M.2 Pinout GeneratorThis page provides a general overview. Always consult the official datasheets for your specific M.2 card and host device for precise pinout information and compatibility. Pin functionalities can vary significantly based on the device and its intended application.