Just trying to determine if this will be fast enough for what i want to do.
Up til now, I've been just writing to memory and serial-transferring to a laptop. Obviously that means I can only log a small amount of data, then it has to stop while transferring the data to the laptop. I end up with small, discrete chunks of data.
In order to get a large, continuous chunk of data, I've been considereing storage onto an SD card, but in all of my searches, I can't find any info on how long it would take to log 2 bytes of data. (Or even one byte.)
I assume SPI is faster than transferring at 9600 baud to the laptop.
You can log 16-bit samples to an SD as fast as 40,000 samples per second. This requires very special techniques, writing binary data to a contiguous file in raw mode.
You can log about 2,000 samples per second to an SD as text but this requires special buffering.
..what is the total amount of data?? Kilobytes? Megabytes?
If ~kBytes you may consider an external fram (spi, 8pin, 256kBytes). You can write ~800KBytes/second, as a bonus it is nonvolatile.
P.
Thanks for all of the replies. So it looks like there are a lot of options with a wide range of speeds.
My plan was to wire the card myself just using the resistor dividers as described. As far as what library to use, I guess I'll just experiment with a few and see what I get.
At least it seems one way or another, it should be able to do most of what I want.
Is there an inexpensive shield or other hardware that will make it significantly faster than just wiring the SD card directly to the Arduino? Or is the resistor divider method about the same, as say, the Ethernet Shield? (Using one of the common SD libraries.)