The limit on write cycles for common EEPROMs is from about 100,000 to 2 million write cycles.Ī few hundred thousand or even a couple of million write cycles may sound like a lot, but consider how fast a modern microcontroller or microprocessor can write data and you’ll soon realize that it can become a severe limitation. You can read from them as much as you want, but you can only write or rewrite the data a given number of times. With all of their wonderful features, there are also some limitations that need to be considered when using an EEPROM in your design.Īs with Flash Memory, EEPROMs have a limited number of write cycles. This type of memory chip can be erased using ultraviolet light and then reused.Īs it requires no external programming or “burning” device an EEPROM is the easiest of these devices to use. Like a PROM, an EPROM requires a special programming device.
These chips can be programmed using a special device, however, they can not be erased and reprogrammed. These chips are programmed during manufacture and cannot be altered.
Other members of the ROM family include the following: Arduino also has internal EEPROM, as we will see shortly. The Arduino microcontrollers use Flash Memory to store the programs (sketches) that are uploaded to it. This comes at the expense of the number or rewrites or “write cycles”, Flash Memory can only be rewritten about 10,000 times. It is part of the ROM, or Read-Only Memory, family of devices.ĮEPROMs are similar to Flash Memory, the difference being that Flash Memory is larger and uses larger data blocks. Non-Volatile Memory TypesĪn EEPROM is constructed using an array of floating-gate transistors, with two transistors per bit. Since they only store a small amount of data they don’t consume a great deal of current, making them ideal for battery and low-powered applications.ĮEPROMs were developed in the early 1970s and the first EEPROM was patented by NEC in 1975. So where does the EEPROM fit in all of this?Ĭompared to the aforementioned memory types an EEPROM has a very small amount of storage, in fact, EEPROM capacities are commonly measured in Bits as opposed to Bytes. There are many other forms of non-volatile memory, including Flash memory, SD Cards, USB drives, hard disk drives, and SSDs.
Specifically, we will be looking at how to use EEPROM with an Arduino. There are a variety of different types of non-volatile memory, and today we will be examining one of them – the E lectrically E rasable P rogrammable R ead- O nly M emory or EEPROM. Nonvolatile memory, as you may have guessed by now, retains its data even after being powered-down. Once the power is removed the memory is erased. This is the “working” memory for your device, it holds temporary data used during program operation. Volatile memory is usually in the form of RAM or Random Access Memory. Computers and microcontrollers need memory to store data, either permanently or temporarily, and while this memory can come in a variety of forms it can be divided into two basic types – volatile and nonvolatile.