https://github.com/Frix-x/klippain-shaketune
Klipper streamlined input shaper workflow and calibration tools
https://github.com/Frix-x/klippain-shaketune
accelerometer axis klippain klipper machine resonance tuning vibrations
Last synced: 6 months ago
JSON representation
Klipper streamlined input shaper workflow and calibration tools
- Host: GitHub
- URL: https://github.com/Frix-x/klippain-shaketune
- Owner: Frix-x
- License: gpl-3.0
- Created: 2023-09-28T15:49:56.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-10-05T17:39:43.000Z (9 months ago)
- Last Synced: 2025-10-05T17:47:39.579Z (9 months ago)
- Topics: accelerometer, axis, klippain, klipper, machine, resonance, tuning, vibrations
- Language: Python
- Homepage:
- Size: 38.1 MB
- Stars: 974
- Watchers: 23
- Forks: 120
- Open Issues: 26
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- StarryDivineSky - Frix-x/klippain-shaketune - x/klippain-shaketune 是一个基于 Klipper 固件的开源工具,旨在简化 3D 打印机输入整形(Input Shaper)的配置流程并提供校准工具。该项目的核心功能是通过优化算法和用户交互设计,帮助用户快速完成打印机振动抑制参数的调整,从而提升打印精度和稳定性。输入整形技术通过分析打印机运动时的振动数据,动态调整控制信号以减少共振影响,而传统配置过程通常需要手动计算参数、反复测试调整,耗时且复杂。该项目通过自动化分析和可视化工具,将这一过程简化为几步操作,显著降低用户门槛。 其工作原理基于 Klipper 固件的输入整形模块,通过采集打印机在不同速度下的振动响应数据(如使用 Shaketune 工具),利用机器学习算法自动计算最优的输入整形参数(如频率和阻尼系数)。用户无需深入理解振动理论,只需按照工具提示完成测试步骤,系统即可生成配置文件并自动应用到 Klipper 配置中。此外,项目还提供校准工具,用于验证调整后的效果,例如通过打印测试模型并分析层间误差或振动波形,确保参数优化符合实际需求。 项目支持主流 3D 打印机型号,兼容 Klipper 0.10.0 及以上版本,并提供详细的中文文档和图形化界面,适合从入门到进阶的用户群体。开发者通过开源代码和社区协作,持续优化算法精度与用户体验,成为 Klipper 生态中不可或缺的辅助工具。 (硬件_其他 / 资源传输下载)
README
# Klipper Shake&Tune plugin
Shake&Tune is a Klipper plugin from the [Klippain](https://github.com/Frix-x/klippain) ecosystem, designed to create insightful visualizations to help you troubleshoot your mechanical problems and give you tools to better calibrate the input shaper filters on your 3D printer. It can be installed on any Klipper machine and is not limited to those using the full Klippain.
Check out the **[detailed documentation here](./docs/README.md)**.

## Installation
Follow these steps to install Shake&Tune on your printer:
1. Be sure to have a working accelerometer on your machine and a `[resonance_tester]` section defined. You can follow the official [Measuring Resonances Klipper documentation](https://www.klipper3d.org/Measuring_Resonances.html) to configure it.
1. Install Shake&Tune by running over SSH on your printer:
```bash
wget -O - https://raw.githubusercontent.com/Frix-x/klippain-shaketune/main/install.sh | bash
```
1. Then, append the following to your `printer.cfg` file and restart Klipper:
```
[shaketune]
# result_folder: ~/printer_data/config/ShakeTune_results
# Path where the processed results will be stored. If the folder doesn't exist,
# it will be automatically created. You can change this if you'd like to store
# results in a different location.
# number_of_results_to_keep: 10
# This setting defines how many results you want to keep in the result folder.
# Once the specified number is exceeded, older results will be automatically deleted
# to free up space on the SD card and avoid cluttering the results folder.
# keep_raw_data: False
# If set to True, Shake&Tune will store both the processed graphs and the raw accelerometer
# .stdata files in the results folder. This can be useful for debugging or archiving purposes.
# Please always attach them when reporting any issues on GitHub or Discord.
# show_macros_in_webui: True
# Mainsail and Fluidd doesn't create buttons for system commands (macros that are not part
# of the printer.cfg file). This option allow Shake&Tune to inject them into the webui at runtime.
# If set to False, the macros will be hidden but still accessible from the console by typing
# their names manually, which can be useful if you prefer to encapsulate them into your own macros.
# timeout: 600
# This defines the maximum processing time (in seconds) to allows to Shake&Tune for generating
# graphs from a .stdata file. 10 minutes should be more than enough in most cases, but if you have
# slower hardware (e.g., older SD cards or low-performance devices), increase it to prevent timeouts.
# measurements_chunk_size: 2
# Each Shake&Tune command uses the accelerometer to take multiple measurements. By default,
# Shake&Tune will write a chunk of data to disk every two measurements, and at the end of the
# command will merge these chunks into the final .stdata file for processing. "2" is a very
# conservative setting to avoid Klipper Timer Too Close errors on lower end devices with little
# RAM, and should work for everyone. However, if you are using a powerful computer, you may
# wish to increase this value to keep more measurements in memory (e.g., 15-20) before writing
# the chunk and avoid stressing the filesystem too much.
# max_freq: 200
# This setting defines the maximum frequency at which the calculation of the power spectral density
# is cutoff. The default value should be fine for most machines and accelerometer combinations and
# avoid touching it unless you know what you're doing.
# dpi: 300
# Controls the resolution of the generated graphs. The default value of 300 dpi was optimized
# and strikes a balance between performance and readability, ensuring that graphs are clear
# without using too much RAM to generate them. Usually, you shouldn't need to change this value.
```
Don't forget to check out **[Shake&Tune documentation here](./docs/README.md)** for more details and how to use the macros or the CLI.