Memory Storage options

Hi there

I’m pretty new to the Arduino environment and just after some advice

I am looking at using an arduino mega to read an IMU and store the data.

The overall question would be, where should i store a large amount of data?

I would like to be reading and storing data multiple times a second. If possible something around 50times a second? or Is that to high?

If the IMU has 9DoF, that’s around 450 data values to be stored a second. Is this possible? If not whats the upper limit?

The data will be to 2 or 3 decimal places. So i multiply all the data by 1000 and store it currently as an int into the internal EEPROM.

The issue comes as i would like to log data over a 5 hour period.

450 data values per second
if each value take 4bytes
1800 bytes/second needed
108kBytes/minute
6.4MB/hour
32MB total storage space needed

Now i believe this sort of capacity is not available in an external EEPROM microchip?

Obviously a micro SD card could easily hold this amount of data, do these come in a microchip form?
As i don’t need it to be removable.

Or could i use some type of flash memory? Which i dont really understand currently.

Thanks Heaps!!!

SD card is truly the easiest for that amount of data. Even if it is never removed. (When was the last time you took the memory card out of your phone?)

450 data values are 900bytes (2bytes = 16bit signed integer per value from the 9DOF).
900bytes/sec
54000bytes per minute
3.240.000bytes per hour
16.200.000bytes in 5hours.

An SDcard can do that but mind the write latency of the sdcard, it could be up to 250ms (250ms of lost data). You must implement FIFO or to prepare the sdcard for such exercise.
Search Storage topics - it has been discussed many times.