board dev studio

Verified 2026-10

pimoroni M.2 HAT+

Raspberry Pi M.2 HAT+ (SC1166): adapts the Pi 5's single-lane PCIe 2.0 connector to one M.2 M-key socket for 2230 and 2242 modules, supplies up to 3 A to the SSD through an on-board AP3441SHE-7B buck, and carries a HAT+ ID EEPROM - $14.00 USD as measured at Pimoroni.

Place this board on a carrier in the editor →

Logic level3.3 V

Part & documents

Sourceshop.pimoroni.com/products/raspberry-pi-m-2-hat →

Specs

MCUnone (passive adapter: AP3441SHE-7B buck, M24C32 HAT+ EEPROM, 32.768 kHz oscillator)

Pinout

69 pads, as the vendor numbers them.

#NameFunctionSignals
1GNDGND
3GNDGND
5PETN3PETN3
7PETP3PETP3
9GNDGND
11PERN3PERN3
13PERP3PERP3
15GNDGND
17PETN2PETN2
19PETP2PETP2
21GNDGND
23PERN2PERN2
25PERP2PERP2
27GNDGND
29PETN1PETN1
31PETP1PETP1
33GNDGND
35PERN1PERN1
37PERP1PERP1
39GNDGND
41PETN0 (SATA B+)PETN0 (SATA B+)
43PETP0 (SATA B-)PETP0 (SATA B-)
45GNDGND
47PERN0 (SATA A-)PERN0 (SATA A-)
49PERP0 (SATA A+)PERP0 (SATA A+)
51GNDGND
53REFCLKNREFCLKN
55REFCLKPREFCLKP
57GNDGND
67NC1NC1
69PEDETPEDET
71GNDGND
73GNDGND
75GNDGND
23V33V3
43V33V3
6NC2NC2
8NC3NC3
10LED_NLED_N
123V33V3
143V33V3
163V33V3
183V33V3
20NC4NC4
22NC5NC5
24NC6NC6
26NC7NC7
28NC8NC8
30NC9NC9
32NC10NC10
34NC11NC11
36NC12NC12
38DEVSLPDEVSLP
40SMB_CLK_1V8SMB_CLK_1V8
42SMB_DAT_1V8SMB_DAT_1V8
44ALERT_N_1V8ALERT_N_1V8
46NC13NC13
48NC14NC14
50PERST_NPERST_N
52CLKREQ_NCLKREQ_N
54PEWAKE_NPEWAKE_N
56NC15NC15
58NC16NC16
68SUSCLKSUSCLK
703V33V3
723V33V3
743V33V3
76SH1SH1
77SH2SH2

Buses

BusSignalsPinsVoltageNote
PCIe ×1TX_P, TX_N, RX_P, RX_N, CLK_P, CLK_N, CLKREQ_N, RST_B, PEWAKE_NJ2 PCIe ribbon (P1-P16), socket pads 50 (PERST_N), 52 (CLKREQ_N), 53 (REFCLKN), 54 (PEWAKE_N), 55 (REFCLKP)
I2C ×1SMB_CLK, SMB_DAT, ALERT_Nsocket pads 40 / 42 / 44 (1.8 V SMBus)

Power

