Programming SD Cards For Raspberry Pi


We recently had to create a large number (500) of SD cards containing the NOOBS image for Raspberry Pi. Clearly, when creating this quantity of cards, the ideal option is to use an SD  card duplicator such as the one that we have at our disposal.

Card Duplication

Our card duplicator has 16 slots, so will allow us to create 15 copies at a time from a single master SD card. Generally, doing a copy and compare from a single Raspberry Pi NOOBS image SD card will take around 5 minutes (including time to load and unload the cards from the duplicator). This means that we can create around 180 copies in an hour.

However, in order to create these copies, it is still necessary to create a single SD card as our master copy; which means programming an SD card.

Programming an SD Card

Although the thought of programming an SD card for use in a Raspberry Pi may appear fairly daunting, it is actually a fairly simple process, and can be done in a number of different ways. We’re going to take a quick look at some of the different ways of getting your Raspberry Pi operating system onto an SD card.

Choosing an SD Card

The choice of SD card to use with your Raspberry Pi is an important consideration. We currently recommend using a card with a size of 8GB or more. However, if you think you may wish to install lots of additional software, or possibly store images and other media on your SD card, then it is definitely worth using a bigger card. If you can afford to go for a bigger card then a 16GB card is a good option. The speed of the card is also something to consider, and we would generally recommend a class 10 card.

Our current SD card of choice for the Raspberry Pi is the SanDisk Ultra 16GB Class 10 Micro SDHC card. However, depending on your requirements and/or budget, other cards to consider are:-

For more information and suggestions on which card to use, check out the Raspberry Pi Foundation’s article on choosing an SD card.

Installing From Windows/MAC

The most common way to program your SD card will probably be from a Windows PC or MAC. If you’re going to program your SD card from either of these platforms, we recommend that you format your SD card first. To do this, you can download and install a free SD Card Formatter application. When formatting your SD card, ensure that the ‘format size adjustment’ option is set to ‘ON’ (See screen below).

SD Card Formatter Options

Having formatted your SD card, you have a number of options for loading your operating system.

NOOBS

One of the simplest options for loading your Raspberry Pi operating system onto your SD cards is to use NOOBS (New Out Of Box Software). To load this onto your SD card, you simply need to download the NOOBS zip file from the Raspberry Pi Foundation’s web site, and unzip it onto your formatted SD card.

Having copied the NOOBS files to the SD card, safely remove it from your PC/MAC, insert it into your Raspberry Pi, and power it up. You’ll be presented with a screen giving you the option to install the operating system of your choice.

One thing to note is that in order to get a full list of available operating systems to install on your Pi, you will need to have your Raspberry Pi connected to the internet when you boot from your NOOBS card.

Raspbian

The Raspbian operating system is probably the most widely used operating system for the Raspberry Pi. You can install Raspbian using the NOOBS process described above. However, if you feel comfortable with creating an SD card from a software image, then burning a Raspbian image straight to your SD card can save you a little bit of time. In order to burn the Raspbian image to your SD card, you will first need to download and unzip the Raspbian image zip file to a directory on your PC/MAC. You should end up with a single file with a file extension of .img.

To burn the image file to your SD card (remember to format it first), you will need to download a software application. We recommend using either Win32DiskImager or Etcher to burn the Raspian image to your SD card.

For more information about how to write a Raspbian image to an SD card, check out the installing operating system images guide at the Raspberry Pi Foundation web site.

Other Operating Systems

There are many other operating systems available for your Raspberry Pi, depending on your own personal requirements; and the following list is by no means an exhaustive one:-

Installing From Linux

There is an excellent guide on installing your operating system image from a Linux system at the Raspberry Pi Foundation web site.

An alternative method of installing from Linux is presented in Les Pounder‘s guide on how to write SD cards for the Raspberry Pi.

Other methods

There are other methods of writing your Raspberry Pi SD card. Fellow Raspberry Pi enthusiast and guru Mike Redrobe has created an excellent Android App for writing Raspberry Pi images to SD card. We have tried this out, and found it to work really well. However, in order to use this app, you will require either an Android device that directly supports a micro SD card, or some form of ‘On The Go’ cable or adapter such as a Micro USB OTG adapter or USB Type-C OTG Adapter in order to allow you to connect a USB SD card writer to your Android device.

Pre-Programmed SD Cards

If, after all that, you decide that programming SD cards is really not for you, then fear not as all is not yet lost. Pre-programmed SD cards are available for the following operating systems:-