Raspberry Pi M.2 HAT+

Raspberry Pi M.2 HAT+ — — development board

The Raspberry Pi M.2 HAT+ is a $12 official accessory that adds an M.2 NVMe SSD slot to the Raspberry Pi 5 over PCIe 2.0 x1 (~500 MB/s) or unofficial PCIe 3.0 x1 (~900 MB/s). It supports M-key NVMe SSDs in 2230 and 2242 form factors, ships with the required FFC cable and standoffs, and stacks cleanly on the Pi 5's GPIO header.

★★★★★ 4.5/5.0

The official Pi 5 NVMe upgrade — the cheapest way to escape SD card hell, but stuck on small SSD form factors.

Best for: Pi 5 desktop replacement builds (eliminates the SD card bottleneck)Pi 5 home servers running Docker, Home Assistant, or Plexsmall NAS builds with a single fast NVMe SSDanyone tired of microSD failures and wear-out on long-running Pis
Not for: Raspberry Pi 4 owners (incompatible — needs different M.2 HAT)users wanting common 2280 SSDs (use Pimoroni NVMe Base instead)

Where to Buy

Check Price on Amazon (paid link)

Pros

  • $12 is the cheapest official path to NVMe storage on Pi 5
  • PCIe 2.0 x1 delivers ~500 MB/s — 5-10x faster than the best microSD card
  • Unofficial PCIe 3.0 mode reaches ~900 MB/s with compatible SSDs
  • Includes the FFC cable and standoffs needed for installation — truly plug-and-play
  • Made by the Raspberry Pi Foundation — first-class compatibility and firmware support

Cons

  • Only fits 2230 and 2242 NVMe form factors — no support for common 2280 SSDs
  • PCIe 3.0 mode is unofficial and can cause boot failures with some SSDs
  • FFC cable orientation is critical — backwards installation = no boot
  • Pi 5 + NVMe needs the official 5V/5A USB-C PSU for stable operation

Why NVMe Transforms the Pi 5 Experience

The Raspberry Pi 5 is the first Pi with enough CPU and IO to be limited by storage rather than processor. Running off a microSD card, even a fast A2 V30 card, the Pi 5 tops out around 80-100 MB/s with random read latency that makes the operating system feel sluggish. Application launches stutter, package installs crawl, and video editing or virtualization workloads grind. The CPU sits idle waiting for the storage. NVMe over PCIe 2.0 delivers ~500 MB/s sequential and dramatically lower latency — the difference between "this is a fun hobby board" and "this is a real computer."

Boot times alone tell the story: a Raspberry Pi OS install on a fast microSD card boots to desktop in 25-30 seconds; the same install on a PCIe 2.0 NVMe SSD boots in 8-12 seconds. Application launches drop from 3-5 seconds to under 1 second. apt update and apt upgrade complete 3-5x faster because they're storage-bound, not CPU-bound. Video editing in Kdenlive becomes practical because the project file IO no longer dominates timeline scrubbing.

PCIe 3.0 mode (unofficial but widely supported) doubles sequential throughput to ~900 MB/s. For most desktop and server workloads, the gain over PCIe 2.0 is small — random IO and latency are similar, only large sequential transfers benefit. PCIe 3.0 also pushes the Pi 5 further outside its officially-supported envelope, increasing the chance of compatibility issues with some SSDs. For most users, leaving it at PCIe 2.0 is the safer choice and the speed is already night-and-day better than SD cards.

Form Factor Reality: 2230, 2242, NOT 2280

The HAT+ board is sized to fit on top of the Pi 5 stacked via GPIO standoffs, which constrains the M.2 SSD slot to 2230 (30mm long) and 2242 (42mm long) form factors. The far more common 2280 form factor (80mm, the size used in most laptop and desktop NVMe drives) physically does not fit — the HAT+ board isn't long enough. This is the single biggest gotcha for new buyers: they search Amazon for "Pi 5 NVMe SSD," pick the cheapest 1TB drive (typically a 2280), order it alongside the HAT+, and discover the SSD is twice as long as the slot.

In 2230 and 2242, capacities top out around 1TB as of 2026. WD SN740 (2230, 1TB), Lexar NM710 (2242, 1TB), and Sabrent Rocket 2230 (1TB) are all well-supported. Pricing is roughly 1.5-2x per GB compared to 2280 drives because the form factor is less common (originally designed for Steam Deck and ultraportable laptops). For most Pi 5 use cases (256GB or 512GB is plenty for OS + applications + Docker), this isn't a real problem. For users wanting 2TB+, the Pimoroni NVMe Base ($14) supports 2280 — it's the right HAT for capacity-focused builds.

The Foundation chose the smaller form factors to keep the HAT+ board compact and the overall stack height manageable. A 2280-capable HAT would need to extend off the back of the Pi 5, complicating case design. The trade-off favors most users: 1TB at 500 MB/s in a clean stacked package is enough storage and speed for desktop, server, and small NAS workloads.

