Linearity correction is based on the Trinamic stepper driver feature that allows defining a custom current-waveform. The default Trinamic waveform is a sine function, but the real waveform can be a little bit different and depends on the stepper motor type. Also, motors of the same type can have different waveforms. The biggest distortion appears when the wave is crossing the zero point (or around it), so the original sine wave is modified using power function to eliminate this distortion.
Linearity correction calibration procedure
- Go to your printer's LCD menu -> Settings -> Lin.Correction->E correct, and then turn it off
- Download and print the Calibration g-code
- You will observe that some diagonal moire lines will appear on the tower. Find a place with the best surface on the calibration object.

- Most printers will have minimal distortion around the vertical center of the object (value 1.10), but yours might be different. Note your ideal value.

- Enable the E-correction again in LCD menu -> Settings -> Lin.Correction->E correct. Adjust the value to the one that you were happy with.
In firmware 3.13.0 and newer, there has been a change in the menu numbering system for the correction factor, ranging from 0 to 200.
Here's how it corresponds:
Correction factor 1.03 is represented as 030 in the menu.
Correction factor 1.11 is represented as 110 in the menu. - Print something and see if the diagonal lines are still there. If so, please go back to step 3.
26 comments
In LCD menu -> Settings -> Lin.Correction->E correctDefault E-Correct is set to 0 and selecting it the value changes to 29, I can change it between 29 and 200 but there is no option for "off" or even going back to zero but restarting the printer with it set to 29 it reverts back to zero.So I thought maybe 29 = 0 and printed the test gcode.The very bottom of the column is almost perfect and it gets progressively worse the higher up it goes.Does this mean im all good and just leave it at 0?
Hi! The numbering has changed in FW 3.13 and up.
30 = 1.030
110 = 1.110
Thanks for the notice. We will update the article accordingly.