A few weeks ago I needed an Arduino compatible Micro SD adapter but didn’t want to wait for one to arrive in the post so inspired by the breadboard ghetto Micro SD socket I knocked up a mini shield using a bit of left over stripboard and a SD to Micro SD adapter.
Interfacing with an SD or Micro SD using an Arduino is very simple as it can be controlled directly over SPI so it’s just a case of connecting to the Arduino’s SPI pins (11-13) and a pin for select. I used the hardware SS pin (10) for select as keeping all the pins together made for a small shield, you can use a different pin if 10 is already used but note that pin 10 must still be set as an output regardless or the library won’t function. Some resistors are required to drop the Arduino’s 5V to 3.3V for the SD card but other than the Micro SD adapter, some headers, a bit of stripboard, and a few pieces of wire that’s it.
The Arduino SD library is very easy to use with easy to follow examples and it supports FAT16 and FAT32 file systems but note that it only supports one open file at a time and can only use short 8.3 file names.
Here is the stripboard layout, to mount the SD adapter I’ve just soldered a right angle header to the contacts on it. There is also a badly drawn schematic here.
Stripboard, minimum of 20 holes by 9 strips
3 x 4K7 resistors
3 x 10K resistors
5 pin straight header
1 pin straight header
7 pin right angle header
4 short pieces of wire for links