Even though 3D printing is a hobby suitable for everyone, regardless of their technical expertise, there is no denying that there is a slight learning curve to some of the terminology involved, particularly when it comes to the electrical components and the software.
On the other hand, while it’s not necessary to be familiar with all the technical bits of a 3D printer to have an enjoyable 3D printing experience, there are at least some parts that we believe every 3D printing enthusiast should get accustomed to since they will significantly improve the 3D printing experience without requiring too much effort.
Today, we will be talking about the EEPROM, which is a word that doesn’t reveal any information about its purpose (unless you look up its complete form), but one that you will often hear in the context of configuring the settings of an Ender 3, regardless of which parameter is being configured.
So, what is the EEPROM on Ender 3?
In a nutshell, the EEPROM is the non-volatile (persistent) memory of your Ender 3, responsible for permanently storing all the data, such as the modifications you make to the configuration, even when your Ender 3 is powered off, similar to your computer’s hard drive.
Next up, we will take a deeper look into what EEPROM really is and the purpose it serves, find out how to utilize and clear the EEPROM when necessary, and finally, take a quick look at an EEPROM-related error that can sometimes pop up on your Ender 3.
What Is EEPROM on Ender 3 (Pro/V2)?
While the word itself (which actually is an abbreviation) does not give much away, the EEPROM is, in reality, one of the most vital components of the Ender 3, or any other 3D printer for that matter, fulfilling an essential purpose.
The word EEPROM stands for Electrically Erasable Programmable Read-Only Memory, which is a type of persistent storage frequently found in devices where there isn’t a lot of space required to store the data, with older video game cartridges (save data) being a great example that isn’t 3D printing-related.
On the mainboard of your Ender 3, the EEPROM chip serves the purpose of retaining the configuration you would like to keep permanently, as all the changes you perform are only saved to the volatile memory unless you utilize the EEPROM, which is wiped whenever your Ender 3 loses power.
While the technology is not similar by any means, you can think of the EEPROM chip as the hard drive of your computer that allows you to keep your data through restarts, whereas the volatile memory (you may be more familiar with the term RAM), needs to be re-loaded with the data whenever it’s powered.
How to Use the EEPROM on Ender 3 (Pro/V2)?
Utilizing the EEPROM on Ender 3 is a pretty straightforward task as there isn’t any technical complexity that goes into it other than understanding the difference between the volatile memory of the 3D printer and the EEPROM.
You can find two commands that allow you to use the EEPROM on your Ender 3, with the texts Store Settings and Load Settings, that you can locate in the Control section (if you are on Marlin firmware) of the LCD panel interface.
The Store Settings option allows you to copy all the settings from the volatile memory to the EEPROM, which essentially means that any settings you currently have active on your Ender 3 will be saved permanently through power cycles.
On the other hand, the Load Settings option does the exact opposite, copying the settings saved in the EEPROM over to the volatile memory, replacing your current settings with the saved ones. Practically speaking, the Load Settings action automatically takes place whenever you power cycle your Ender 3.
Alternatively, you can use the M500 G-code command instead of the Save Settings option and the M501 G-code command instead of the Load Settings option on the LCD panel.
How to Clear (Reset) the EEPROM on Ender 3 (Pro/V2)?
While there aren’t a lot of use cases for clearing the EEPROM, it is necessary to bring your Ender 3 back to its default settings, as only resetting the volatile memory and not resetting the EEPROM would cause your 3D printer to keep your modified configuration.
You can clear the EEPROM on your Ender 3 through either the LCD panel interface, which would be the most straightforward option in most cases or by directly sending the G-code to the 3D printer, which can be convenient if you have your Ender 3 connected to your PC.
To clear your Ender 3’s EEPROM through the LCD panel, all you need to do is navigate to the Control section and choose the Initialize EEPROM option from the menu, which will immediately wipe any data on the EEPROM and replace them with the factory defaults.
On the other hand, to reset the EEPROM of your Ender 3 directly with G-code, you can send the M502 (for Marlin firmware) G-code to the 3D printer with the help of software such as OctoPrint that allows you to issue G-code commands directly.
As resetting the EEPROM won’t reset the current settings stored in the volatile memory, ensure that you use the Load Settings command (M501 G-code) afterward, or power cycle your Ender 3 if you would like to reset the current settings as well.
What Does the Err: EEPROM Version Message Mean on Ender 3 (Pro/V2)?
The EEPROM is not a component known for creating problems, especially considering its simple purpose, but in rare cases, there is an EEPROM-related error that your Ender 3 may display, indicating that the EEPROM is not functioning correctly.
The Err: EEPROM Version message will pop up on your Ender 3 as a warning in cases where the firmware version in the EEPROM does not match the version of the firmware that you currently have, which is a standard occurrence whenever you install a new version of the Marlin firmware.
To get rid of the Err: EEPROM Version error message, all you need to do is to load the default factory settings from firmware with either the Restore Failsafe option on the LCD panel or the M502 G-code and save the defaults to the EEPROM with either the Store Settings option or the M500 G-code.
Please note that following the procedure above will cause you to lose the modifications you have performed to the settings of your Ender 3 on the previous version of Marlin firmware and replace all the data with the defaults instead.
While a small component that fulfills a very simple and straightforward purpose, the existence and usage of the EEPROM on the Ender 3 are vital for a smooth 3D printing experience.
To quickly recap, EEPROM is the component that provides permanent storage for your Ender 3, which is where all of the modifications you have performed to the configuration reside and how they persist through power cycles, provided that you have saved them to the EEPROM.
As the modifications you perform without saving to the EEPROM are only stored in the volatile memory of your Ender 3, they will be lost whenever the 3D printer loses power and be replaced with the data in the EEPROM whenever you power your Ender 3 back on.