# 🚨 _One-Stop-Shop_ Klipper Configuration This branch contains the OSS Klipper configuration that can be used with **any printer** running Klipper. | Printer | Branch | | ----------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | | Sovol SV06 | [master](https://github.com/bassamanator/Sovol-SV06-firmware/tree/master) | | Sovol SV06 Skr-Mini-E3-V3.0 | [skr-mini-e3-v3](https://github.com/bassamanator/Sovol-SV06-firmware/tree/skr-mini-e3-v3) | | Sovol SV06 Plus | [sv06-plus](https://github.com/bassamanator/Sovol-SV06-firmware/tree/sv06-plus) | | ${\normalsize{\textcolor{darkturquoise}{\texttt{All other printers}}}}$ | ⚡ $\small{\textcolor{darkturquoise}{\text{YOU ARE HERE}}}$ ⚡ | I am creating these files for my personal use and cannot be held responsible for what it might do to your printer. Use at your own risk. ## Outline - [Features](#features) - [Stay Up-to-Date](#stay-up-to-date) - [Preface](#preface) - [Before You Begin](#before-you-begin) - [Installation Steps](#installation-steps) - [Download OSS Klipper Configuration](#download-oss-klipper-configuration) - [Adjust Your Slicer](#adjust-your-slicer) - [Directory Structure](#directory-structure) - [Support Me](#support-me) - [FAQ](#faq) - [Useful Resources](#useful-resources) - [Sovol Official Links](#sovol-official-links) - [Sources](#sources) ## Features - 💥 This Klipper configuration is an _endpoint_, meaning that it contains **everything** that you could possibly need in order to have an excellent Klipper experience! 💥 CoreXY users can rightly disagree and say that it lacks the quad gantry levelling macros. Please create a pull request if you can help in this regard! - Filament runout sensor usage implemented. - Minimum configuration settings for Mainsail/Fluiddpi to work. - A SuperSlicer config bundle that contains what are considered by many to be the best print settings available for any FDM printer ([Ellis' SuperSlicer Profiles](https://github.com/AndrewEllis93/Ellis-SuperSlicer-Profiles)). - `NEW` dancing blob A PrusaSlicer config bundle based on Ellis' SuperSlicer Profiles. - Macros - **Improved** mechanical gantry calibration/`G34` macro that provides the user audio feedback, and time to check the calibration. - Misc macros: `PRINT_START`, `CANCEL_PRINT`, `PRINT_END`, `PAUSE`, `RESUME`. - Parking macros (parks the printhead at various locations): `PARKFRONT`, `PARKFRONTLOW`, `PARKREAR`, `PARKCENTER`, `PARKBED`. - Load/unload filament macros. - `PURGE_LINE` macro. - `NEW` dancing blob `TEST_SPEED` macro. Find instructions [here](#how-do-i-use-the-test_speed-macro). - `NEW` dancing blob Klipper Adaptive Meshing & Purging (KAMP) added (disabled by default)! Read about it [here](#how-do-i-enable-kamp-klipper-adaptive-meshing--purging). ## Stay Up-to-Date ⭐ ${\normalsize{\textcolor{goldenrod}{\texttt{Star this project}}}}$ Watch for releases and updates. githubstar ## Preface Although I've made switching over to Klipper as easy as is possible, it can still be a challenge for some, especially considering that most of you have likely never used GNU+Linux. Save yourself the frustration, and _fully read all the documentation on this page_. Also note that Klipper is not a _must_, and is not for everyone. You can stick with Marlin, and have a fine 3D printing experience. ## Before You Begin - This entire page is a **6 minute read**. Save yourself _hours of troubleshooting_ and read this documentation **fully!** - It is assumed that you already have a working `printer.cfg` and you already have your printer up and running Klipper. - The [master](https://github.com/bassamanator/Sovol-SV06-firmware/tree/master) branch of this repo contains step by step instructions on how to get Klipper going. If you are a beginner, you might find those instructions useful. - Make sure your printer is in good physical condition, because print and travel speeds will be _a lot faster_ than they were before. Beginner's would be wise to go through the steps mentioned [here](https://github.com/bassamanator/everything-sovol-sv06/blob/main/initialsteps.md). Consider yourself warned. - It is assumed that you are connected to your host Raspberry Pi (or other host device) via SSH, and that your printer motherboard is connected to the host via a data USB cable. 💡 Most of the micro USB cables that you find at home are _unlikely_ to be data cables, and it's not possible to tell just by looking. - [Disable](https://github.com/bassamanator/everything-sovol-sv06/blob/main/howto.md#disable-usb-cable-5v-pin) the USB cable's 5V pin. - It is also assumed that the username on the host device is `pi`. If that is not the case, you will have to manually edit `moonraker.conf` and `cfgs/misc-macros.cfg` and change any mentions of `/home/pi` to `/home/yourUserName`. - Your question has probably been answered already, but if it hasn't, please post in the [Discussion](https://github.com/bassamanator/Sovol-SV06-firmware/discussions) section. - I would recommend searching for the word `NOTE` in this repository. There are roughly half a dozen short points amongst the various files that you should be aware of if you're using this configuration. ## Installation Steps ### Download OSS Klipper Configuration 1. [Download](https://github.com/bassamanator/Sovol-SV06-firmware/archive/refs/heads/any-printer.zip) the `ZIP` file containing the Klipper configuration. 2. The parent folder in the `ZIP` is `Sovol-SV06-firmware-any-printer`. This is relevant in the next step. 3. Extract **only** the _contents_ of the parent folder into `~/printer_data/config`. 💡 **If** you get a warning that you already have a `moonraker.conf` (which you probably do since you're already up and running Klipper), **and** you're not using a low powered device such as a Raspberry Pi Zero, you need to simply paste the following into your **existing** `moonraker.conf`: ```yaml [file_manager] enable_object_processing: True ``` ### Setup Instructions Simply add `[include ./osskc.cfg]` somewhere at the top of your `printer.cfg`. ## Adjust Your Slicer You need to adjust the start and end gcode in your slicer. The relevant macros are `PRINT_START` and `PRINT_END`. Find instructions [here](https://ellis3dp.com/Print-Tuning-Guide/articles/passing_slicer_variables.html#slicer-start-g-code). If you would like to print a purge line before your print starts, at the end of your start gcode, on a new line add `PURGE_LINE`. ```yaml # 🗒️ This is just an example PRINT_START ... PURGE_LINE ``` ## Directory Structure This repository contains many files and folders. Some are _necessary_ for this Klipper configuration to work, others are not. - **Necessary** items are marked with a ✅. - Items that can _optionally_ be deleted are marked with a ❌. ``` ├── cfgs ✅ │ ├── adxl-direct.cfg │ ├── adxl-rp2040.cfg │ ├── adxl-rpi-pico-2x.cfg │ ├── MECHANICAL_GANTRY_CALIBRATION.cfg │ ├── misc-macros.cfg │ ├── PARKING.cfg │ └── TEST_SPEED.cfg ├── CODE_OF_CONDUCT.md ❌ ├── CONTRIBUTING.md ❌ ├── .github ❌ │ └── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── .gitignore ❌ ├── images ❌ │ ├── cup-border.png │ ├── githubstar.gif │ ├── heart.gif │ ├── logo_white_stroke.png │ └── party_blob.gif ├── misc ❌ │ └── SuperSlicer_config_bundle.ini ├── moonraker.conf ✅ ❌ ¿? (depends if you already have this file or not) ├── osskc.cfg ✅ ├── README.md ❌ └── .vscode ❌ └── settings.json ``` ## Support Me Please ⭐ star this repository! If you found my work useful, consider buying me a [Ko-fi](https://ko-fi.com/bassamanator). ## FAQ Please find answers to common questions [here](https://github.com/bassamanator/Sovol-SV06-firmware/blob/master/README.md#faq). ## Useful Resources - [Everything Sovol SV06](https://github.com/bassamanator/everything-sovol-sv06) - [RP2040-Zero ADXL345 Connection Klipper](https://github.com/bassamanator/rp2040-zero-adxl345-klipper) - ⭐⭐⭐⭐⭐ [Ellis' Print Tuning Guide](https://ellis3dp.com/Print-Tuning-Guide) - [Simplify3D Print Quality Troubleshooting Guide](https://www.simplify3d.com/resources/print-quality-troubleshooting/) ## Sovol Official Links - [SV06 Marlin Source Code](https://github.com/Sovol3d/Sv06-Source-Code) - [SV06 Models](https://github.com/Sovol3d/SV06-Fully-Open-Source) - [SV06 Plus Marlin Source Code and Models](https://github.com/Sovol3d/SV06-PLUS) ## Sources - [https://www.klipper3d.org](https://www.klipper3d.org) - [Ellis' Print Tuning Guide](https://ellis3dp.com/Print-Tuning-Guide) - [Mechanical Gantry Calibration Macro](https://github.com/strayr/strayr-k-macros) - [SV06 printer.cfg](https://github.com/spinixguy/Sovol-SV06-firmware) - [SV06 Buildplate and Texture](https://www.printables.com/model/378915-sovol-sv06-buildplate-texture-and-model-for-prusas) - [Ellis' SuperSlicer Profiles](https://github.com/AndrewEllis93/Ellis-SuperSlicer-Profiles) - [Klipper Adaptive Meshing & Purging](https://github.com/kyleisah/Klipper-Adaptive-Meshing-Purging) - [PrusaSlicer Print Settings](https://github.com/mjonuschat/PrusaSlicer-Profiles) [![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/H2H0HIHTH)