Linear Advance Information for Marlin Based Firmware - PrinterMods UK Ltd

What is Linear Advance?

Linear Advance is a feature in Marlin firmware that allows for the decoupling of the extruder motor movement from the other axis. This can let you get more accurate printing, especially on printers with Bowden tubes, because it works around the “lag” time between the filament pressure in the nozzle and the command to actually extrude or retract that filament. If you want to read up more on Linear Advance see the Marlin documentation links below:


This feature is an advanced feature and not recommended for inexperienced users or for users that do not want to take the hours it will take to understand/setup Linear Advance properly.

This information is provided as-is and PrinterMods included support does not cover help tuning your machine for use with this feature.

Getting Started

In order to set up Linear Advance, you will need to run multiple test prints on your machine to determine your “K” value. This value will NOT be the same as other people’s machines and can even vary on printers with the same exact hardware on them.

Before you start going through dialing in the K value you will need to enable the Linear Advance feature in the firmware for your machine. On machines with limited memory (ones that use the 1284p chips) you may lose other features due to memory and space limitations on that board.

Remember to reset your EEPROM after updating your printer firmware.

Trinamic (TMC) Driver Notes:
On any board running TMC drivers it is highly recommended to set the E driver mode to SpreadCycle and NOT StealthChop. Linear Advance uses very quick and hard moves on the E motor which can lead to lost steps when using StealthChop. Disable StealthChop for your E driver if you have a board with TMC drivers on it (SKR, etc). Per Trinamics’ own datasheets you should not be using StealthChop on an E motor at all due to the low torque output for that mode. The EZBoard works with Linear Advance in either mode but it is still recommended to use SpreadCycle so you have proper torque for the E motor.

Machine/Board Compatibility Notes: Printers that have Trinamic (aka TMC) drivers that have no firmware control to set the driver chip into SpreadCycle and/or have poor thermal heatsinking will not be able to use Linear Advance. Examples are the CR-10S Pro/Max, CR-10S V2/V3, and all of the Creality “Silent” boards that have TMC drivers on them. These printers and/or boards will not work with Linear Advance due to the limitations of these printers/boards.

Tuning and Setting up Linear Advance Information

Instead of a lengthy write-up that is hard to explain please see the TeachingTech video below on setting up Linear Advance.