Inexpensive SD Card Breakout

I wanted an SD Card breakout but didn't feel like forking out £9 + carriage for Sparkfun's offering, so I decided to roll my own.

I purchased an open SD card socket from Farnell (P/N 9186140 £0.97) and took some stripboard and a length of pin header strip from the component box. The result is shown below.

The socket had a card detect switch which I did not need, so I carefully pulled the contacts out using pliers. I gently bent the pins and locating tabs down so they touched the stripboard. All but one of the pins are on 0.1" pitch so they line up perfectly with the strips. The leftmost pin is on about 2mm pitch, so I carefully bent it a little to the left so that it reached the next strip. I carefully adjusted the socket position on the stripboard using tweezers then held it in position with a heavy object while I soldered the locating tabs. I then soldered the pins. I then fitted the 9-way length of pin header.

For good measure, I fitted a 220nF ceramic decoupling capacitor between the VDD and GND pins. (You can't see it because it is mounted on the bottom side of the breakout). I also joined the two GND pins together (the orange wire).

The pin header details are listed in the table below. SD pin 8 is the leftmost header pin as shown in the photo.

SD pin 8 7 6 5 4 3 2 1 9
Signal NC DO GND CLK VDD GND DI CS NC

Paul


3 comments

01 Dec 2010

Hi,

I'm trying to do the same thing as this, with a homebrew SD card holder.
Just a quick question to help me with trying to debug mine: what program did you use to run this on the mbed, even to test it?

If you've still got it, could you post it here so I can see if that's where I'm going wrong?

Thanks,

Jordan

01 Dec 2010

Hi

Have a look in the cookbook here.

Regards
Daniel

08 Dec 2010

Hi,

I've tried to connect the card using that setup and the pinout guide for SD card SPI mode from www.interfacebus.com, but to no avail.

The code should be okay, as I've just used the example code from where Daniel suggested, with LED DigitalOuts added so that I can see the progress of the
program. It executes the printf command, but fails to progress any further from this.

Probably a simple mistake somewhere, but just trying to run down all possible options.

Thanks all,

Jordan

You need to log in to post a comment