The short answer
M.2 sockets have notches in specific physical positions that limit which modules can be installed. These notches — called keys — guarantee that the electrical signals routed to the socket match what the module expects. Keying is the M.2 standard’s way of preventing incompatible installation. A module with the wrong key physically won’t fit; a module with a compatible key installs cleanly and works.
How keying works
An M.2 socket carries up to 67 pins across 75 contact positions on the edge connector. The standard defines twelve possible key positions, but only four are used in industrial computing:
-
//
A key. Two PCIe lanes plus USB 2.0. Used for legacy Wi-Fi and Bluetooth modules. Largely replaced by E-key on new designs.
-
//
B key. One PCIe lane, SATA, USB 2.0 and 3.0, audio. The historical home for SATA SSDs and cellular modems (3G, 4G, 5G) that combine PCIe with USB signaling.
-
//
E key. Two PCIe lanes plus USB 2.0. The default for Wi-Fi 6, Bluetooth, and Coral Edge TPU-class AI accelerators. Most NVIDIA Jetson developer kits ship with E-key slots.
-
//
M key. Four PCIe lanes plus SATA. The high-bandwidth key. NVMe SSDs use M-key to get the full four-lane PCIe path.
-
//
B+M (dual-keyed). A module with notches in both B and M positions. Physically fits B-only, M-only, or B+M sockets, but operates only as the host controller supports.
Why it matters for specification
For the engineer specifying hardware, the keying system means integration risk is front-loaded. Get the key right at procurement, and the module installs cleanly and works as expected. Get it wrong, and you have a module that physically fits the slot (if it’s a similarly-keyed format) but does nothing useful — or, more commonly, won’t fit at all.
The practical workflow is simple: check the host platform’s documentation for the socket key, order modules with matching keying, and verify the host controller supports the protocol the module needs (see NVMe vs SATA on M.2). Compared with the old mPCIe and mSATA world — where modules and sockets looked identical but routed different signals — M.2 keying is a meaningful improvement in fit-for-purpose specification.
For Things Embedded’s industrial motherboards, single-board computers, and embedded box PCs, the supported M.2 keys are documented on each product page. Read more in our M.2 expansion slots and keys white paper.