Chris Dzombak

sharing preview •

Choosing the right SD card for your Pi

There are thousands of dirt-cheap, no-name microSD cards available. Don't use them.

Choosing the right SD card for your Pi

Part of the Raspberry Pi Reliability series.

Choose a reputable brand

There are thousands of dirt-cheap, no-name microSD cards available. Don’t use them. Even if they work at first, they’re probably going to be slower than a quality card, and they’re much more likely to wear out quickly.

SanDisk is my preferred memory card brand, but I also don’t necessarily recommend using the same microSD cards I use in digital cameras. They’ll probably work fine, but high-endurance cards are available and aren’t much more expensive.

Use a high-endurance card

In recent Raspbery Pi installations, I’m using SanDisk Industrial microSD cards if 16GB is enough for the application; or SanDisk High Endurance microSD cards if I need more space.

SanDisk offers two levels of endurance-oriented microSD cards: high endurance and max endurance. I have no firsthand experience regarding whether the max-endurance cards are worth the price premium over the high-endurance cards when used in a Raspberry Pi. Realistically, either should be fine.

SanDisk and other card manufacturers also offer video-surveillance-oriented microSD cards which are available in higher capacities than the high/max endurance cards. Unless a given application really needs the extra capacity, I’d recommend sticking with the high/max endurance cards.

In the past I have deployed SanDisk 16GB Industrial microSD cards, and they’re still in use in some of my Pis. However, I don’t see them listed on the SanDisk website now, and the only listings on Amazon are from third-party sellers. Today, I’d stick to the current high/max endurance offerings.

(These recommendations are written with SanDisk in mind, but other memory manufacturers have similar high-endurance cards.)

Pick a higher capacity than you need

If I think 16GB or 32GB is going to be enough for my application, I’ll pick a microSD card with 32GB or 64GB of space. If I think the application needs 64GB, or if I know the application is going to write to the card heavily, I’ll reach for a 128GB card.

You should do the same. Buying a higher capacity card:

Buy the card from a reputable seller

Counterfeit memory cards are incredibly common. To help avoid this, you need to buy your microSD card from a reputable seller.

If the shipping cost is within your budget for the project, buy direct from the manufacturer.

When buying a card from Amazon, pay particular attention to be sure the card is new and is actually sold by and ships from, not by a third party or by Amazon Warehouse Deals.

Otherwise, try to buy directly from another reputable online or big-box store.

Test the card before use

Finally, regardless of the card’s brand and provenance, use f3 to test the card before putting it into service. On macOS, it can be installed via brew install f3; and then using it looks like this1:

f3write /Volumes/sdcard/ && f3read /Volumes/sdcard/

See Also: Considerations for a long-running Raspberry Pi.

  1. An extensive f3 overview is outside the scope of this guide, but it’s a simple program, and its README covers usage well