Skip to content
RetireeJay46 edited this page Dec 24, 2015 · 4 revisions

Most 3D printer electronics include a little bit of storage (512K, 3K, or more) called EEPROM (Electrically Erasable Programmable Read-Only Memory - whew!) that persists when the power is off. Marlin uses the EEPROM to store the printer settings and loads them up the next time the machine powers up. Changing the source code and re-flashing the firmware does not change the contents of EEPROM (unless there is a new EEPROM version identifier indicating that the overall organization of the EEPROM has changed).

==== EEPROM can be enabled or disabled =====
Note that there is a line in Configuration.h which controls whether or not EEPROM is enabled. At the moment, by default, the developers of the Repository version Disable EEPROM. This is to avoid the "unintended consequence" of local developers making changes to the values in Source Code and then having the printer boot up using the EEPROM values instead. But note that if you have EEPROM enabled, you can load it with "factory defaults" (coming from the Source Code) using M502 followed by M500.

==== EEPROM GCodes ====

  • M500 Store current settings in EEPROM for the next startup or M501.
  • M501 Read all parameters from EEPROM. (Or, undo changes.)
  • M502 Reset current settings to defaults, as set in Configurations.h. (Follow with M500 to reset the EEPROM too.)
  • M503 Print the current settings – ''Not the settings stored in EEPROM.''

==== Settings Stored in EEPROM ==== When you do an M503 command it prints a report like this, which will differ depending on your Marlin Configuration:
'''>>>M503 S0''' M92 X80.00 Y80.00 Z4000.00 E1258.14
M203 X500.00 Y500.00 Z2.25 E45.00
M201 X9000 Y9000 Z100 E300
M204 P1500.00 R1500.00 T3000.00
M205 S0.00 T0.00 B20000 X20.00 Z0.40 E5.00
M206 X0.00 Y0.00 Z0.00
M145 M0 H180 B70 F0
M145 M1 H240 B110 F0
M301 P20.83 I1.04 D104.71 C1.00

If you haven't changed these settings, then they correspond to the contents of the EEPROM.

Clone this wiki locally