Skip to main content

First of all, use 3.3 V. You need a logic-level converter.

Then you have to understand SPI is not the main protocol used by SD cards, and that Arduino should use SDSC to be sure, as some libraries are SDSC only.

Then you may have a hardware problem (from FAT32/SDHC library for Wave and other shields):

SDHC cards have a 3.3 V bus so most Adruino shields, like the Wave Shield, use a resistor voltage divider to shift bus levels from 5 V to 3.3 V. These voltage dividers can not meet the 10 ns rise time for most SDHC cards."

Also using an external power source may solve your trouble.

Lesto
  • 791
  • 3
  • 10