Why doesn't SD card reading work?

Hi All

I am hoping someone can shed some light on my problem. I just can not get an SD card to be recognised on my setup


Funduino Uno board (modified to run at 3.3V to save endless level shifters) LC Studio SD card module ( http://www.lctech-inc.com/Hardware/Detail.aspx?id=0c3b6f7a-d101-4a60-8b56-3abfb7fd818d ): I removed the 5V regulator as it's no longer needed and shorted 3.3V regulator output pad to 5V regulator input pad for more 3.3V connections.

Running the CardInfo Sketch gives the usual

Initializing SD card...initialization failed. Things to check: * is a card is inserted? * Is your wiring correct? * did you change the chipSelect pin to match your shield or module?

I have done the following

Checked the wiring again and again Checked the SD card module header goes to the correct SD adapter pin and cross-checked this against the SD card pinout. Made sure that chipSelect is Pin 10 and an output Ran at full speed and quarter speed Tried a 1GB (FAT) and 8GB (FAT32) SD card Looked at all the signals on a scope: CS, MOSI, SCLK seem fine and have good edges MISO is dead: I have removed the pull-ups (no effect) Lifted the adapter pin to check for a PCB short (nope) Even tried a dedicated 3.3V supply to make sure it wasn't a current limitation

Nothing makes any difference.

I thought it could be a hardware fault but I don't think so now. My suspicion is that MISO is dead because the card is not being addressed properly, but why?

I am at a bit of a loss and not finding anything new from internet searches.

I am really hoping someone can help.

Many thanks in advance


My suspicion is that MISO is dead because the card is not being addressed properly, but why?

If you bring SS (chip select) low it is being addressed. Can you show a photo of your setup, and your scope output if possible?

Hi Nick

Thanks for the response.

After further testing with 2 other cards (a 256MB and a 2GB card) I found that it is indeed working.

So what is it about the SD.h library that only favours some cards?


Try the SdFat library.

One thing I found from Wikipedia is that different SD cards, although they may look the same, can be somewhat different inside. Their SPI implementation could be different, for example. You could certainly try the SDfat library, and after that, well, maybe just live with the fact that some cards work, and some don't.