Arduino using Flash and/or EEPROM storage as variables

Hi all,

I am currently working on data logging some GPS data from a high altitude weather balloon. I am storing:

  • altitude
  • heading
  • velocity

I am looking to store this data at up to once a second (approximately 6000 data points). I want to then use this data for some prediction calculations, and I haven't found any information on using the stored in non-volatile memory data and performing comparisons/math with it. I need to do some interpolating between the data points mainly. I am looking to start at around 400 data points and increase from there. Is this possible using the EEPROM or flash memory? I know I can store it, I just want to know if I will be able to interpolate it (and if it is relatively fast).

I can also use any Arduino board (although I currently have an Uno).

Thanks,

Travis

The UNO has build in EEPROM of 512 bytes so you should use an external EEPROM. I2C is quite easy to use and you will have 32K of memory.

check - http://arduino.cc/playground/Main/LibraryForI2CEEPROM

robtillaart:
The UNO has build in EEPROM of 512 bytes so you should use an external EEPROM. I2C is quite easy to use and you will have 32K of memory.

check - http://arduino.cc/playground/Main/LibraryForI2CEEPROM

Actually: EEPROM 1 KB (ATmega328)

oops! lefty you're right :wink:

Still to small to hold 6000 datapoints. Except if measured values are quite similar one could use runlength compression. So instead of an array with all values:

10 10 10 10 10 10 10 11 11 11 11 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12
10 6 11 4 12 15 (value count) pairs

Rob