Using an SD card (Secure Digital) is a great way to store data and move data between a myriad of different devices. For Instance, taken photographs on your digital camera, and then inserting the disc into your laptop to edit the files, then taken the disc directly to your specialized printer to be printed.
SD cards are also a great way to increase the amount of storage on your mobile phone. They are also used on the Raspberry PI to not only store the the Operating System to start the Raspberry PI, but the also serve as the Hard Disk the raspberry Pi will store all its data.
The use of SD cards has become increasingly popular, and the technology is this sector is continually improving. Unfortunately, as is the case with most technological advancements, it is easy for the casual user to quickly lose touch, get confused or even daunted by the choices available.
Top 5 things to consider when buying SD Cards
When buying an SD card there are 4 important criteria you should take into consideration
1. Use Case
The first thing you need to consider is, what is going to be primary use of the SD card. For instance, are you only going to use it as a means of moving files and documents between differing devices?
Most devices available on the market today come with built in SD card ports i.e. Laptops, smartphones, tablets, digital cameras, game consoles and raspberry pi.
The SD card is used as extensible storage capacity. However, there is a catch not all SD card ports are created equally. Although this does not matter when it comes to reading data from a disc, it does make a big difference when writing data to a disc.
An example is the difference is requirement when writing word processing document, as opposed to High Definiton Video.
Using a Class 10 card in a device that can only optimally write to a Class 4 card, is not going to improve performance but it will not have any adverse effect.
Conversely using a Class 4 card in a device that optimally designed to work with a Class 10 card , can have a severe degradation in performance and your device may not operate as expected.
Before purchasing a SD card, ensure you review the capabilities of all your devices you’re potentially going to use the card on, to determine the most efficient class standard.
A SD Card with a Class 2 rating is good for taking and storing pictures ,since there is no need to transfer large amounts of data quickly. Class 2 SD cards are typically used in digital cameras.
Class 10 SD cards are used in video equipment because they transfer data quickly without buffering.
A Raspberry Pi basically uses a Micro SD card as a hard drive and to store any information. Therefore a Class 10 Micro SD card is recommended for Raspberry Pi.
2. Physical size
There are 3 different sizes of SD cards.
The original format started with cards measuring 32 x 24mm, which was very small for the time. These are still common in digital cameras, audio recorders and similar products. However, Smartphone makers wanted smaller cards.
The initial and original version of the Raspberry Pi Model A and B used to require these cards. This actually used to be a bone of contention with the Raspberry PI community because the cards would always extrude from the board and could easily get damaged, bumped and in some cases easily stolen.
A MiniSD is a type of flash memory storage card that is used for storing information and media files. They are chiefly used in mobile phones, cameras and other handheld gadgets.
MiniSD cards are 21.5 × 20 × 1.4 mm and generally provide 16 MB to 256 MB of storage. They are 37% the size of a regular SD card with same performance and features.
The smallest memory card that can be bought; at 15 mm × 11 mm × 1 mm , it is about a quarter of the size of a normal-sized SD card.
You can use a miniSD or microSD card in an SD card slot by plugging it into an SD-sized adapter, most manufacturers of SD cards provide adaptors or sell cards are sold with them. It is needless to point out that you can’t fit an SD card into a miniSD or microSD slot, but I’ll do it anyway.
SD Card Adaptors
To enable smaller cards to be used in larger card slots, there are what are known as Adapters, to make it possible to transfer data between a smaller SD compatible device, like a cell phone, and a larger SD compatible device, like a computer.
These adapters easily allow the sharing of video, music, pictures, and other data files between devices. In the case of Raspberry Pi you may need to initially format the card with whichever Operating System you require, typically Raspbian – but Ubuntu and other choices are available – in order for it to be used. To do you may need to plugin it into your computer, which may not have a MicroSD slot availalbe, but might have a SD Card slot or even a USB slot.
If you computer has a SD card slot you can use the typical SD card adaptor, to slot in your microSD card then plug that into your computer.
If your computer does not have an SD card slot you can use a USB adapter, which enables you to slot your miniSD card into the slot and plug.
There are many variations of the USB mini SD card adaptor. However, I generally use the SanDisk MobileMate USB 3.0 microSD Card Reader
3. Data Storage
There are 3 different types of storage capabilities in SD cards ;
- SDHC (High Capacity)
- SDXC (extended capacity).
When SD cards were first introduced in August 1999 they could hold up to 2GB of data, which was a huge amount at the time, but most cards stored a lot less. In 2006 the industry introduced high capacity SDHC cards which could store up to 32GB using FAT-32.
In 2009, SDXC cards were released which are able to store up to 2TB using Microsoft’s proprietary exFAT (Extended File Allocation Table) format.
The release of Mac OS X 10.6.5 (Snow Leopard), Apple started supporting exFAT, making it the defacto standard for shared hard drives or for the transfer of very large data files. This paves the way for future SD cards to use exFAT to store data up to and potentially beyond 512TB.
Generally 8, 16 and 32GB SD cards are big enough for most purposes. It is possible that some users may choose 64 or 128GB SD cards to expand capacity on their smartphones or MP3 players. However, before purchasing these size cards, it’s important to check that your device can support it.
The Samsung Galaxy S5, was one of the first phones to support 128GB microSD cards.
4. Data writing speeds
The SD Card Association has different classes of cards, and produced a bunch of mandatory logos with the class number inside a big C.
|Class 2||2 MBPS|
|Class 4||4 MBPS|
|Class 6||6 MBPS|
|Class 10||10+ MBPS|
Faster cards are often marked with the speed in large letters, such as 45MB/s or 90MB/s.
Consulting the specifications of your device, you should be able to find out how fast it can write data to an SD card. As long as your cards can handle that data rate, you should generally be ok.
A point to note is that class rating shows a minimum speed, and not the actual speed.
A good Class 2 card may work faster than a Class 6 or even a Class 10 card.
In general for the Raspberry Pi Model B+, in most use cases a Class 4 card will suffice, and making use of a Class 10 card will not necessarily improve the speed of your PI.
5. Wear Leveling
The final point most people in the RasPi community recommend, is ensuring you consider that your SD card of choices implements and Wear Leveling.
Wear leveling is when the same spot on a SD card is not written to over and over again when there is another space to write to.
This extends the life of a SD card since multiple spots are written to and from instead of the same open spot over and over again.
Buying SD Cards
You can buy any card that your device supports from any manufacturer. However, I would recommend buying SD cards by respected brands, such as Panasonic, Verbatim, Kingston, SanDisk, Samsung, Toshiba and Sony.
Panasonic invented the SD format, and developed it with SanDisk and Toshiba.
I warn you against using any “cheaper” Chinese imports, as quality and reliability of these are extremely questionable. Particularly, if you are going to use the SD cards in your Raspberry PI because the chances are you will store some data on the card which you may not back up all the frequently, so you don’t want your cards to fail.
If you want a card where everything works out the box and also comes packed with a whole raft of other goodies while also enabling you to explore a variety of different options. The I suggest simply opting for the official Raspberry Pi 32GB Preloaded (NOOBS) SD Card. This card and configuration is well suited for general purpose and exploratory research using the PI.
If you are looking to do something a little more specialized and possibly even exploring using other specialized operating systems such as Ubuntu Server on your Raspberry PI or even Ubuntu Core which is Ubuntu’s operating system specifically designed for IoT systems. Then a good quality and reliable microSD card is well worth the investment.
My personal favourite and my go to card is currently SanDisk High Endurance Video Monitoring Card with Adapter 32GB
This microSD card was built for and tested in harsh conditions, so it s shockproof, waterproof, and x-ray-proof
The included SD card adapter means the SanDisk High Endurance Video Monitoring Card works with most of today’s popular security cameras and computers.
A world leader in flash memory technology, SanDisk continues to deliver reliable products that are trusted for performance and quality.
What SD Cards work best with Raspberry PI ?
A Raspberry Pi uses a Micro SD card as a hard drive and to store data. So a minimum requirement is to use Class 4 Micro SD card in your Raspberry Pi, this is also the recommendation stipulated by the Raspberry PI Foundation.
- How to use Github actions to build & deploy Github nuget packages - October 14, 2021
- How to implement cross cutting concerns with MediatR Pipeline Behaviours - October 5, 2021
- Understanding the difference between Queue and Stack Data Structure - September 22, 2021