SD card read/write with Arduino

and why limit it to fat if raw works fine?

Because raw is difficult to deal with if you want to pop the SD card out of the arduino and put it into a computer to exchange data. If you use FAT on the SD card, you already have FAT filesystem drivers on all major operating systems. If you use some raw format, you must write custom code for every possible operating system that you wish to exchange data with.

-j