Hello, I am working on a project and am a bit stuck. I am developing a knee brace that acquires data from sensors and prints to an SD for later analysis. We are looking to collect this data at 250 Hz, and with the amount of sensors on the brace, the necessary writing speed would be approximately 18KB/s (18 float values collected per sample* 4 bytes per float * 250Hz = 18,000 bytes/second). Currently, we are only able to write to the SD at a rate of about 3.6KB/s (50Hz where we want 250Hz). We know the bottleneck of our system is at the point of SD reading because the sampled data can be stored in local memory at 250Hz, meaning the sensors are being read fast enough.
We have tried using the SdFat library to speed things up, but have not found success. Is 18KB/s writing speed an achievable goal in this project? Any input is greatly appreciated.
I worked with Bill G, @fat16lib, the author of SDFat.h a few years ago, to capture 16 bit data at 44.1KHz rate (basically a single channel of CD quality audio), so float data (same as 2 ints) at 22.05KHz should be possible.
Wow, 2013 - I need to get back to that project one of these days!
Have you tried one of the examples from the SDfat to check the basic performance of your hardware? If the SD card does not perform with an example it would be a prime candidate for limiting your application. Not sure if Bill has included the examples he uses to measure the SD card performance with the library.
If all the hardware performs adequately with the examples, it will suggest your code needs attention.