Calibrating the extruder (E-steps) I3 Mega Ultrabase

Anycubic Anycubic_I3_Mega calibration e-steps i3_mega_ultrabase printer_calibration ultrabase

Please Login to Comment

I figured I would save others the trouble of trying to figure out how to modify e-steps on the I3 Mega Ultrabase
(Firmware version 1.4.1RC1/P3) Found in tools>more>info via the printer UI.
I found that my printer was under-extruding by 5mm so I had to figure out how to fix that.

To send G-code to the printer I am using pronterface: http://www.pronterface.com/ but you can use your software of choice.

If you have already tried you may have found that the G-code for getting EEProm values does not work. To edit values in the firmware you need to use Chitu G-code instead of Marlin G-code.

So with normal G-code you would set values with M92 and save them with M500 however with Chitu you need to set E-step values using M8011 and save them with M8500.

You can read more into how chitu works from this link: http://www.customize-3d.com/chitu-g-code-explained.html

I have not found a way to read current values stored on the machine (an equivalent to M503), but I only wanted to calibrate the E-steps anyways.

You can basically follow the normal steps for calibrating https://www.youtube.com/watch?v=YUPfBJz3I6Y (measure and extrude a set amount) then make adjustments as needed. The main difference is the code you send to the printer for setting and saving values. Also the calculation for the steps is a bit different than normal as well. The number of e-steps is equal to the 1/3200 the circumference of the extruder gear.

I made a calculator for it here:

As always be careful when editing values, you don't want to brick your printer. :)


@Rob5251: Since you didn't protect the whole sheet I took the liberty to add a few lines.
Your technique was to iteratively increase/decrease the diameter value.
I just added the fields to enter the actual extruded length and the a formula that calculates the corrected E-steps and the according command to set them.

@All: This worked pretty well for me. If it doesn't work for you then please report! I protected the newly added cells so only Rob5251 and I can edit them.

Thanks for the spreadsheet, can you consider adding it to the 32bit thread, too - where we have covered these things in the past?

This works only on the new 32 bit MB...
On the old 8 bit MB you can still use the M92 & M500 g.codes.

I wish it was that easy for my version. Still not too difficult once you know what to do though.

Hi Rob5251, I have a i3 MEGA with v01 Trigorilla board and my touchscreen interface says Marlin version is 1.0.0. I use Pronterface and M503 works to dump EEPROM values such as "echo: M92 X80.00 Y80.00 Z400.00 E92.60" I need to change the 92.6 to 102.8 and M92 E102.8 works and holds in active memory, but M500 does not work to save the new value permanently. I'm told my EEPROM is locked and that I need to load a unlocked version, to turn on EEPROM saving. Problem is, WHICH version do I need to load from Github that won't crash my working printer and keep the touch screen working? Thanks

i think you have the 8bit board with interchangeable drivers, right?
M500, as far as I know, only works for the 32bit board.

Thanks. I guess there's no firmware load to open up the EEPROM for the 8-bit cards?