Skip to main content
The Quantum Dispatch
Back to Home
Cover illustration for Raspberry Pi Storage Guide: microSD vs eMMC vs NVMe

Raspberry Pi Storage Guide: microSD vs eMMC vs NVMe

A practical 2026 guide to SBC storage: NVMe hits 800+ MB/s random reads versus 42 MB/s on microSD. Pick the right one for your Raspberry Pi build.

Alex Circuit
Alex CircuitJul 28, 20269 min read

Choosing Storage Is the Highest-Leverage Decision in Any Pi Build

If you have ever wondered why your Raspberry Pi 5 feels sluggish despite four Cortex-A76 cores, the answer is almost certainly the storage. Nothing else you can change for under $40 makes as much difference. This guide covers the three realistic options for single board computers in 2026 — microSD, eMMC, and NVMe — what each is genuinely good at, and how to pick without overbuying.

Quick Picks

  • Desktop use, home server, or any database: NVMe SSD on an M.2 HAT. Non-negotiable.
  • Headless sensor node or kiosk that boots and runs one job: a good A2 microSD is fine.
  • Embedded product you are shipping to customers: eMMC on a compute module.
  • Anything running a local LLM or heavy container workload: NVMe, and do not economize.
  • Best single upgrade for an existing Pi 5: move the root filesystem to NVMe.

How Much Faster Is NVMe on a Raspberry Pi 5?

The numbers are not subtle. On a Pi 5 with an M.2 HAT+ running PCIe Gen 3, benchmarks put NVMe sequential reads above 800 MB/s. A good microSD card manages roughly a tenth of that. The gap that actually shapes how the machine feels, though, is random I/O: 4K random reads jump from about 42 MB/s on microSD to over 800 MB/s on NVMe.

| Storage | Sequential read | 4K random read | Typical cost (256GB) |

|---|---|---|---|

| microSD (A2 class) | ~90–100 MB/s | ~42 MB/s | $20–30 |

| eMMC module | ~343 MB/s | Moderate | $30–45 |

| NVMe SSD (PCIe Gen 3) | ~768–800+ MB/s | 800+ MB/s | $25–40 + HAT |

Random read performance is what determines how fast packages install, how quickly a container starts, how responsive a desktop feels, and whether a SQLite or Postgres workload is usable at all. It is the number to optimize.

Why Random I/O Beats Sequential for Real Workloads

Sequential throughput matters when you are copying one large file. Almost nothing you actually do on an SBC is that. Booting reads thousands of small files scattered across the filesystem. apt upgrade does the same. A container image unpack is thousands of small writes. Every one of those operations is bottlenecked on random I/O, which is exactly where microSD is weakest — and it is why an NVMe-equipped Pi 5 feels like a different class of machine rather than a 44% faster one.

When Is a microSD Card Still the Right Call?

Do not let the benchmarks talk you out of microSD where it fits. It remains the right choice when:

  • The device boots once and then runs a single long-lived process (sensor logger, digital sign, print server)
  • Physical size or the absence of an M.2 connector rules out anything else
  • You need to image and swap the OS frequently across many identical units
  • The build is a Pi Zero, a Pi 4, or a compute-module carrier without PCIe broken out

If you go microSD, buy an A2-rated card from a reputable brand. The A1/A2 application performance classes specify minimum random IOPS, which is precisely the spec that matters and precisely the spec that cheap cards fail. The price difference between a good A2 card and a bad no-name card is a few dollars and roughly a threefold difference in random performance.

Making a microSD Build Last

The classic microSD failure mode is write wear from logs. Two changes eliminate most of it: move /var/log to a tmpfs RAM disk, and reduce filesystem write amplification by mounting with noatime. Neither costs anything and both meaningfully extend card life on a 24/7 device.

Where eMMC Fits

eMMC sits in the middle at roughly 343 MB/s sequential read — around four times microSD, around half NVMe. Its real advantages are not about speed:

  • It is soldered down. No connector to vibrate loose, no card to fall out. This is why it dominates industrial and automotive designs.
  • It is predictable. A specific eMMC part has known endurance and known performance for the life of the product, unlike a microSD supply chain where the same model number can change flash silicon between production runs.
  • It ships pre-flashed. For a product you are manufacturing, images can be written at the factory.

That is why compute modules — the Raspberry Pi CM5, the Rockchip modules we covered in the Jetway SMC-ARK1 writeup — offer eMMC variants. For a hobby project, eMMC is rarely the answer. For something you are shipping to customers, it very often is.

How to Move a Raspberry Pi 5 to NVMe

The path is well trodden and takes about twenty minutes:

  1. Fit an M.2 HAT+ and a 2230 or 2242 NVMe drive. Check your HAT's supported lengths before buying.
  2. Boot from your existing microSD and confirm the drive enumerates with lsblk.
  3. Copy the OS across with the SD Card Copier utility in Raspberry Pi OS, or dd if you prefer.
  4. Set the boot order to prefer NVMe using raspi-config under Advanced Options.
  5. Enable PCIe Gen 3 by adding dtparam=pciex1_gen=3 to /boot/firmware/config.txt.

Step five is the one people skip. The Pi 5's PCIe link defaults to Gen 2 for signal-integrity margin; Gen 3 is officially unsupported but works reliably with most drives and roughly doubles throughput. If you see I/O errors, revert it — the setting is a single line.

Does NVMe Drain Too Much Power for Battery Builds?

It can. NVMe drives idle higher than microSD and spike considerably under load. For a battery-powered or solar build, this is the one scenario where microSD's efficiency genuinely wins, and it is worth measuring rather than assuming. For anything mains-powered, the power difference is irrelevant next to the performance gain.

What About Booting From USB?

USB 3.0 SSD enclosures remain a reasonable middle path, particularly on a Pi 4 with no PCIe access. Expect roughly 300–400 MB/s in practice — well above microSD, well below native NVMe. The caveat is enclosure quality: cheap USB-SATA bridges have poor UASP support and can drop out under sustained load. If you go this route, buy a known-good enclosure chipset rather than the cheapest listing.

The Bottom Line

For most people reading this, the answer is NVMe. It is the single upgrade that changes what an SBC is capable of, and at current prices an M.2 HAT plus a 256GB drive lands in the same range as a premium microSD card. Keep microSD for appliance-style builds and battery projects, keep eMMC for products you manufacture, and put everything else on NVMe.

If you are building toward local AI workloads specifically, storage is only half the equation — see our best mini PC for local LLMs guide for the memory and compute side, and browse our full mini computers coverage for hardware picks.

Sources: James A. Chambers — storage benchmark series; Raspberry Tips — Pi 5 NVMe boot guide, 2026; Tom's Hardware — Compute Module 5 review.

More Mini Computers Stories

Mini Computers

Open RC Spotter Logs RC Car Telemetry at 100 Hz on ESP32

An open-source ESP32 data logger fuses GPS and IMU with a 10-state Kalman filter, logging RC car telemetry at 100 Hz to microSD. $169 assembled.

Alex Circuit
Alex CircuitJul 27, 20265 min read
Mini Computers

Orange Pi 5B Ubuntu Images Fix an 8-Year Bluetooth Bug

New Pi Desktop and Pi Studio images for the Orange Pi 5B finally land the AP6275P Bluetooth fix Cypress published back in 2018, plus 4K 120Hz.

Alex Circuit
Alex CircuitJul 27, 20265 min read
Mini Computers

Jetway SMC-ARK1 Module Puts 6 TOPS RK3588 on SMARC 2.1

Jetway's SMC-ARK1 packs an octa-core RK3588, a 6 TOPS NPU, and up to 16GB LPDDR4x into an 82x50mm SMARC 2.1 module built for edge AI vision.

Alex Circuit
Alex CircuitJul 27, 20265 min read