Installation: FFC Cable Orientation Matters

The HAT+ ships with everything needed: the HAT board, an FFC ribbon cable, four GPIO standoffs, and screws. Installation is mechanically simple: unscrew the existing case top (if any), insert the FFC cable into the Pi 5's PCIe connector, route the cable up to the HAT+, mount the HAT+ on the GPIO header using the standoffs, screw the SSD into the M.2 slot. Total time: 10 minutes for a first-timer.

The FFC cable orientation is the critical step. The cable has gold contacts on one side; on the Pi 5 side, contacts face up; on the HAT+ side, contacts face down. Inserting backwards results in no PCIe communication and no boot. The Foundation marks the cable with a small label, but it's easy to miss in a hurry. If the Pi 5 doesn't see the SSD after installation, 90% of the time the cable is backwards — unplug, flip, reinsert.

After physical installation, enable NVMe boot in raspi-config (Advanced Options → Boot Order → NVMe/USB Boot). Clone the existing SD card to the NVMe using the SD Card Copier utility. Reboot, remove the SD card, and the Pi boots from NVMe. For PCIe 3.0 mode, add `dtparam=pciex1_gen=3` to /boot/firmware/config.txt and reboot — the SSD will negotiate at PCIe 3.0 if it supports it. Some SSDs hang at boot in PCIe 3.0 mode; revert to PCIe 2.0 (remove the line) if that happens.

Common Gotchas

The 2230/2242 form factor restriction surprises most buyers. Search results for "Pi 5 NVMe" return mostly 2280 SSDs because that's the dominant form factor in laptops. People order a 2280 SSD with the HAT+ and find the drive is physically too long for the slot. Read the M.2 form factor before clicking buy — you want a drive labeled 2230 or 2242. WD SN740, Lexar NM710, and Sabrent Rocket 2230 are well-tested options.

PCIe 3.0 mode is unofficial and breaks with some SSDs. The Pi 5 only officially supports PCIe 2.0 on its NVMe interface; the dtparam=pciex1_gen=3 override pushes to 3.0 but isn't supported by the Foundation. Some SSDs (often older Crucial and Samsung 2230 drives) hang during boot at PCIe 3.0 and work fine at 2.0. If you set 3.0 and the Pi won't boot, hold shift during boot to enter recovery mode and edit config.txt to remove the line.

FFC cable orientation backwards is the #1 install failure. The cable looks reversible but isn't — contacts face up on the Pi 5 connector and down on the HAT+ connector. The included install guide shows orientation but newcomers miss it. If you install everything and the Pi can't see the SSD, flip the cable.

Power draw matters. Pi 5 plus NVMe SSD pulls 4-5A peak from the 5V rail during boot and SSD initialization. The official 5V/5A USB-C PSU ($12) handles this; lower-power chargers (5V/3A older Pi 4 supplies, generic 5V/2.4A phone chargers) cause boot failures and undervoltage warnings. If your Pi was running fine on a 3A supply before adding NVMe, plan to upgrade the PSU.

Not every NVMe SSD works. The Foundation maintains a NVMe compatibility list at github.com/raspberrypi/documentation; check your prospective SSD before buying. Some drives have known issues (NVMe firmware quirks) that prevent boot or cause occasional hangs. Sticking to the well-tested options (WD SN740, Lexar NM710) avoids surprises.

Full Specifications

I/O & Interfaces

Specification Value
connector M.2 M-key (NVMe SSD)

Power

Specification Value
power_delivery Powered via Pi 5 PCIe FFC connector

Physical

Specification Value
Dimensions 65 x 56.5 x 12 mm
mounting Stacks on top of Raspberry Pi 5 via 40-pin GPIO standoffs
weight_g 20 g

Who Should Buy This

Buy Pi 5 desktop replacement

Boot from NVMe and the Pi 5 feels like a real computer instead of a hobbyist board. Application launches in 1-2 seconds, file copies hit 400+ MB/s, and there's no SD card to corrupt. The official HAT+ is the cleanest install — cable and standoffs included.

Buy Pi 5 home server (Home Assistant, Docker)

Long-running servers wear out SD cards in 6-18 months from constant logging and database writes. NVMe SSDs handle hundreds of TBs of writes before wear becomes a concern. The HAT+ gets your server off SD cards permanently.

Skip Pi 4 user wanting NVMe

The M.2 HAT+ uses the Pi 5's dedicated PCIe FFC connector that does NOT exist on the Pi 4. Pi 4 NVMe options exist (Argon ONE M.2, Pimoroni Pi 4 SATA HAT) but they use USB 3.0 instead of PCIe and are noticeably slower.

Consider Need a 2280 NVMe SSD (1TB+)

The HAT+ only fits 2230 and 2242 SSDs (max ~1TB). Larger 2280 SSDs (up to 4TB) need a different HAT — the Pimoroni NVMe Base ($14) supports 2280 form factors. Slightly cheaper but lacks the standoffs and FFC cable.

