tinyFAT Library is useful library for people who want to learn more about SPI communication and filesystems using Arduino. The library supports FAT16 formatted SD cards up to 2GB in size. Henningkarlsen, the creator, said that 4GB FAT16 formatted SD cards might work, but is untested. Long filenames are not supported. User should keep filenames compliant with the old 8.3 standard.
The SD card should be connected to the SPI-pins on Arduino. See documentation for Pin connections in the download section. This library is compatible with Arduino Duemilanove w/ATmega168, Arduino Duemilanove w/ATmega328, Arduino Uno, Arduino Mega, and Arduino Mega2560. Download tinyFAT Library.