XaiJu
The100
The100

patreon


Working on an Integration of Dmitry Butyugin Advanced Klipper Stuff

After more than a day of programming, I successfully ported Dmitry Butyugin's advanced Klipper features to my own Klipper fork. It was somewhat challenging because his developments were based on a very old version of Klipper, and numerous changes have been made to Klipper since then. As a result, I had to rewrite significant portions of his code to ensure compatibility. But enough of the programmer's struggles—so, what's in it for us?

🛠️ Smooth Input Shapers

The Smooth Input Shaper feature uses polynomial smooth functions to effectively cancel vibrations at specific frequencies, offering improved performance compared to traditional input shapers. Key benefits include:

🧵 Extruder PA Synchronization with Input Shaping

This feature synchronizes filament extrusion (Pressure Advance) with the toolhead's motion, reducing artifacts by compensating for changes in toolhead movement. Key improvements include:

⚙️ High Precision Stepping and New Stepcompress Protocol

The new stepcompress protocol and precision stepping feature enhances stepper motor control by refining the step compression algorithm, which is essential for accurately transmitting stepper commands. Highlights include:

Current Status and Next Steps

These features are not yet part of the THEOS mainline because they are highly experimental and may cause issues or perform suboptimally in certain scenarios. Additionally, integrating Dmitry's code into my fork might have introduced some bugs, requiring extensive testing to ensure stability. Also there is a lack of documentation, that means that using these features requires diving into the source code to understand their functionality and configuration. There is still a significant amount of work to be done before I can confidently integrate them into THEOS's mainline, but they represent some of the most exciting advancements for Klipper.

🚀 Stay tuned for more updates, and feel free to reach out with any questions or feedback!

Comments

That’s tricky to pinpoint because everything plays a role in a complex system where every element interacts with the others. For example, reducing PA from 0.06 to 0.021 is a massive improvement, but it raises another question: what should we do with the headroom we’ve gained? We could use it for faster retraction, maybe shaving off another 0.1mm from the retraction distance, which would free up even more headroom for further optimizations. Or, we could push for higher overall speeds, as extrusion often becomes the biggest bottleneck when aiming for faster printing at higher quality. For me, individual changes don’t make a huge difference on their own. What really matters is how these small improvements add up—freeing up resources that can be reinvested into a cascade of optimizations. To test this out, I’ve decided to reprint some of the models I used in my release videos for the T100 v1 and v1.1. I’ll compare the best results I could achieve a year ago, nine months ago, and now. Sure, it’s not a perfect apples-to-apples comparison, but it’s the best way I can showcase the progress so far.

Matt the Printing Nerd

This is really impressive!! I would love to see some comparison prints with each of these features on vs off :) I'm curious where we would see the differences, and which conditions it really shines in!

Alice

It's a rebrand of DangerKlipper

Matt the Printing Nerd

Is Kalico the upcoming Klipper rev?

Z-Man23

It will also work for the T100 but the current configuration I provide is untested but should work

Matt the Printing Nerd

I am new to the Patreon so apologies for the dumb question but is this Klipper fork applicable to the 100 that I built or only for the 250?

Ryan Gamble

I think changes are higher to get all the stuff merged into Kalico in the future

Matt the Printing Nerd

Yeah, it’s tough to say. The Klipper devs are pretty conservative, and most of the tools I’ve implemented in my fork work fine for a a printer. But when it comes to supporting software that’s supposed to run on something as basic as Grandma’s Potato Printer, they can feel a bit experimental.

Matt the Printing Nerd

Great work! As a fellow developer, are you going to push these back upstream to Klipper/these other repos at some point? There should be a drive to update the primary upstream to ensure that features you use are regularly available and considered during future versions. Love the work you're doing! Keep it up

Zach Mitchell


More Creators