Input shaping is a software process of resonances compensation to help cancel out the “ghosting” or ringing artifacts seen on 3d prints when quickly changing directions, as well as some of the vibrations of the printer itself. This is done by the firmware adjusting the accelerations while printing based on the M593 values set after tuning to combat the vibrations caused by the change in print direction, resulting in cleaner prints. Though, the ringing artifacts are generally caused by issues with the machine itself: the frame not being ridged, belt issues, and heavy mass movement from the bed or hotend and should be addressed first, if possible. While not a required feature, we have seen some noticeable improvements in print quality in our testing. Marlin has introduced this feature the 2.1.2 thanks to the work of tombrazier and the Marlin team. To read more on Toms work on Marlins Input Shaping, you can read his github post here.
We also have pre-sliced 120mm/s test files for printers with a 200×200 bed size or larger. There are PLA and ABS files as well as 0.4 and 0.6mm nozzle sizes. If using with other materials adjust the hotend and bed temperature when you 1st start the print. These also have starting Gcode pre-loaded for ABL sensors as well to generate a mesh.
This file is provided as-is with no implied support or warranty from TH3D Studio LLC.
Its recommended to have your slicer and filament profiles tuned for best results. Teaching Tech has an amazing resource for calibrating your profiles here. The best filaments to use for the input shaping test are silk type filaments as they show ringing the most. Click here for some recommended silk filaments we carry.
Download the Ringing Tower STL which you will slice and use for the print test. The model should be sliced as imported.
This will run a test range from 15Hz to 60Hz
Slice the model with the required changes and verify the speeds are correct in the Gcode Viewer tab by changing the View: Feature Type at the bottom left to Speed
Correctly Sliced file
The model color fully matches the max speed set
Incorrectly Sliced file
Speed is capped at some layers due to minimum layer time settings and will not yield the desired results
After the print is complete, you will want to find the point where the print looks the best with the least amount of ringing. Measure the heights of the best results on X and Y and use the formula:
15 + 45 * (z / 0.2 – 2) / 297
Where ‘z’ is the measured Z height of the best results or input the values into our Input Shaping Calculator to get the values and Gcode commands to set compensation values.
For our example print the X looks best around 26.66mm and Y looks best around 26.62mm as well but your results may vary
X Axis measurements
Y Axis measurements
Using the calculator, our end frequencies are 34.89 for X and 34.86 for Y and can be input with the Gcode command:
M593 X F34.89 Y F34.86
and saved with M500
Finally we print a test calibration cube print with Input Shaping off and with it tuned and turned on,
On the left, Input Shaping turned off — on the right, Input Shaping turned on and tuned
A noticeable reduction in the X and Y “ghosting” with the new Input shaping enabled. Though it slightly rounds the corners of the print the quality improvement is great.
While still being a new feature to Marlin, we have seen promising results so far with our testing and tuning of it. All while not requiring a raspberry Pi or ADXL to use it like you would with Klipper.