I'm working on a MEGA based robotic bartender project where I plan to allow users to enter some of their own drink recipes. I didn't know if it would be best to use the on board EEPROM or some other kind of non-volatile memory. I read that certain kinds of non-volatile memory can erase if the memory is powered for an extended period of time. I want to make sure whatever user inputs are entered do not deteriorate like this. As far as I can see I don't think I'm at risk of not having enough memory in EEPROM, but I also didn't feel I had a great grasp of how it works when reading about it so I could be wrong. Any suggestions?
I read that certain kinds of non-volatile memory can erase if the memory is powered for an extended period of time
Where did you read that then?
The internal EEPROM should be fine.
I made a typo. I meant to say it could erase if the memory isn't powered for an extended period of time. I read it on the stackexchange forum. They didn't specify how long this is so who knows, it could be years? They seemed more concerned with how many write cycles the EEPROM could take before frying out. I doubt that'll be a problem for me though.
I have never experienced that.
it could be years
What kind of application would do this?
I read it on the stackexchange forum
Still dosn't mean much unless you know what sort of non volatile memory you are talking about. It is not an issue with EEPROM.
Yes, these sort of statements without a reliable source should be ignored.
Yes, its true that some external eeprom have a higher write cycle life than the internal one on the arduino and any is certainly more advantageous that using flash, for example from an SD card if you pretend to change data often. But with an SD you can change variables with a computer without needing to reprogram, for example, and you can also change SD cards very easily.
There’s no real generic answer for your question, it all depends on your requirements. If one type of memory was so much better than others then we wouldn’t have so many types.
10Years+ data retention is a typical worst case for EEPROM/Flash, will your project still be using the same components by then?