Better alternative: pimoroni-nvme-base

Consider Pi 5 NAS with multiple drives

The HAT+ supports one SSD. For multi-drive NAS, the Argon ONE V3 ($60) integrates a single NVMe with a full case design, or external USB 3.0 enclosures + multiple drives work for larger arrays. Single-drive NAS works great with the HAT+.

Better alternative: argon-one-v3

Consider Premium Pi 5 case build

The HAT+ stacks on top of the Pi 5 and adds about 12mm of height — most cases need an extension or open-top variant. The Argon ONE V3 ($60) integrates everything in a sleek aluminum case. The HAT+ is for builders who want flexibility; the Argon is for users who want a finished product.

Better alternative: argon-one-v3

Ecosystem & Community

The M.2 HAT+ leverages the Pi 5's massive ecosystem (3.2M Reddit subscribers, 8.5K GitHub stars on Raspberry Pi repos). The Foundation actively maintains an NVMe compatibility list and firmware support.

Primary Framework Raspberry Pi OS 8,500 GitHub stars
Reddit Community r/r/raspberry_pi 3.2M members
Community Projects 100+ tested SSDs documented on Pi 5 NVMe Compatibility List
Accessories Compatible with all M-key NVMe SSDs in 2230 and 2242 form factors compatible add-ons

Compatible Software

What to Build First

SD-Card-Free Pi 5 Desktopbeginner · 30 minutes

Install the M.2 HAT+ with a 512GB NVMe SSD, clone Raspberry Pi OS to the SSD, enable NVMe boot, and remove the SD card permanently. Boot times drop from 30 seconds to 10, applications launch instantly, and SD card corruption disappears as a failure mode forever.

View tutorial →

Must-Have Accessories

WD SN740 NVMe SSD (1TB, 2230)~$80Well-tested 2230 NVMe with reliable boot and PCIe 3.0 support on Pi 5
Check price
Lexar NM710 NVMe SSD (1TB, 2242)~$702242 NVMe with strong Pi 5 compatibility and good price-per-GB
Check price
Official Pi 5 5V/5A USB-C PSU~$12Required for stable Pi 5 + NVMe operation — lower-power chargers cause undervoltage
Check price
Raspberry Pi Active Cooler~$5Pi 5 + NVMe runs warmer — active cooling prevents thermal throttling under sustained load
Check price
Pi 5 Case with HAT+ Cutout~$15Open-top or extended cases that accommodate the stacked HAT+ height
Check price

Video Reviews & Tutorials

Tutorials & Resources

Frequently Asked Questions

Will the M.2 HAT+ work with my Raspberry Pi 4?

No. The HAT+ uses the Pi 5's dedicated PCIe FFC connector, which does not exist on the Pi 4. Pi 4 NVMe options exist (Argon ONE M.2, Geekworm) but they connect via USB 3.0 instead of PCIe and are slower (~350 MB/s vs ~500 MB/s).

What SSDs work with the M.2 HAT+?

M-key NVMe SSDs in 2230 or 2242 form factors. Well-tested options: WD SN740 (2230, up to 1TB), Lexar NM710 (2242, 1TB), Sabrent Rocket 2230 (1TB). Check the official Pi 5 NVMe compatibility list at github.com/raspberrypi/documentation before buying.

Can I use a 2280 SSD with the M.2 HAT+?

No. The HAT+ board is only long enough for 2230 and 2242 form factors. For 2280 SSDs, use the Pimoroni NVMe Base ($14) which extends further off the Pi 5 to support 2280 drives.

How do I enable PCIe 3.0 mode?

Add the line 'dtparam=pciex1_gen=3' to /boot/firmware/config.txt and reboot. PCIe 3.0 is unofficial — some SSDs hang at boot in 3.0 mode. If the Pi won't boot, enter recovery mode (hold shift during boot) and remove the line to revert to PCIe 2.0.

What power supply do I need?

The official Pi 5 5V/5A USB-C PSU ($12) is strongly recommended when adding NVMe. Pi 5 plus NVMe peaks at 4-5A during boot and SSD initialization. Lower-power chargers (5V/3A or generic 2.4A phone chargers) cause boot failures and undervoltage warnings.

How do I boot from NVMe instead of SD card?

After installing the HAT+ and SSD, enable NVMe boot in raspi-config under Advanced Options → Boot Order → NVMe/USB Boot. Clone your SD card to the NVMe using SD Card Copier. Reboot, remove the SD card, and the Pi boots from NVMe.

M.2 HAT+ vs Pimoroni NVMe Base vs Argon ONE V3?

M.2 HAT+ ($12) is official, includes everything needed, but only 2230/2242. Pimoroni NVMe Base ($14) is similar price, supports 2280 SSDs, fewer included accessories. Argon ONE V3 ($60) is a complete aluminum case with integrated NVMe slot — premium finish, costs more. Pick based on form factor needs and case preference.

Related Products