Summary of STRESS-TESTING AN ARDUINO’S EEPROM
### Summary The article details a stress test conducted by [AnotherMaker] to determine the endurance of an Arduino Nano clone's EEPROM. By repeatedly writing zeros and ones to memory addresses over a month, the tester achieved nearly three million writes before the first failure occurred. A subsequent test on smaller memory blocks pushed this limit to over five million cycles. The findings suggest that typical user usage will not degrade the memory, allowing devices to function for decades under normal conditions.
Parts used in the Stress-Testing an Arduino's EEPROM:
- Arduino Nano clone
- EEPROM module
- Software for writing data
Every time one of us flashes an Arduino’s internal memory, a nagging thought in the backs of our minds reminds us that, although everything in life is impermanent, nonvolatile re-writable memory is even more temporary. With a fixed number of writes until any EEPROM module fails, are we wasting writes every time we upload code with a mistake? The short answer is that most of us shouldn’t really be concerned with this unless we do what [AnotherMaker] has done and continually write data until the memory in an Arduino finally fails.

The software for this is fairly simple. He simply writes the first 256 ints with all zeros, reads them to make sure they are all there, and then repeats the process with ones. After iterating this for literally millions of times continuously over the course of about a month he was finally able to get his first read failure. Further writes past this point only accelerated the demise of the memory module. With this method he was able to get nearly three million writes before the device failed, which is far beyond the tens or hundreds of thousands typically estimated for a device of this type.
To prove this wasn’t an outlier, [AnotherMaker] repeated the test, and did a few others while writing to a much smaller amount of memory. With this he was able to push the number of cycles to over five million. Assuming the Arduino Nano clone isn’t using an amazingly high-quality EEPROM we can safely assume that most of us have nothing to worry about and our Arduinos will be functional for decades to come. Unless a bad Windows driver accidentally bricks your device.
Source: STRESS-TESTING AN ARDUINO’S EEPROM
- How many writes did the Arduino survive before failing?
The device survived nearly three million writes before experiencing its first read failure. - Can most users worry about EEPROM write limits?
Most users should not be concerned unless they are continuously writing data until the memory fails. - What method was used to test the memory endurance?
The tester wrote the first 256 ints with all zeros, verified them, then repeated the process with ones. - How long did the initial stress test take to complete?
The test ran continuously over the course of about a month. - Did repeating the test yield different results?
Yes, when testing with a much smaller amount of memory, the cycle count reached over five million. - Is the tested device considered an outlier?
No, the author assumes most Arduinos have similar quality and nothing to worry about. - What is the estimated lifespan of these devices under normal use?
Assuming no bad drivers, the Arduinos will likely remain functional for decades. - What specific component can accidentally brick the device according to the text?
A bad Windows driver is mentioned as a potential cause for bricking the device.
