EEPROM Calibration and other Constants

Newbie talk about software tools, drivers, etc

EEPROM Calibration and other Constants

Postby RetireeJay » 2013-Mar-Wed-14-Mar

EDIT: Changed the name of this topic to be more descriptive

Several people seem to find the behavior of the Printrbot relative to Calibration Constants and other constants such as Bed Size etc. rather confusing. I'll try here to lay out the scheme of things as I understand it.

EDIT: Thanks to Mooselake for pointing out that the M502 command loads Factory Values into Active RAM rather than EEPROM.


The Active Values are the values inside the Printrboard that are actually in use for controlling motion along the axes. When the Printrboard is turned on, part of the boot-up routine copies values from EEPROM into the Active Values storage. You can also copy values from EEPROM to Active Values with an M501 command. (Active Values are in volatile memory that is lost whenever power is lost; EEPROM means "Electrically Erasable Programmable Read-Only Memory - a type of memory that does not lose information when power is lost, but it takes special programming steps to make any changes to it.)

You can find out what the Active Values are from Pronterface or Repetier Host by issuing the M503 command. This will "echo back" to your interface program the complete list of Active Values, which includes many more entries than just the X, Y, Z, and E "steps per millimeter" values, but you can find them in the list identified by M92 prefixes.

How do Active Values get Changed?

EDIT: If you are running Repetier Host on a Windows computer, there is a very convenient way to see and to change your EEPROM settings. Use the "Config" menu at the top of the screen, and select "Firmware EEPROM Settings." This opens up a window with setting displayed in labeled text boxes. You can type new values into these boxes and then "Save to EEPROM." Apparently when you click the "Save" button the values are pushed into Active Values; then you are given a second prompt to actually store them in EEPROM. EDIT^2: The Repetier screen for examining and changing EEPROM values is not all-inclusive. To change bed size and a number of other constants, you have to use the M5xx series of commands.

From Pronterface or Repetier Host, you can issue M92 commands to change one or more of the Active Values. Whichever ones you don't change remain as they were before. Changes you make this way remain in effect until either power is lost or the values are replaced by newer ones.

When you run a G-Code program from Pronterface or Repetier Host to print a part, you may have M92 values in the header of your G-Code file. This is actually optional, but the PB instructions guide you to do it. It's potentially a problem because the calibration constants came from a Configuration file that may not be using the same values as the ones you gave to the Printrboard manually. If you choose to use M92 commands in your slicer headers, be very sure that the ones you are using are the ones you think you are using. For example if you run Slic3r by itself, you have full control over which configuration file it uses. If you run Slic3r as an embedded program call from within Pronterface, it will automatically use "Default.ini"

Once you have your Calibration values set up the way you want them in Active Values memory, you can issue an M500 command to copy them into the EEPROM. By doing this, you ensure the same values will be present the next time you turn on the Printrbot.

Finally, if you've gotten everything all mixed up and want to start over from scratch, issue an M502 command to restore factory defaults.
  • 9

You do not have the required permissions to view the files attached to this post.
Printrbot Plus operational January 2013
Brass threaded rods (5/16" X 18) & nuts for Z axis
GT2 belts & pulleys
Cable chain to reduce probability of fatigue failure in wires
E3D V5 Hot End, 0.4mm nozzle, also 0.8 and 0.25 in use occasionally
PB fan mount + 40mm fan -- using printed mount adapter, not the E3D supplied fan
Injection molded extruder gears
Optical Z "endstop" (custom designed and built)
Have used many pounds of T-Glase filament. Now also doing some work with Ninjaflex SemiFlex
Print on glass with Scotch Craft Stick or other glue stick
"My next printer is..." Prusa i3 MK3, upgraded to MK3S
User avatar
My next printer is...
Posts: 5007
Joined: 2013-Jan-Wed-13-Jan
Location: Greenville, SC
Reputation: 498

EEPROM Calibration and other Constants



Return to Newbie talk

Who is online

Users browsing this forum: No registered users and 1 guest