Klipper: New TMC Driver Modules!
🕑 Added 2024-12-24 11:00:38 +0000 UTC🎄 Merry Christmas, Everyone! 🎄
I hope this holiday season brings you joy, warmth, and plenty of tinkering time! Over the past four weeks, I’ve been working on something truly special, and today, I’m thrilled to share it with you for testing.
Introducing the New TMC Driver Modules!
These drivers have been completely redesigned from the ground up, incorporating insights from six months of experimenting with TMC parameters. The goal? To make every driver capable of tuning itself automatically using just a few key parameters. In essence, I’ve integrated the TMC Tuning Sheet directly into Klipper!
🛠️ How It Works

The new TMC Driver Modules introduce three new parameters:
stepstick_type: Automatically detects the sense resistors for a variety of board types, streamlining the configuration process.
motor: Leverages the motor database from TMC Autotune to seamlessly retrieve all necessary motor parameters.
voltage: Specifies the PSU voltage driving the stepper drivers.
Using this information, the driver automatically calculates optimal settings to maximize performance.
✨ Key Features
Dynamic Adjustment:
The TMC Driver Modules now dynamically adjust their parameters in real time based on the motor's current settings. For example, during sensorless homing, when the current drops to 0.8A, the driver recalculates all motor parameters instantly to ensure stability. This eliminates common issues like unreliable homing or motor stalls during current changes.Seamless Integration with Klipper:
By incorporating the TMC Tuning Sheet directly into Klipper, these drivers eliminate the guesswork. The integration simplifies setup while ensuring your drivers are always optimized for maximum performance.Intelligent Parameter Detection:
The new stepstick_type parameter auto-detects sense resistors for a variety of stepper driver boards, removing the need for manual configuration. Same goes for the motors. We use the TMC Autotune motor database to look up all the motor parameters we need to tune the stepper driversCustomizable Flexibility:
While automation is a core feature, you still retain full control. Lock specific parameters like driver_tbl to values of your choice, and the driver will adjust the other parameters base on you fixed valuesFuture Expansion:
Exciting features are on the roadmap, including:Tuning Goals: Let the driver prioritize what matters most to you—whether it’s maximum torque, speed, or energy efficiency.
Parameter Validation: A built-in consistency check will help ensure your configurations won’t lead to poor performance, with real-time warnings in Klipper for added reliability.
🚀 Why It Matters
This redesign isn’t just about convenience; it’s about performance and reliability. It addresses the limitations of the previous Klipper implementation, tackling the issues head-on and making things work the way they should. From smoother sensorless homing to maximum torque and efficiency, these modules aim to fix what the bad Klipper implementation lacked and take your printer’s capabilities to the next level.
🎁 Get Started Today
Simply update your Klipper version through Theos Web-Interface, and you're ready to experience the new TMC Driver Modules in action!
It’s as easy as a few clicks—no complex setups, just improved performance right out of the box. Let me know how it works for you!
Comments
Stuart
You can see that you put a lot of hirnschmalz into this, thank you!
hydos
I believe it does
Z-Man23
Would your fork work for other printers?
SimplyElectronics
I will clone your fork and have a go! 😁
Matt the Printing Nerd
Nope there are major changes needed in the klipper core to get it working. But you could use my fork for testing
SimplyElectronics
Bit ridiculous really, Klipper is for nerds 😅, edgy is our thing! Is there an install script one could run to install this as an addon for Klipper main?
Matt the Printing Nerd
I would love to see that as well, but, to be honest, I’ve learned the hard way that the Klipper developers tend to favor a very conservative approach to development. Changes like this are often considered too edgy for the mainstream—at least in their opinion. That’s one of the main reasons I decided to create my own fork of Klipper.
SimplyElectronics
Excellent work my friend. Well done! It would be nice to see this integrated into the official Klipper repo!