<p>I have a prusa i3 and have been trying to calibrate it. I have been trying to upload the new steps per mm and I get to done uploading. However when I go into Repetier host and type M503 to get the printers settings it still shows the steps as 100 for the y axis, it needs to be 96.1810. I am using ramps 1.4 I think, with Adrunio mega 2560. If I am remembering this correctly isn't there something you have to do when uploading a new sketch like hold the rest button or something?</p>

[{'answer_id': 1578, 'author': 'Tom van der Zanden', 'author_id': 26, 'author_profile': 'https://3dprinting.stackexchange.com/users/26', 'pm_score': 1, 'selected': True, 'text': '<p><a href="https://www.youtube.com/watch?v=Mbn1ckR86Z8" rel="nofollow">See here</a> for why you <em>shouldn\'t</em> calibrate your X/Y-steps. The value of 100 is probably better and will give more accurate prints overall than the value you came up with.</p>\n\n<p>When uploading new firmware you generally do not have to press any button. Pressing reset manually is only necessary when your upload method does not provide a reset pulse, but if you upload with USB this is not necessary.</p>\n\n<p>What is probably causing your problem is that the E-steps are stored in EEPROM, and uploading new firmware does not override the EEPROM settings.</p>\n\n<p>You should run a <code>M502</code> to restore the default settings from the firmware you uploaded, then <code>M500</code> to save them to the EEPROM.</p>\n'}, {'answer_id': 2606, 'author': 'ianmcmill', 'author_id': 3783, 'author_profile': 'https://3dprinting.stackexchange.com/users/3783', 'pm_score': 1, 'selected': False, 'text': '<p>If your firmware doesn\'t store values you modified after flashing, for example using Repetier\'s option "Firmware EEPROM configuration", you probably didn\'t define EEPROM setting in Marlin. </p>\n\n<p>To do this you have to uncomment the option in Marlin\'s Configuration.h:</p>\n\n<pre><code>// EEPROM\n// The microcontroller can store settings in the EEPROM, e.g. max velocity...\n// M500 - stores parameters in EEPROM\n// M501 - reads parameters from EEPROM (if you need reset them after you changed them temporarily).\n// M502 - reverts to the default "factory settings".  You still need to store them in EEPROM afterwards if you want to.\n//define this to enable EEPROM support\n  #define EEPROM_SETTINGS\n\n#if ENABLED(EEPROM_SETTINGS)\n// To disable EEPROM Serial responses and decrease program space by ~1700 byte: comment this out:\n#define EEPROM_CHITCHAT // Please keep turned on if you can.\n#endif\n</code></pre>\n\n<p>Check that the lines #define EEPROM_SETTINGS and #define EEPROM_CHITCHAT are both uncommented (i.e. defined)</p>\n'}]
['https://3dprinting.stackexchange.com/questions/1577', 'https://3dprinting.stackexchange.com', 'https://3dprinting.stackexchange.com/users/1075/']