XaiJu
The100
The100

patreon


Optimizing Input Shapers for High-Speed 3D Printing: Insights & Best Practices

Today, I want to share some of the insights I've gained over the past few years about Input Shapers and their impact on high-speed printing. And to make things easier, I’ve prepared something for you:

Over the past three days, I’ve printed a variety of test objects to show the effects of different Input Shapers at various speeds and accelerations.

But before we dive into the details, I want to give you a quick introduction to the implementation of Smooth Input Shapers in THEOS and explain why they outperform the standard Input Shapers in stock Klipper.

As the name suggests, an Input Shaper is a function designed to minimize vibrations at specific frequencies. While standard Input Shapers stop there, Smooth Input Shapers go a step further. They add an acceleration profile similar to S-curve acceleration, but with fixed timing instead of spanning the entire acceleration/deceleration phase. Plus, their profile shape is specifically optimized to suppress vibrations at certain frequencies.

Now, that might already sound complicated—and trust me, if you dive into the math behind it, it definitely is! But we’re not here for that today. So, let’s get to the practical part!

First, I created a simple test object (60x10x10) and printed it using all the Input Shapers available in THEOS. The settings: 0.2mm layer height, 0.5mm line width, 200mm/s speed, and 20k mm/s² acceleration.

You can see the results in the following image. Yeah, I know the picture isn’t perfect—but it was really tricky to get uniform lighting on all the test objects so that the Input Shaper artifacts would be clearly visible.

This brings us to our first observation. While ZV and MZV produced relatively clean prints, all other Input Shapers showed severe under-extrusion artifacts.

Now, this is where another key feature of Smooth Input Shapers comes into play: the synchronization between Pressure Advance and Input Shaping. In conventional Klipper, it’s assumed that changes in acceleration have no effect on pressure inside the hotend. At normal speeds, this assumption isn’t really a problem. For example, if you print the outer wall with 6000 mm/s² acceleration and the infill with 10,000 mm/s², the values are close enough that the impact on hotend pressure remains nearly linear.

But as soon as we push speeds higher—like on the T250, where outer walls range from 40-60k mm/s² and infills hit 120-250k mm/s²—this assumption no longer holds. These acceleration differences directly affect pressure distribution inside the hotend. That’s where PA synchronization comes into play.

In THEOS, the Pressure Advance algorithm receives motion data that has already been adjusted by the Input Shaper. This means it can optimize pressure based on the actual movement, not just the movement defined in the G-code. However, this also increases stress on the hotend, which we can see in the results.

For the Input Shapers EI, SI, ZVD, and 2HUMP, the Pressure Advance settings were too aggressive, leading to extrusion interruptions. You can see the effects in the photo.

This means that when tuning your printer, you should first go through all extrusion-related tuning steps to ensure it can even extrude properly at high speeds. But once you’ve chosen an Input Shaper, you’ll need to repeat all tuning steps based on that specific shaper.

I did exactly that—and here’s the result:

 Top to Bottom: ZV, MZV, EI, ZVD,SI,2HUMP

The test objects show that ZV, MZV, and 2HUMP were the least effective at eliminating vibration artifacts, while EI, ZVD, and SI performed significantly better.

So, if you’ve always used ZV or MZV, you might want to reconsider that choice. Yes, these algorithms interfere the least with the movement paths, but they also do the least to suppress vibrations. This difference is not only visible in the prints but also noticeable in sound and feel.

Without an Input Shaper, abrupt stops during printing sound like hammer blows. But as the damping effect of the Input Shaper increases, those impacts become softer. This makes the gantry move more smoothly, reduces noise during printing, and also decreases the vibrations that the printer frame transfers to the table.

But the algorithm isn’t the only factor that affects surface quality. Certain speeds and accelerations generate more or fewer vibrations, depending on the printer.

You can figure out at which accelerations your printer produces artifacts using Klipper’s built-in Input Shaper test model. I ran this test in both the X and Y directions at various accelerations and got the following results:

Based on this, I set my slicer profiles to print outer walls at 22k in fine profiles and infill at 50k. In general, I avoid acceleration ranges that tend to cause vibrations.

An example of what a vibration-free print at 60k looks like can be seen in the video attached to this post.

At the very top, you’ll see our test object printed at 200mm/s with 20k acceleration, followed by a series of test objects printed at 60k acceleration. (Ignore the under-extrusion in the lower test objects—at this layer height, the hotend simply couldn’t keep up with the required flow rate. However, my main goal was to show all test objects under the same conditions for a fair comparison, which is why I prioritized maintaining a consistent layer height over perfect extrusion.)

Here’s an overview of my key learnings:

Comments

Do you use a higher quality filament to check if your tuning was correct?

yogadude911

okay, 50kg is huge!! I am looking for a PLA that has low technical properties, low heat resistance. But which is very regular, if possible fast and as cheap as possible. This is for burned and cast steel instead. I know that elegoo hight speed is not bad, if you know of slightly cheaper or other equivalent references. That would be cool

christophe BAYON

Nothing fancy—just Jayo PLA I got for $6.50 during the last AE sale. Honestly, it’s not great filament, and I wouldn’t recommend it. But hey, it’s cheap, and ever since I started tuning the printer, I’ve blasted through around 40-50kg of it :-)

Matt the Printing Nerd

hello, what PLA are you using. The brand?

christophe BAYON


More Creators