Choosing an EEPROM memory

Hi all, I'd like to store 32 bit hexa number in EEPROM memory, but don't really know what is the best memory, I have no experiences with memories. I'm thinking EEPROM memory 2K x 32 should be enough for me, but dont know if they make that type of memory at all. So if you know about some reliable memory maybe commonly used with arduino, I'll be grateful or your help. Thanks

Which Arduino board do you use ?
The Arduino Uno board uses the ATmega328P microcontroller, which has EEPROM inside.

An external EEPROM can be a ATmel serial EEPROM with I2C. They cost maybe one or two dollars.

Or faster SPI parts, or even better FRAM, SRAM speed with eeprom nonvolatility - 100 trillion write cycles.
Buy at digikey.com or mouser.com. Look for FRAM memory.
ebay is not reliable for ICs.

Peter_n:
The Arduino Uno board uses the ATmega328P microcontroller, which has EEPROM inside.

I use Uno, but also have Mega and Nano, but I don't want to use the internal eeprom really, because storing 32 bit code from remote control in 8 bit cells can be complicated so I'm looking for a better solution.

CrossRoads:
Or faster SPI parts, or even better FRAM, SRAM speed with eeprom nonvolatility - 100 trillion write cycles.
Buy at digikey.com or mouser.com. Look for FRAM memory.
ebay is not reliable for ICs.

In my case speed is not a concern or even the life expectancy the only thing I want is non volatile memory where I could store 32 bit number per address. I hope they make something like that. :slight_smile: I had a look at those links and I couldn't find anything what would meet my requirements.

Did you look into the EEPROM Write Anything library? Should store your unsigned long number (32 bits) as 4 bytes using 4 addresses.

The EEPROM Anything library is for the internal EEPROM of the Arduino Uno.

You should use the EEPROM inside the ATmega328P of the Uno board of course.
Storing 32-bit is not hard. There are functions in the <avr/eeprom.h> library and there is the EEPROM Anything library.
If you connect an external EEPROM, you still have to convert the 32 bit into 4 bytes.

Converting 32-bit into 4 bytes is done all the time by the compiler as well. It is very common for a sketch (using the ā€˜cā€™ and ā€˜c++ā€™ language) to convert data to another format.

Can you tell what your 32-bit hex number is ? Is it an unsigned long variable ?

I didn't bother to look into libraries to be honest, but thank you guys, I think this solves my problem :wink: