After coming across quite many SD tutorials that are based on Petit FS or FatFS and guide the user through modifying these libraries, I thought it would be interesting to make one that would really start from the fundamentals of reading FAT file systems, so you'd actually understand all of the code, not just the pins you connected to your MCU.
The first part of this effort is now available, I'm planning a similar 3-5 part layout as my previous V-USB tutorial I posted here a while ago:
The second part covers reading longer files using the file allocation table, and converts everything into a compact and portable library:
The third part introduces the hardware built around ATmega88 and communicating with the SD card using SPI.
The last part combines the information in parts 2 and 3 to create a simple FAT16 library for reading any 1-2 GB card.
I might also do additional parts covering FAT32, SDHC or file writing, depending on reader interest. All and any feedback is appreciated, if you have some specific things you'd like me to cover in the future, please let me know!