EEprom values don't get updated when flashing new firmware


I am experimenting with my new Delta printer with 0.92.9 firmware, to get all settings correct.


When updating settings in Repetier firmware configurator, and flashing to Rumba board, I discovered that the eprom data is not changed to new settings......

How can I do so that new settings go into eeprom???


  • Eeprom settings have preference over the settings in config.h,this is done to preserve any alterations you have made via eeprom.

    either clear the eeprom before updloading 

    or after uploading send to printer via Gcode

    this will read config values and save to eeprom
  • Thank you very much :-) Did not know that EEprom values only will be written when eeprom is empty.

    How to clear eeprom before uploading?

  • If you change EEPROM_MODE in configration.h it will also copy it. Only some things like distortion correction stay untouched as they have no values in configuration.h.
  • i know this is an old post but i always clear the eeprom anytime i make step changes etc etc..

    heres a simple script i use in arduino.. it works with ANY arduino version or FW--  just save the text below and name it erase eeprom and wallah , mine stays in "arduino's- open recent" and im always good to go.. hope this helps someone..

     * EEPROM Clear
     * Sets all of the bytes of the EEPROM to 0.
     * Please see eeprom_iteration for a more in depth
     * look at how to traverse the EEPROM.
     * This example code is in the public domain.

    #include <EEPROM.h>

    void setup() {
      // initialize the LED pin as an output.
      pinMode(13, OUTPUT);
        Iterate through each byte of the EEPROM storage.

        Larger AVR processors have larger EEPROM sizes, E.g:
        - Arduno Duemilanove: 512b EEPROM storage.
        - Arduino Uno:        1kb EEPROM storage.
        - Arduino Mega:       4kb EEPROM storage.

        Rather than hard-coding the length, you should use the pre-provided length function.
        This will make your code portable to all AVR processors.

      for (int i = 0 ; i < EEPROM.length() ; i++) {
        EEPROM.write(i, 0);

      // turn the LED on when we're done
      digitalWrite(13, HIGH);

    void loop() {
      /** Empty loop. **/

  • Thank you for comments and help :-)
Sign In or Register to comment.