Verified 2026-10
pimoroni M.2 HAT+ Compact
Raspberry Pi M.2 HAT+ Compact (SC1771): a 2230-only M.2 M-key adapter for the Pi 5's single-lane PCIe 2.0 with a built-in flex/rigid FPC instead of a ribbon cable, about 450 MB/s and up to 3 A to the drive, sized to fit inside the official Pi 5 case - $16.00 USD as measured at Pimoroni.
Place this board on a carrier in the editor →
Part & documents
| Source | shop.pimoroni.com/products/raspberry-pi-m-2-hat-compact → |
|---|
Specs
| MCU | none (passive adapter: AP3441SHE-7B buck, M24C32 HAT+ EEPROM, 32.768 kHz oscillator) |
|---|
Pinout
69 pads, as the vendor numbers them.
| # | Name | Function | Signals |
|---|---|---|---|
| 1 | GND | GND | |
| 3 | GND | GND | |
| 5 | PETN3 | PETN3 | |
| 7 | PETP3 | PETP3 | |
| 9 | GND | GND | |
| 11 | PERN3 | PERN3 | |
| 13 | PERP3 | PERP3 | |
| 15 | GND | GND | |
| 17 | PETN2 | PETN2 | |
| 19 | PETP2 | PETP2 | |
| 21 | GND | GND | |
| 23 | PERN2 | PERN2 | |
| 25 | PERP2 | PERP2 | |
| 27 | GND | GND | |
| 29 | PETN1 | PETN1 | |
| 31 | PETP1 | PETP1 | |
| 33 | GND | GND | |
| 35 | PERN1 | PERN1 | |
| 37 | PERP1 | PERP1 | |
| 39 | GND | GND | |
| 41 | PETN0 (SATA B+) | PETN0 (SATA B+) | |
| 43 | PETP0 (SATA B-) | PETP0 (SATA B-) | |
| 45 | GND | GND | |
| 47 | PERN0 (SATA A-) | PERN0 (SATA A-) | |
| 49 | PERP0 (SATA A+) | PERP0 (SATA A+) | |
| 51 | GND | GND | |
| 53 | REFCLKN | REFCLKN | |
| 55 | REFCLKP | REFCLKP | |
| 57 | GND | GND | |
| 67 | NC1 | NC1 | |
| 69 | PEDET | PEDET | |
| 71 | GND | GND | |
| 73 | GND | GND | |
| 75 | GND | GND | |
| 2 | 3V3 | 3V3 | |
| 4 | 3V3 | 3V3 | |
| 6 | NC2 | NC2 | |
| 8 | NC3 | NC3 | |
| 10 | LED_N | LED_N | |
| 12 | 3V3 | 3V3 | |
| 14 | 3V3 | 3V3 | |
| 16 | 3V3 | 3V3 | |
| 18 | 3V3 | 3V3 | |
| 20 | NC4 | NC4 | |
| 22 | NC5 | NC5 | |
| 24 | NC6 | NC6 | |
| 26 | NC7 | NC7 | |
| 28 | NC8 | NC8 | |
| 30 | NC9 | NC9 | |
| 32 | NC10 | NC10 | |
| 34 | NC11 | NC11 | |
| 36 | NC12 | NC12 | |
| 38 | DEVSLP | DEVSLP | |
| 40 | SMB_CLK_1V8 | SMB_CLK_1V8 | |
| 42 | SMB_DAT_1V8 | SMB_DAT_1V8 | |
| 44 | ALERT_N_1V8 | ALERT_N_1V8 | |
| 46 | NC13 | NC13 | |
| 48 | NC14 | NC14 | |
| 50 | PERST_N | PERST_N | |
| 52 | CLKREQ_N | CLKREQ_N | |
| 54 | PEWAKE_N | PEWAKE_N | |
| 56 | NC15 | NC15 | |
| 58 | NC16 | NC16 | |
| 68 | SUSCLK | SUSCLK | |
| 70 | 3V3 | 3V3 | |
| 72 | 3V3 | 3V3 | |
| 74 | 3V3 | 3V3 | |
| 76 | SH1 | SH1 | |
| 77 | SH2 | SH2 |
Buses
| Bus | Signals | Pins | Voltage | Note |
|---|---|---|---|---|
| PCIe ×1 | TX_P, TX_N, RX_P, RX_N, CLK_P, CLK_N, CLKREQ_N, RST_B, PEWAKE_N | FPC built into the PCB, socket pads 50 (PERST_N), 52 (CLKREQ_N), 53 (REFCLKN), 54 (PEWAKE_N), 55 (REFCLKP) | ||
| I2C ×1 | SMB_CLK, SMB_DAT, ALERT_N | socket pads 40 / 42 / 44 (1.8 V SMBus) |
Power
| Input | 5 V from the Raspberry Pi 40-pin header; on-board 3.3 V regulation for the M.2 socket, rated to supply up to 3 A to the module |
|---|
Notes
Pads are the M.2 M-key socket's own numbering (1-58 and 67-77) with the net names printed on Raspberry Pi's schematic RP-008218-DS, which the documentation page covering both M.2 HAT+ variants links. Raspberry Pi publishes one schematic for the family, so the pin map is shared with the full-size M.2 HAT+ entry; the two entries differ in form factor support (2230 only here, 2230 and 2242 there), quoted throughput, and the built-in flex/rigid FPC. The 40-pin header and the FPC are vendor-numbered but the schematic text layer carries no net-per-pad for them, so they are described in ai_context rather than numbered into pins[]. No datasheet_url: `part` is null because the adapter is named for the connector it carries, not for its regulator or EEPROM.
AI context
Dense context for pasting into a model prompt — addresses, pinout, voltages, tolerances and the vendor's reference circuit.
BOARD: the Raspberry Pi M.2 HAT+ Compact is the short version of the M.2 HAT+, adapting the single-lane PCIe 2.0 connector on Raspberry Pi 5 to one M.2 M-key socket. It takes 2230 modules only, quotes about 450 MB/s (4 Gbits/s PCIe 2.0) and up to 3 A to the device, conforms to the HAT+ specification, and is autodetected by current firmware. Its distinguishing feature is a flex/rigid FPC built into the HAT+ PCB, so it needs no separate ribbon cable, and it is designed to sit inside the official Raspberry Pi 5 case on the three 8 mm M2.5 nylon spacers that ship with it. WHAT DIFFERS FROM THE FULL-SIZE M.2 HAT+: this board does not support 2242 modules, quotes 450 MB/s rather than 500, and is explicitly not designed for the Raspberry Pi Active Cooler because the supplied standoffs are not tall enough - Pimoroni points buyers at the full-size M.2 HAT+ for that combination. The electronics are the same family: Raspberry Pi publishes one schematic, RP-008218-DS, covering the M.2 M-Key HAT+ design. SOCKET PIN MAP: 69 pads on the M.2 M-key socket (J3, MTSSD03-67MSW337), numbered as M.2 numbers them - 1 to 58 and 67 to 77, the gap being the key notch - with the net names from Raspberry Pi's schematic: 1 GND, 3 GND, 5 PETN3, 7 PETP3, 9 GND, 11 PERN3, 13 PERP3, 15 GND, 17 PETN2, 19 PETP2, 21 GND, 23 PERN2, 25 PERP2, 27 GND, 29 PETN1, 31 PETP1, 33 GND, 35 PERN1, 37 PERP1, 39 GND, 41 PETN0 (SATA B+), 43 PETP0 (SATA B-), 45 GND, 47 PERN0 (SATA A-), 49 PERP0 (SATA A+), 51 GND, 53 REFCLKN, 55 REFCLKP, 57 GND, 67 NC1, 69 PEDET, 71 GND, 73 GND, 75 GND, 2 3V3, 4 3V3, 6 NC2, 8 NC3, 10 LED_N, 12 3V3, 14 3V3, 16 3V3, 18 3V3, 20 NC4, 22 NC5, 24 NC6, 26 NC7, 28 NC8, 30 NC9, 32 NC10, 34 NC11, 36 NC12, 38 DEVSLP, 40 SMB_CLK_1V8, 42 SMB_DAT_1V8, 44 ALERT_N_1V8, 46 NC13, 48 NC14, 50 PERST_N, 52 CLKREQ_N, 54 PEWAKE_N, 56 NC15, 58 NC16, 68 SUSCLK, 70 3V3, 72 3V3, 74 3V3, 76 SH1, 77 SH2. SUPPLY: 5 V from the Raspberry Pi 40-pin header is regulated down to the socket's 3.3 V rail (3V3_M2) by an AP3441SHE-7B buck converter with a 2u2 inductor and 10 uF 25 V X7R ceramics on input and output plus 100 nF decoupling. The socket's 3V3 pads are 2, 4, 12, 14, 16, 18, 70, 72 and 74; its grounds are 1, 3, 9, 15, 21, 27, 33, 39, 45, 51, 57, 71 and 73, plus shield pads 76 and 77. The board is rated to hand the module up to 3 A, which is why the official PSU is recommended. LOGIC LEVEL: the PCIe pairs are differential and need no translation, but the socket's SMBus pins are 1.8 V - the schematic names them SMB_CLK_1V8 (pad 40), SMB_DAT_1V8 (pad 42) and ALERT_N_1V8 (pad 44) - and PEDET on pad 69 tells the host what kind of module is fitted. REFERENCE CIRCUIT: everything an M.2 module expects is fitted - the buck and its ceramics, a 32.768 kHz oscillator for the socket's SUSCLK (annotated 3.5 mA maximum oscillator current), a PEWAKE pull-up inside the 9 k to 60 k range the schematic quotes from the PCIe spec, a 1.8 V HAT+ ID EEPROM (M24C32-FMN6TP) on ID_SD/ID_SC, and two DMG1012T MOSFETs plus an NC7SB3157P6X switch that the schematic annotates as isolating CLKREQ and RESET whenever M.2 power is off. TRAPS: only 2230 modules fit. An Active Cooler cannot be combined with this HAT because the standoffs are too short - that is Pimoroni's own warning, not a fitment opinion. PEDET is grounded on a SATA module and open on a PCIe module, so a SATA M.2 drive is identified as SATA and will not appear on PCIe; DEVSLP (pad 38) is a SATA-only signal. The schematic notes the TX and RX differential pairs are polarity-swapped for routing, which is deliberate. No SSD is included. Autodetection needs current firmware, and a stale install will not see the board. ADDRESSES: the HAT+ EEPROM is an M24C32 whose A0/A1/A2 straps are not shown in the schematic text, so no address is recorded; the socket's own SMBus is a bus, not a fixed address.
Provenance
Every figure on this page was read from the 3 sources below and last checked on Oct 30, 2026.