Marlin v2.1.2.1 E-step Z bug?

I have recently updated my printer’s firmware to Marlin v2.1.2.1.
It is a custom config due to the non-standard config of my printer:

  • Creality Ender 5 Pro (frame, XYZ steppers, display and power supply still original)
  • Creality v4.2.7 board
  • E3D Hemera direct drive,
  • BL Touch
  • Run-out sensor (HIGH when no filement present)

Customisation was limited to setting default_envs in platformio.ini to board “STM32F103RE_creality” and applying some neccessary changes in Configuration.h and Comfiguration_adv.h. No other modifications to either the code or stored data.

In the past I haven’t paid much attention to dimensional accuracy, but I noticed that the regular XYZ calibration cube was 20,18mm in height.
E-steps are defined as 80 for X and Y and 800 for Z, so I intended to change that in the printer’s configuration.

In Configuration > Advanced > E-steps I found that the 800 steps/mm for the Z-axis was reported, but when I clicked the navigation button to edit that, it showed 144.64 e-steps/mm! Doing the same for X and Y show no discrepancy.

I then consulted Printrun (Pronterface), where the M503 command returned all the expected values.

Next I’ve set the new e step values using:
M92 X79.92 Y79.68 Z792.86
followed by the save settings command:
M500

Command M503 now indicates:

echo:; Linear Units:
echo:  G21 ; (mm)
echo:; Temperature Units:
echo:  M149 C ; Units in Celsius
...
echo:; Steps per unit:
echo:  M92 X79.92 Y79.68 Z792.86 E393.00
etc.

After disconnecting the printer and checking the e-steps on the the display all looked good (and updated as expected).
When I chose to enter the e-steps for Z though, it returned 137.50 e-steps/mm.

For the record: with the new settings the accuracy of an XYZ calibration cube is nearly perfect.

Does anyone else have this issue? Or can it be reproduced anywhere?

Hi, this forum is specifically for firmware found on this site.

If you’re compiling yourself directly from the Marlin source, you can try either:

Discord: Marlin Firmware
Github Issues: Issues · MarlinFirmware/Marlin · GitHub