Input5 V from the Raspberry Pi 40-pin header; on-board regulation to 3.3 V 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; the missing 59-66 are the key notch), with the net names printed on Raspberry Pi's own schematic, which Pimoroni's documentation page links as RP-008218-DS. The 40-pin stacking header (J1, pads 1-40) and the 16-pin PCIe ribbon (J2, P1-P16 plus SH1/SH2) are vendor-numbered but the schematic's text layer carries no net per pad for them, so they are described in ai_context rather than given a made-up pin table. The HAT+ EEPROM's A0/A1/A2 straps are not legible in the schematic text, so `addresses` is empty rather than assuming 0x50. No datasheet_url: the adapter's headline silicon is a regulator and an EEPROM rather than a part the board is named after, and the M.2 socket has no published part document here.

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+ is an adapter board that converts the single-lane PCIe 2.0 connector on Raspberry Pi 5 into one M.2 M-key socket, taking 2230 and 2242 modules. Pimoroni's page quotes up to 500 MB/s peak transfer and says the board can supply up to 3 A to the M.2 device, recommending the official PSU; the board conforms to the HAT+ specification and is autodetected by current Raspberry Pi firmware. It ships with a 16 mm stacking header, the PCIe ribbon cable, threaded spacers and a knurled double-flanged drive screw. The Compact variant is the same adapter for 2230 modules only, and fits inside the official Raspberry Pi 5 case.
CONNECTORS: three of them, and only one is a numbered pin list in the schematic: J3, the M.2 M-key socket (MTSSD03-67MSW337), whose 69 pads are listed in `pins` using the socket's own M.2 numbering - pads 1 to 58 and 67 to 77, the gap being the M-key notch. J1 is a 2x20 (HLE-120-02-F-DV-BE-A) 40-pin stacking header that carries the Pi's GPIO through, with ID_SD on pad 27 and ID_SC on pad 28 wired to the EEPROM. J2 is the 16-pin PCIe ribbon connector (1-1734839-6) plus shield pads, carrying PCIE_TX_P/N, PCIE_RX_P/N, PCIE_CLK_P/N, PCIE_CLKREQ_N, PCIE_RST_B and PCIE_PEWAKE_N.
SOCKET PIN MAP: SUPPLY: 5 V arrives over the stacking header and is regulated down to the socket's 3.3 V rail (3V3_M2) by an AP3441SHE-7B buck converter, U1, with a 2u2 inductor (L1) and 10 uF 25 V X7R ceramics on input and output (C7, C10, C2, C5, C6, C8) plus 100 nF (C1, C9) for high-frequency decoupling. The socket's own 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, and the shield pads 76 and 77.
LOGIC LEVEL AND TOLERANCES: the PCIe pairs are differential and need no level shifting, but the socket's SMBus side is 1.8 V, not 3.3 V - the schematic names those nets SMB_CLK_1V8, SMB_DAT_1V8 and ALERT_N_1V8, so anything hanging off pads 40, 42 and 44 must be 1.8 V logic. PEDET (pad 69) identifies the module type to the host.
REFERENCE CIRCUIT: everything an M.2 device needs is already fitted - the buck converter and its ceramics, a 32.768 kHz oscillator (X1) for the socket's SUSCLK with the schematic annotating 3.5 mA maximum oscillator current, a PEWAKE pull-up inside the range the schematic notes from the PCIe spec (9 k to 60 k), and the HAT+ ID EEPROM U2 (M24C32-FMN6TP) on the ID_SD/ID_SC pair. Two DMG1012T MOSFETs and an NC7SB3157P6X analogue switch sit on CLKREQ and RESET, annotated 'belt and braces isolate CLKREQ and RESET when M2 power off'; the switch is strapped SEL 1 = B1, 0 = B0.
TRAPS: it is an M-key socket, so B-key and A/E-key modules do not fit. PEDET is shorted to ground on a SATA module and left open on a PCIe module, so a SATA M.2 device is identified as SATA and will not appear on PCIe. DEVSLP (pad 38) is a SATA-module signal and is not used for PCIe. The schematic notes that the positive and negative members of the TX and RX pairs are swapped for better routing - that is a polarity swap on the PCB, not an error to be unwound. 3 A for the SSD depends on a supply that can give it, hence the official-PSU recommendation. Autodetection depends on the HAT+ EEPROM, so stale firmware will not see the board. The 40-pin header and the PCIe ribbon are not in `pins` because the schematic numbers them but publishes no net-per-pad list in its text layer; they are described here instead of being guessed.
ADDRESSES: the HAT+ EEPROM is an M24C32 whose A0/A1/A2 straps are not shown in the schematic text, so no I2C address is recorded.

Provenance

Every figure on this page was read from the 3 sources below and last checked on Oct 30, 2026.