There was a problem loading the comments.

Unified/Marlin Input Shaping Tuning Guide

Support Portal  »  Help Guides  »  Viewing Article

  Print

What is Input Shaping and Why Should I Use It?

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.

 

Video Guide

 

Prerequisites and Recommendations

  • Firmware updated to Marlin 2.1.2 or Unified 2.60 beta or later with Input Shaping enabled
  • For best results, a 32-bit board is recommended due to the extra processing required.
  • For a slicer that can use custom Gcode macros, we recommend PrusaSlicer or SuperSlicer for this guide we will be using SuperSlicer.
  • A shiny/non-matte color filament to better highlight the ringing

Pre-Sliced 120mm/s Test GCode Files

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.

Profile Setup & Slicing

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.

  • layer height set to .2mm
  • 1-2 perimeters or enable vase mode
  • 0 infill and top layers
  • Do not use the Arachne engine as it smooths out corners.
  • High speeds settings for external perimeters, (90mm/s+ or the fastest you can reasonably achieve)
  • High acceleration values  (>= 1000mm/s^2) for X and Y
  • Disable any minimum layer time settings
    • Prusa Slicer: Filament Settings > Cooling Thresholds > Slow down is layer print time is below – Set to 0 to disable
    • Super Slicer: Filament Settings > Very short layer time > Layer time goal – Set to 0 to disable
  • Disable any slicer acceleration setting changes (Printer Settings > Machine Limits and set Max feed rates/accels and jerk limits to 0
  • Turn off Linear Advance via the LCD menus on the printer or by adding M900 K0 to the starting Gcode
  • Add the Input Shaping Test Gcode into Printer Settings > Custom G-code > After later change Gcode

  • M593 F{(layer_num < 2 ? 0 : 15 + 45.0 * (layer_num – 2) / 297)} ; Hz Input Shaping Test

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

 

Measurements and Calculations

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

 

The Results

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.


Share via

Related Articles


On-Premise Help Desk Software by SupportPal
© TH3D Studio