2026-09-02

Best NVMe SSD Hat for Raspberry Pi 5 NAS Boot Drive (Benchmarked vs MicroSD)

The Pimoroni NVMe Base is the safest pick for most people building a Raspberry Pi 5 NAS boot drive — it's compact, well-supported, and mounts underneath the board. I've been running my Pi 5 off NVMe as the sole boot device for my homelab services, and the performance difference over microSD is not subtle: 453 MB/s sequential reads and 16,433 random read IOPS on a budget drive, with thermals that barely moved under sustained load.

My Actual Build and Measurements

Here's exactly what I tested, no extrapolation:

Benchmark Results (fio, Gen 2)

Metric Result
Sequential read 453 MB/s
Sequential write 438 MB/s
Random 4K read IOPS 16,433
SoC temp idle 49.4 °C
SoC temp after sustained fio load 48.8 °C

That idle-to-load temperature is not a typo. The SoC actually measured slightly cooler after the fio run than at idle — likely just normal fluctuation within a degree or two, but the point is clear: an NVMe drive on Gen 2 does not meaningfully heat the Pi 5's SoC. No throttling, no drama.

For context, a good microSD card (say a Samsung EVO Plus) typically benchmarks around 80–95 MB/s sequential read and maybe 2,000–4,000 random 4K IOPS on a Pi 5. I didn't re-benchmark one for this article, so take those as typical published numbers rather than my measurements. But even conservatively, NVMe boot is roughly 4–5× faster on sequential reads and 4–8× faster on random I/O — the kind of I/O that matters for database writes, Docker layer pulls, and OS boot.

The Three NVMe Hats Worth Considering

I used a bottom-mount style hat for my build. I haven't personally tested all three of these hats side-to-side, so I'll be clear about what's first-hand versus what's based on published specs and community reports.

Pimoroni NVMe Base for Raspberry Pi 5

Pimoroni NVMe Base for Raspberry Pi 5

This is the most widely recommended option, and based on published specs, it's easy to see why. It mounts underneath the Pi 5 using the PCIe FPC connector, supports M.2 2230 and 2242 drives, and adds essentially zero height above the board. The Raspberry Pi Foundation has explicitly tested against it. If you're putting your Pi in a standard case or stacking it, bottom-mount is the practical choice.

Geekworm X1001 PCIe to NVMe Hat

Geekworm X1001 PCIe to NVMe Hat

Reportedly supports 2230/2242/2260/2280 drives, which gives you more flexibility if you already have a full-length 2280 NVMe sitting in a drawer. Based on community reports, it works fine at Gen 2 with standard Raspberry Pi OS. It mounts on top, which means it may interfere with the official active cooler — check your case dimensions.

52Pi N04 NVMe Top Hat

52Pi N04 NVMe Top Hat

Another top-mount option. Based on published specs, it supports 2230 through 2280 and includes its own standoffs. 52Pi has a reasonable track record with Pi accessories. Same caveat as the Geekworm: top-mount means you need to plan your cooling and enclosure carefully.

My honest take: All three use the same single-lane PCIe Gen 2 connection from the Pi 5. There is no performance difference between hats — they're just passive adapters with an FPC cable. Pick based on form factor (top vs. bottom mount), drive size support, and whether it fits your case.

Drive Selection: What Actually Matters

My Fanxiang S501Q 512GB hit 453/438 MB/s read/write at Gen 2. That's already near the Gen 2 ×1 theoretical ceiling (~500 MB/s usable after overhead). This means an expensive Samsung 990 Pro would benchmark nearly identically on this platform — the bottleneck is the Pi's single PCIe Gen 2 lane, not the drive.

The Crucial P3 Plus 500GB NVMe SSD is a sensible alternative based on its specs: it's a widely available budget NVMe with good Linux compatibility. But I haven't benchmarked it myself, so I won't claim specific numbers. Any modern NVMe drive will saturate the Pi 5's Gen 2 link.

Buy the cheapest NVMe with a DRAM cache or HMB (Host Memory Buffer) that you trust not to lose your data. Spending more than $35–40 on a 500 GB drive for this use case is wasted money.

If you have a spare NVMe drive from a laptop upgrade, you can test it externally before committing to an internal hat using an NVMe USB enclosure like the M.2 NVMe SSD Enclosure – USB-C 10Gbps with Magnetic Closure — useful for cloning or pre-imaging the drive before final installation.

How to Enable NVMe Boot

The short version:

  1. Update the Pi 5's EEPROM bootloader: sudo rpi-eeprom-update -a
  2. In sudo raspi-config, set the boot order to NVMe first (Advanced Options → Boot Order → NVMe/USB Boot)
  3. Flash your OS directly to the NVMe drive (using Raspberry Pi Imager on another machine, or dd from a running SD card)
  4. Remove the microSD, reboot

My Pi boots directly from /dev/nvme0n1p2 with no SD card inserted. It works reliably and has survived multiple unclean shutdowns during power testing without filesystem corruption (ext4 with journaling).

Gen 3 Forcing: Worth It?

You can add dtparam=pciex1_gen=3 to /boot/firmware/config.txt. Based on community reports, this works on many drive/hat combinations and roughly doubles sequential throughput. I left mine at Gen 2 because the stability is guaranteed, and for NAS boot drive duties (not sustained large file transfers), the random 4K IOPS matter far more than sequential speed. My 16,433 IOPS at Gen 2 is already more than sufficient for running containers, SQLite databases, and Samba.

Who Should NOT Do This

Keeping It Clean

One practical note: NVMe hats, especially top-mounted ones, create tight gaps that collect dust over time. If you're running this 24/7 as a NAS, periodic cleaning matters. A small tool like the JAKEHOE Fan Cleaner – Dust Removal Tool for Server & NAS Fans reaches into those tight fin and board gaps better than canned air alone.

Verdict

Get a bottom-mount hat (Pimoroni NVMe Base is the safe default), pair it with whatever budget NVMe you can find for under $40, and leave PCIe at Gen 2. My Fanxiang S501Q 512GB hits 453 MB/s reads and 16,433 random 4K IOPS with the SoC sitting at a cool 49 °C — that's the real ceiling of this platform, and it's more than enough for a home NAS boot drive.

🛠️ From the bench shop

Gear from our own store that fits this build — shipped tracked, UK support.

M.2 SSD Enclosure – NVMe & SATA USB External Aluminium Case£26.99View →
M.2 NVMe SSD Enclosure – USB-C 10Gbps with Magnetic Closure£36.99View →
M.2 NVMe/NGFF SSD Enclosure – USB-C 10Gbps for Drive Cloning£21.99View →

← all articles

Some links are affiliate links — if you buy through them I may earn a small commission at no extra cost to you. Benchmarks are run on my own hardware. · Shop · Contact