Pages: [1]   Go Down
Author Topic: Need advice: What storage to use for program data  (Read 615 times)
0 Members and 1 Guest are viewing this topic.
Netherlands
Offline Offline
Jr. Member
**
Karma: 0
Posts: 93
Profile before you Optimize.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi all,

I'm planning to build a rather large Arduino Uno project. Its a Midi mapping device with a LOT of parameters.
The device has one Midi input (and a thru) and 4 Midi outputs. For each output filtering, detection, transformation and dispatching options can be specified. I am in the process of working out the details of the data (structures) so I don't know a specific size yet...

Because of the real-time aspect (Midi message processing) I think I need an optimized in memory representation of the actual parameters to use. The settings need to be stored across user sessions (power off).

I think I need a generous amount of storage to store multiple lists of mapping settings. I don't want to use the built-in EEPROM because of its writes limitation. Perhaps a battery powered static RAM chips is a better idea?

My question to you is what should work best?

[I hope my little story is clear enough, of not, just ask.]

Thanx,
Marc Jacobi
Logged


0
Offline Offline
God Member
*****
Karma: 2
Posts: 596
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

The internal EEPROM write limits should be of little concern unless you plan to update the parameters very frequently. The size could become a problem instead, if the number of parameters gets really high. I suggest you start with the eeprom to keep things simple. You can later switch to an external eeprom or even an sd-card.
Logged

Netherlands
Offline Offline
Jr. Member
**
Karma: 0
Posts: 93
Profile before you Optimize.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Although its not exactly what I'm looking for, I came across this which is - if you have an Arduino Mega- pretty cool

http://ruggedcircuits.com/html/quadram.html
Logged


Global Moderator
Boston area, metrowest
Offline Offline
Brattain Member
*****
Karma: 441
Posts: 23834
Author of "Arduino for Teens". Available for Design & Build services. Now with Unlimited Eagle board sizes!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

The quadram needs battery backup to maintain data - you could add a routine to transfer data to EEPROM, and then power down.
Reload parameters from EEPROM to the quadram upon power up.
Logged

Designing & building electrical circuits for over 25 years. Check out the ATMega1284P based Bobuino and other '328P & '1284P creations & offerings at  www.crossroadsfencing.com/BobuinoRev17.
Arduino for Teens available at Amazon.com.

Rapa Nui
Offline Offline
Edison Member
*
Karma: 53
Posts: 1990
Pukao hats cleaning services
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ie. FM25V20 or FM25H20, 256kBx8 nonvolatile, SPI, 8pin..
Logged

Netherlands
Offline Offline
Jr. Member
**
Karma: 0
Posts: 93
Profile before you Optimize.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I came across the micro SD Card shield which is pretty cool if you want to work file based and for instance swap files with your computer.

I found a nice external I2C EEPROM that has 32k byte (256kbit) and has a million writes. The 24LC256 - its pretty cheap (the 400khz that is). I think there is also a 24LC512 that has double the memory address space as the 32kb one (64kb) - that is the same size as my first home computer!  smiley-grin.

(this guy is a little talkative, but interesting nonetheless - 3 parts)


Advantage of an external EEPROM over the internal one is that if it brakes, you can easily replace it. Its also capable of a lot more writes. And with the I2C serial bus it doesn't eat up that many pins on the main board.

Thanx for your suggestions.
Logged


Pages: [1]   Go Up
Jump to: