Compare commits
156 Commits
9a7f380806
...
skr-mini-e
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2bf38dd416 | ||
|
|
515b423237 | ||
|
|
869bbffeb9 | ||
|
|
3ec59f3e05 | ||
|
|
9e3ba15aee | ||
|
|
be9b47ece2 | ||
|
|
2fb3db4323 | ||
|
|
7d9cb1d8fb | ||
|
|
f6b7c3aad9 | ||
|
|
5267b5db80 | ||
|
|
f704ca26aa | ||
|
|
9e1cf53dc6 | ||
|
|
100308b81e | ||
|
|
720ad095f0 | ||
|
|
9ae483ebb4 | ||
|
|
21ab5937be | ||
|
|
5577fb5269 | ||
|
|
17f4c3a21e | ||
|
|
54195307bf | ||
|
|
75d7f241ba | ||
|
|
b622ca4663 | ||
|
|
e1bc37e009 | ||
|
|
46bb425e2f | ||
|
|
e712f7b8a1 | ||
|
|
e00ff1d311 | ||
|
|
038eae5798 | ||
|
|
b02417e067 | ||
|
|
ac6cf14302 | ||
|
|
28a8d8a946 | ||
|
|
d76f74847b | ||
|
|
89904dc356 | ||
|
|
9b025cde73 | ||
|
|
c2de4a1c57 | ||
|
|
a414f1a1c3 | ||
|
|
cf931af5cb | ||
|
|
bb4dd6a403 | ||
|
|
f29a29fc84 | ||
|
|
8c3d4a7dd8 | ||
|
|
e8436ad0c1 | ||
|
|
7dba6deed6 | ||
|
|
5d674e0422 | ||
|
|
f174110561 | ||
|
|
6b156cb9ae | ||
|
|
f89003ae56 | ||
|
|
116f6c9aa4 | ||
|
|
efdfd86954 | ||
|
|
34a57ff393 | ||
|
|
acb6549a08 | ||
|
|
dbd777309a | ||
|
|
4e3fc98cc7 | ||
|
|
c602f18e98 | ||
|
|
b664cca478 | ||
|
|
f27b569d0c | ||
|
|
e62d75cb4d | ||
|
|
d5e46edc5e | ||
|
|
2788b2f03a | ||
|
|
1512fc6606 | ||
|
|
fa1cc28fa1 | ||
|
|
46b946983b | ||
|
|
79d6114faa | ||
|
|
cad7c3c94b | ||
|
|
5cc8820ee1 | ||
|
|
00253641c6 | ||
|
|
1f21a299a5 | ||
|
|
671e2ec375 | ||
|
|
ff037a2b5c | ||
|
|
9ad3f153e4 | ||
|
|
a399efb3b5 | ||
|
|
7f1f40c0a9 | ||
|
|
fd3de8b04c | ||
|
|
9cbe8faad3 | ||
|
|
6ec3c2595b | ||
|
|
89d3111645 | ||
|
|
ac5b983b02 | ||
|
|
121a7b9278 | ||
|
|
4583e008ab | ||
|
|
e71b633199 | ||
|
|
9ded9c0d86 | ||
|
|
e6830263fa | ||
|
|
f832247858 | ||
|
|
9e7d728860 | ||
|
|
3fafe0409d | ||
|
|
3d4403957e | ||
|
|
ef3998aa6e | ||
|
|
19cac92c03 | ||
|
|
b8d51de39f | ||
|
|
9dda49ce18 | ||
|
|
e4bcd00e6a | ||
|
|
deb40aee58 | ||
|
|
af03e949a1 | ||
|
|
dbac52de8e | ||
|
|
f91dcf5067 | ||
|
|
8c64ff52e7 | ||
|
|
8cdd042af9 | ||
|
|
8104769a14 | ||
|
|
554ab9e884 | ||
|
|
a3bae63002 | ||
|
|
5b325f866a | ||
|
|
5ccc09caed | ||
|
|
483acf0eda | ||
|
|
54b2f42da8 | ||
|
|
1b0d5e8f04 | ||
|
|
6fe0cdc1d7 | ||
|
|
a15d9b1258 | ||
|
|
f90b3842e4 | ||
|
|
cdea66a59d | ||
|
|
b5d8755e59 | ||
|
|
b9a67cf09b | ||
|
|
f65c0e6e7f | ||
|
|
d343f37e15 | ||
|
|
d3713903a3 | ||
|
|
a060db3eae | ||
|
|
1f33de5f1d | ||
|
|
56a50ae34e | ||
|
|
0a0b20cf98 | ||
|
|
bc28fbc448 | ||
|
|
73957c211d | ||
|
|
d364fe2918 | ||
|
|
81cc4b2696 | ||
|
|
b2b67f63a0 | ||
|
|
5adc395f65 | ||
|
|
ddaade5877 | ||
|
|
3cd751ba8d | ||
|
|
7e45ae0f2d | ||
|
|
73d99d5fdf | ||
|
|
622ce6714b | ||
|
|
4df780af99 | ||
|
|
556ce2bd1f | ||
|
|
149f628c1e | ||
|
|
8b941129b0 | ||
|
|
efb0db19be | ||
|
|
d4b9849f78 | ||
|
|
c7a3508b2e | ||
|
|
297ce7b437 | ||
|
|
70557d38d3 | ||
|
|
1a5c935c54 | ||
|
|
1226153862 | ||
|
|
4f499a72f5 | ||
|
|
ab339294b9 | ||
|
|
dba8b85da6 | ||
|
|
3caf21bc8b | ||
|
|
5142687f98 | ||
|
|
1c86f48454 | ||
|
|
7389d7726e | ||
|
|
c6d484cce1 | ||
|
|
8007ea6d38 | ||
|
|
33d3ea1b8c | ||
|
|
1c644a409d | ||
|
|
0de06bec51 | ||
|
|
e1befbbcc4 | ||
|
|
e2975975a6 | ||
|
|
bf5abed9a3 | ||
|
|
bccf585446 | ||
|
|
0aa2f8edb3 | ||
|
|
7e1cf54240 | ||
|
|
a6a0f9cf33 |
3
.gitignore
vendored
@@ -1,3 +1,6 @@
|
||||
printer-*_*.cfg
|
||||
.moonraker.conf.bkp
|
||||
.directory
|
||||
.venv
|
||||
__pycache__
|
||||
crowsnest.conf.*
|
||||
|
||||
24
.vscode/settings.json
vendored
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"editor.tabSize": 4,
|
||||
// "editor.formatOnSave": false,
|
||||
// "editor.defaultFormatter": null,
|
||||
// "editor.defaultFormatter": "mervin.markdown-formatter",
|
||||
"editor.insertSpaces": true,
|
||||
"editor.detectIndentation": false,
|
||||
"git.mergeEditor": false,
|
||||
@@ -20,20 +20,28 @@
|
||||
"Klipper",
|
||||
"Klipperized",
|
||||
"lrwxrwxrwx",
|
||||
"menuconfig",
|
||||
"microsteps",
|
||||
"moonraker",
|
||||
"normalsize",
|
||||
"octahedroflake",
|
||||
"osskc",
|
||||
"Painis",
|
||||
"PARKBED",
|
||||
"PARKCENTER",
|
||||
"PARKFRONT",
|
||||
"PARKFRONTLOW",
|
||||
"PARKREAR",
|
||||
"pico",
|
||||
"Printables",
|
||||
"Prusa",
|
||||
"reformats",
|
||||
"runout",
|
||||
"scriptsize",
|
||||
"Sovol",
|
||||
"superslicer",
|
||||
"textcolor",
|
||||
"textit",
|
||||
"texttt"
|
||||
],
|
||||
"[markdown]": {
|
||||
@@ -62,4 +70,18 @@
|
||||
"titleBar.inactiveForeground": "#e7e7e799"
|
||||
},
|
||||
"peacock.color": "#512e0a"
|
||||
// "[html][jinja][jinja-html]": {
|
||||
// "editor.formatOnSave": false,
|
||||
// "editor.defaultFormatter": "monosans.djlint",
|
||||
// "editor.detectIndentation": true,
|
||||
// "editor.linkedEditing": true,
|
||||
// "editor.tabSize": 4,
|
||||
|
||||
// "djlint.enableLinting": true,
|
||||
// "djlint.profile": "jinja"
|
||||
// },
|
||||
// "djlint.showInstallError": true,
|
||||
// "djlint.useVenv": false,
|
||||
// "djlint.pythonPath": "/home/bassam/.local/share/uv/tools",
|
||||
// "djlint.formatLanguages": ["django-html", "jinja", "jinja-html"]
|
||||
}
|
||||
|
||||
180
README.md
@@ -1,15 +1,25 @@
|
||||
# 🚨 _One-Stop-Shop_ Klipper Configuration
|
||||
<p align="center">
|
||||
Please consider
|
||||
<a href="https://ko-fi.com/bassamanator" target="_blank">donating</a> to
|
||||
support my open source work ❤️
|
||||
</p>
|
||||
|
||||
This branch contains the Klipper configuration and firmware for the **Sovol SV06** 3D printer.
|
||||
# One-Stop-Shop Klipper Configuration
|
||||
|
||||
| Printer | Branch |
|
||||
| --------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
|
||||
| ${\normalsize{\textcolor{darkturquoise}{\texttt{Sovol SV06}}}}$ | ⚡ ${\small{\textcolor{darkturquoise}{\texttt{YOU ARE HERE}}}}$ ⚡ |
|
||||
| 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) |
|
||||
| All other printers | [any-printer](https://github.com/bassamanator/Sovol-SV06-firmware/tree/any-printer) |
|
||||
| Printer | Branch |
|
||||
| ------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------- |
|
||||
| Sovol SV06 | [master](https://github.com/bassamanator/Sovol-SV06-firmware/tree/master) |
|
||||
| ${\normalsize{\textcolor{darkturquoise}{\text{Sovol SV06 SKR-Mini-E3-V3.0}}}}$ | ⚡ ${\small{\textcolor{darkturquoise}{\text{YOU ARE HERE}}}}$ ⚡ |
|
||||
| Sovol SV06 Fly-E3-Pro-V3 | [fly-e3-pro-v3](https://github.com/ElPainis/Fly-E3-Pro-v3) \*\* |
|
||||
| Sovol SV06 Plus | [sv06-plus](https://github.com/bassamanator/Sovol-SV06-firmware/tree/sv06-plus) |
|
||||
| All other printers | [any-printer](https://github.com/bassamanator/Sovol-SV06-firmware/tree/any-printer) |
|
||||
|
||||
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.
|
||||
${\small{\textit{** Maintained by ElPainis}}}$
|
||||
|
||||
> [!WARNING]
|
||||
> 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.
|
||||
|
||||
🙏🏻🙌🏻 Big thanks to [transistor1](https://github.com/transistor1) for getting the `printer.cfg` up an running to begin with.
|
||||
|
||||
## Outline
|
||||
|
||||
@@ -17,6 +27,8 @@ I am creating these files for my personal use and cannot be held responsible for
|
||||
- [Stay Up-to-Date](#stay-up-to-date)
|
||||
- [Preface](#preface)
|
||||
- [Before You Begin](#before-you-begin)
|
||||
- [Electronic Wiring](#electronic-wiring)
|
||||
- [⚠️ Important Note About Stepper Motor Current](#important-note-about-stepper-motor-current)
|
||||
- [Klipper Installation](#klipper-installation)
|
||||
- [Flash Firmware](#flash-firmware)
|
||||
- [Download OSS Klipper Configuration](#download-oss-klipper-configuration)
|
||||
@@ -26,6 +38,7 @@ I am creating these files for my personal use and cannot be held responsible for
|
||||
- [Adjust Your Slicer](#adjust-your-slicer)
|
||||
- [Support Me](#support-me)
|
||||
- [Directory Structure](#directory-structure)
|
||||
- [Special Considerations](#special-considerations)
|
||||
- [FAQ](#faq)
|
||||
- [Useful Resources](#useful-resources)
|
||||
- [Sovol Official Links](#sovol-official-links)
|
||||
@@ -39,7 +52,8 @@ I am creating these files for my personal use and cannot be held responsible for
|
||||
- Pre-configured configuration bundles based on the [Ellis SuperSlicer Print Profiles](https://github.com/AndrewEllis93/Ellis-SuperSlicer-Profiles):
|
||||
- SuperSlicer
|
||||
- PrusaSlicer
|
||||
- Printer profiles: SV06/Plus; SV07/Plus
|
||||
- 🚀 OrcaSlicer 🚀
|
||||
- Printer profiles: `SV06/Plus`; `SV07/Plus`
|
||||
- Bed model and texture to use in SuperSlicer/PrusaSlicer.
|
||||
- Macros:
|
||||
- **Improved** mechanical gantry calibration/`G34` macro that provides the user audio feedback, and time to check the calibration.
|
||||
@@ -48,7 +62,7 @@ I am creating these files for my personal use and cannot be held responsible for
|
||||
- Load/unload filament macros.
|
||||
- `PURGE_LINE` macro.
|
||||
- `TEST_SPEED` macro. Find instructions [here](#how-do-i-use-the-test_speed-macro).
|
||||
- Klipper Adaptive Meshing & Purging (KAMP) integrated. Read about it [here](#how-do-i-enable-kamp-klipper-adaptive-meshing--purging).
|
||||
- Klipper Adaptive Meshing & Purging (KAMP) integrated. Read about it [here](#what-do-i-need-to-know-about-kamp).
|
||||
|
||||
[🔼 Back to top](#outline)
|
||||
|
||||
@@ -58,7 +72,7 @@ ${\normalsize{\textcolor{goldenrod}{\texttt{Star ⭐ this project.}}}}$
|
||||
|
||||
Watch for [updates](https://github.com/bassamanator/Sovol-SV06-firmware/discussions/37).
|
||||
|
||||
<img src="./images/githubstar.gif" width="500" alt='github star'/>
|
||||
<img src="./misc/images/githubstar.gif" width="500" alt='github star'/>
|
||||
|
||||
[🔼 Back to top](#outline)
|
||||
|
||||
@@ -73,10 +87,8 @@ In many ways, this entire repository can be considered _my opinion_ on the `3D p
|
||||
## Before You Begin
|
||||
|
||||
- This entire page is a **9 minute read**. Save yourself _hours of troubleshooting_ and read this documentation fully.
|
||||
- ⚠️ Make sure your printer is in good physical condition, because print and travel speeds will be _a lot faster_. Beginners would be wise to run through [these steps](https://github.com/bassamanator/everything-sovol-sv06/blob/main/initialsteps.md).
|
||||
- ⚠️ [Disable](https://github.com/bassamanator/everything-sovol-sv06/blob/main/howto.md#disable-usb-cable-5v-pin) the USB cable's 5V pin.
|
||||
- Follow the steps in order. If an error was reported at a step, do no proceed to the next step.
|
||||
- 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 is not possible to tell just by looking.
|
||||
- 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.
|
||||
- It is also assumed that the username on the host device is `pi`. If that is not the case, edit `moonraker.conf` and `cfgs/misc-macros.cfg` to change any mentions of `/home/pi` to `/home/yourUserName`.
|
||||
- Klipper _must_ be installed on the host beforehand. Easiest is to use [MainsailOS](https://github.com/mainsail-crew/mainsail/releases/latest). [KIAUH](https://github.com/th33xitus/kiauh) is another option.
|
||||
- Klipper _must_ be up to date.
|
||||
@@ -86,7 +98,29 @@ In many ways, this entire repository can be considered _my opinion_ on the `3D p
|
||||
- It is assumed that there is one instance of Klipper installed. If that is not the case, the steps in this guide will not work _perfectly_ for you.
|
||||
- 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 configuration. There are roughly half a dozen short points amongst the various files that you should be aware of.
|
||||
<!-- - Link to recommended parts. -->
|
||||
- Consider [these](https://github.com/bassamanator/everything-sovol-sv06/blob/main/parts/README.md#printed-upgrades) printable parts, and also see my [Printables](https://www.printables.com/@bassamanator) page.
|
||||
|
||||
> [!TIP]
|
||||
> Most of the micro USB cables that you find at home are _unlikely_ to be data cables, and it is not possible to tell just by looking.
|
||||
|
||||
> [!CAUTION]
|
||||
> Make sure your printer is in good physical condition, because print and travel speeds will be _a lot faster_. Beginners would be wise to run through [these steps](https://github.com/bassamanator/everything-sovol-sv06/blob/main/initialsteps.md).
|
||||
|
||||
> [!CAUTION]
|
||||
> [Disable](https://github.com/bassamanator/everything-sovol-sv06/blob/main/howto.md#disable-usb-cable-5v-pin) the USB cable's 5V pin.
|
||||
|
||||
[🔼 Back to top](#outline)
|
||||
|
||||
## Electronic Wiring
|
||||
|
||||
Wire cables according to the following diagram:
|
||||
<img src="./misc/skr-mini/skr-mini-e3-v3.0-v1715751911501.png" alt='skr-mini-e3-v3.0 installation instructions'/>
|
||||
|
||||
### Important Note About Stepper Motor Current
|
||||
|
||||
For the SKR-Mini-E3-V3.0, the `run_current` for x, y, z stepper motors has been reduced in the `printer.cfg`, because the standard current seems to make the steppers dangerously hot. You may have to increase the current, or if the motors are still too hot, you may have to decrease it.
|
||||
|
||||
💡 Although stepper motors can withstand upwards of 125C, they should at the most get hot to the touch (~55C), not _very hot_.
|
||||
|
||||
[🔼 Back to top](#outline)
|
||||
|
||||
@@ -98,11 +132,12 @@ In many ways, this entire repository can be considered _my opinion_ on the `3D p
|
||||
|
||||
Please note:
|
||||
|
||||
- For the sake of simplicity, I will refer to the firmware file as `klipper.bin` even though the actual filename is something along the lines of `klipper-v0.11.0-148-g52f4e20c.bin`.
|
||||
- The firmware file is located in the `misc` folder.
|
||||
- Flashing will only work if current firmware filename is _different from previous flashing procedure_. The `.bin` is also important.
|
||||
- You may find this [video](https://youtu.be/p6l253OJa34) useful.
|
||||
- ⚠️ Many users have reported having issues flashing Klipper using the Sovol microSD card.
|
||||
- For the sake of simplicity, I will refer to the klipper firmware file as `firmware.bin` even though the actual filename is something along the lines of `firmware-v0.12.0-10-gea2f6bc0-UNTESTED.bin`.
|
||||
- The firmware file **must** be named `firmware.bin`.
|
||||
- The firmware file is located in `misc/skr-mini`.
|
||||
|
||||
> [!WARNING]
|
||||
> Many users have reported having issues flashing Klipper using the Sovol microSD card.
|
||||
|
||||
#### 1. Prepare the microSD Card for Flashing with These Parameters
|
||||
|
||||
@@ -114,13 +149,14 @@ Please note:
|
||||
#### 2. Flashing Procedure
|
||||
|
||||
1. Disconnect any USB cables that might be connected to the motherboard.
|
||||
2. Copy `klipper.bin` to the microSD card.
|
||||
2. Copy `firmware.bin` to the microSD card.
|
||||
3. Make sure the printer is off.
|
||||
4. Insert the microSD card into printer.
|
||||
5. Turn on the printer and wait a minute (usually takes 10 seconds).
|
||||
6. Turn off the printer and remove the microSD.
|
||||
|
||||
⏲️ At this point, it's not possible to tell with certainty whether your flash was successful, continue on with the guide.
|
||||
> [!IMPORTANT]
|
||||
> ⏲️ At this point, it's not possible to tell with certainty whether your flash was successful, continue on with the guide.
|
||||
|
||||
[🔼 Back to top](#outline)
|
||||
|
||||
@@ -130,17 +166,18 @@ Please note:
|
||||
|
||||
💡 Make sure `git` is installed (`sudo apt update && sudo apt install git`).
|
||||
|
||||
1. `cd ~/printer_data/config`
|
||||
2. Empty entire `~/printer_data/config` folder.
|
||||
1. `ssh` into the Klipper host.
|
||||
2. `cd ~/printer_data/config`
|
||||
3. Empty entire `~/printer_data/config` folder.
|
||||
- In linux, you can delete files via `rm fileName` and directories via `rmdir directoryName`.
|
||||
- In linux, you can list files and folders via `ls -lah`.
|
||||
3. `git clone -b master --single-branch https://github.com/bassamanator/Sovol-SV06-firmware.git .` ⚠️ Don't miss the period!
|
||||
4. `git clone -b skr-mini-e3-v3 --single-branch https://github.com/bassamanator/Sovol-SV06-firmware.git .` ⚠️ Don't miss the period!
|
||||
|
||||
#### Method 2: Download the ZIP
|
||||
|
||||
1. [Download](https://github.com/bassamanator/Sovol-SV06-firmware/archive/refs/heads/master.zip) the `ZIP` file containing the Klipper configuration.
|
||||
2. See `Step 2` in `Method 1`.
|
||||
3. The parent folder in the `ZIP` is `Sovol-SV06-firmware-master`. This is relevant in the next step.
|
||||
1. [Download](https://github.com/bassamanator/Sovol-SV06-firmware/archive/refs/heads/skr-mini-e3-v3.zip) the `ZIP` file containing the Klipper configuration.
|
||||
2. See Step 2 in Method 1.
|
||||
3. The parent folder in the `ZIP` is `Sovol-SV06-firmware-skr-mini-e3-v3`. This is relevant in the next step.
|
||||
4. Extract **only** the _contents_ of the parent folder into `~/printer_data/config`.
|
||||
|
||||
[🔼 Back to top](#outline)
|
||||
@@ -168,7 +205,7 @@ Please note:
|
||||
restart_method: command
|
||||
```
|
||||
|
||||
3. Do a `FIRMWARE_RESTART`.
|
||||
3. Do a `FIRMWARE_RESTART` in the Klipper console.
|
||||
|
||||
If the Klipper flash that you did earlier was successful, and you've done everything else correctly, you should see no errors or warnings in the `Mainsail`/`Fluidd` dashboard. 🎉 **Your printer has been Klipperized!** 🎉
|
||||
|
||||
@@ -186,7 +223,8 @@ If the Klipper flash that you did earlier was successful, and you've done everyt
|
||||
|
||||
💡 I recommend no filament be loaded for any of these steps.
|
||||
|
||||
📝 You will be pasting/typing these commands into the `Mainsail`/`Fluidd` console.
|
||||
> [!NOTE]
|
||||
> You will be pasting/typing these commands into the `Mainsail`/`Fluidd` console.
|
||||
|
||||
1. Check to see if `X` and `Y` max positions can be reached, and adjust `position_max`, if necessary. You might be able to go further, which is great, but I recommend leaving a 2mm gap for safety.
|
||||
1. `G28`
|
||||
@@ -217,7 +255,8 @@ _But first_, adjust your slicer.
|
||||
|
||||
## Adjust Your Slicer
|
||||
|
||||
📝 If you are using the slicer bundles found on this repo, you can skip this section.
|
||||
> [!NOTE]
|
||||
> If you are using the slicer bundles found on this repo, you can skip this section.
|
||||
|
||||
### Start G-Code
|
||||
|
||||
@@ -234,7 +273,10 @@ PRINT_END
|
||||
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 one of the following:
|
||||
|
||||
- `PURGE_LINE`; prints a standard purge line.
|
||||
- `LINE_PURGE`; prints KAMP's purge line. ⚠️ Do not attempt to use without reading [this section](#how-do-i-enable-kamp-klipper-adaptive-meshing--purging).
|
||||
- `LINE_PURGE`; prints KAMP's purge line.
|
||||
|
||||
> [!WARNING]
|
||||
> Do not attempt to use `LINE_PURGE` without reading [this section](#what-do-i-need-to-know-about-kamp).
|
||||
|
||||
```yaml
|
||||
# 📝 This is just an example Start G-Code
|
||||
@@ -248,7 +290,7 @@ PURGE_LINE
|
||||
|
||||
Please ⭐ star this repository!
|
||||
|
||||
Support [open source](https://en.wikipedia.org/wiki/Open_source), and buy me a [<img src="./images/logo_white_stroke.png" height="20" alt='Ko-fi'/>](https://ko-fi.com/bassamanator).
|
||||
Support [open source](https://en.wikipedia.org/wiki/Open_source), and buy me a [<img src="./misc/images/logo_white_stroke.png" height="20" alt='Ko-fi'/>](https://ko-fi.com/bassamanator).
|
||||
|
||||
[🔼 Back to top](#outline)
|
||||
|
||||
@@ -268,7 +310,6 @@ This repository contains many files and folders. Some are _necessary_ for this K
|
||||
├── .git/ ✅❔
|
||||
├── .github/ 💠
|
||||
├── .gitignore ✅❔
|
||||
├── images/ 💠
|
||||
├── LICENSE 💠
|
||||
├── misc/ 💠
|
||||
├── moonraker.conf ✅
|
||||
@@ -281,6 +322,28 @@ This repository contains many files and folders. Some are _necessary_ for this K
|
||||
|
||||
[🔼 Back to top](#outline)
|
||||
|
||||
## Special Considerations
|
||||
|
||||
### Sequential printing
|
||||
|
||||
If enabled, cancelling, or resuming a print from pause, could lead to collisions with previously printed objects. In order to prevent collisions, in your slicer, ensure that objects are printed from the back of the build plate to the front.
|
||||
|
||||
In PrusaSlicer, please see Printer Settings > Notes, for extruder clearances.
|
||||
|
||||
### Renamed GCODE Commands
|
||||
|
||||
#### BED_MESH_CALIBRATE
|
||||
|
||||
Renamed to `_BED_MESH_CALIBRATE`.
|
||||
|
||||
### Errors
|
||||
|
||||
#### MCU 'mcu' shutdown: Timer too close
|
||||
|
||||
This error often occurs when the `mcu` is unable to generate the required `microsteps`. Lower power Klipper hosts might be especially susceptible. Reducing `microsteps` to `64`, or even `32` can resolve the issue.
|
||||
|
||||
[🔼 Back to top](#outline)
|
||||
|
||||
## FAQ
|
||||
|
||||
### What are some settings that I can change?
|
||||
@@ -291,11 +354,22 @@ Edit the relevant file according to your needs.
|
||||
| ---------------------- | ------------------------ |
|
||||
| `cfgs/misc-macros.cfg` | `[gcode_macro _globals]` |
|
||||
|
||||
| Variable | Disable | Enable | Notes |
|
||||
| ---------------------------------- | ------------- | ------------- | ------------------------------------------------------------------- |
|
||||
| `variable_beeping_enabled` | `0` | `1` (default) |
|
||||
| `variable_filament_sensor_enabled` | `0` (default) | `1` |
|
||||
| `variable_kamp_enable` | `0` (default) | `1` | See [here](#how-do-i-enable-kamp-klipper-adaptive-meshing--purging) |
|
||||
| Variable | Disable | Enable | Notes |
|
||||
| ---------------------------------- | ------------- | -------------- | ---------------------------------------------- |
|
||||
| `variable_beeping_enabled` | `0` | `1` (default) |
|
||||
| `variable_filament_sensor_enabled` | `0` (default) | `1` |
|
||||
| `variable_kamp_enable` | `0` (default) | `1` | See [here](#what-do-i-need-to-know-about-kamp) |
|
||||
| `variable_bed_temp_over` | `0` | `10` (default) | Speeds up print start |
|
||||
| `variable_bed_temp_not_exact` | `0` | `1` (default) | Speeds up print start |
|
||||
|
||||
### Any differences between this configuration and Sovol's Marlin firmware?
|
||||
|
||||
| Property | Marlin | OSS Klipper Config |
|
||||
| ------------------------- | ------ | ------------------ |
|
||||
| `stepper_x` `run_current` | 0.860 | 0.600 |
|
||||
| `stepper_y` `run_current` | 0.900 | 0.600 |
|
||||
| `stepper_z` `run_current` | 0.800 | 0.600 |
|
||||
| `microsteps` | 16 | 64 |
|
||||
|
||||
### How do I import a configuration bundle into SuperSlicer/PrusaSlicer?
|
||||
|
||||
@@ -318,6 +392,8 @@ The printer will beep upon:
|
||||
|
||||
You can find information about the physical setup [here](https://github.com/bassamanator/everything-sovol-sv06#filament-sensor).
|
||||
|
||||
You can test the sensor via `QUERY_FILAMENT_SENSOR SENSOR=filament_sensor`.
|
||||
|
||||
### My filament runout sensor works, but I just started a print without any filament loaded. What gives?
|
||||
|
||||
A simple runout sensor can only detect a change in state. So, if you start a print without filament loaded, the printer will not know that there is no filament loaded. You should test your sensor by having filament loaded, starting a print, then cutting the filament. The expected behaviour is that the print will pause, and as long as you have beeping enabled, you will hear 3 annoying beeps.
|
||||
@@ -339,7 +415,8 @@ _If_ you have a working filament sensor, the same behaviour as `M600`/colour cha
|
||||
|
||||
### How do I resume a print after a colour change or filament runout?
|
||||
|
||||
⚠️ Do not disable the stepper motors during this process!
|
||||
> [!WARNING]
|
||||
> Do not disable the stepper motors during this process!
|
||||
|
||||
The printhead is now parked front center waiting for you to insert filament. You will:
|
||||
|
||||
@@ -350,21 +427,28 @@ The printhead is now parked front center waiting for you to insert filament. You
|
||||
- OR, you can push some filament by hand _making sure to first disengage the extruder's spring loaded arm_.
|
||||
3. Hit resume in your Klipper dashboard.
|
||||
|
||||
### How do I enable KAMP (Klipper Adaptive Meshing & Purging)?
|
||||
### What do I need to know about KAMP?
|
||||
|
||||
⚠️ No KAMP functionality can be used on low-powered devices such as the Raspberry Pi Zero.
|
||||
> [!WARNING]
|
||||
> No KAMP functionality can be used on low-powered devices such as the Raspberry Pi Zero.
|
||||
|
||||
⚠️ If KAMP is disabled, and there is no `default` mesh, `PRINT_START` will crash.
|
||||
> [!WARNING]
|
||||
> If KAMP is disabled, and there is no `default` mesh, `PRINT_START` will crash.
|
||||
|
||||
📝 The [Label objects setting](https://docs.mainsail.xyz/overview/features/exclude-objects#enable-the-label-objects-setting-in-your-slicer) in your slicer must be enabled for KAMP to work.
|
||||
> [!IMPORTANT]
|
||||
> The [Label objects setting](https://docs.mainsail.xyz/overview/features/exclude-objects#enable-the-label-objects-setting-in-your-slicer) in your slicer must be enabled for KAMP to work.
|
||||
|
||||
📝 `LINE_PURGE` is useable (on appropriate devices) even if KAMP is disabled.
|
||||
> [!NOTE]
|
||||
> `LINE_PURGE` is useable _on appropriate devices_ even if KAMP is disabled.
|
||||
|
||||
This repo contains all the code from the KAMP repository, however, only the `adaptive meshing` and `LINE_PURGE` functionality of KAMP has been configured and tested for use. To enable other functionality, adjust `/cfgs/kamp/KAMP_Settings.cfg`.
|
||||
|
||||
Read [KAMP official docs](https://github.com/kyleisah/Klipper-Adaptive-Meshing-Purging) to learn more.
|
||||
|
||||
### How do I use the `TEST_SPEED` macro?
|
||||
|
||||
⚠️ This is for advanced users only, with well oiled machines. You can cause serious damage to your printer if you're not careful. ☠️ **You have been warned** ☠️.
|
||||
> [!WARNING]
|
||||
> This is for advanced users only, with well oiled machines. You can cause serious damage to your printer if you're not careful.
|
||||
|
||||
Find full instructions [here](https://ellis3dp.com/Print-Tuning-Guide/articles/determining_max_speeds_accels.html).
|
||||
|
||||
@@ -376,7 +460,7 @@ Some tips:
|
||||
|
||||
### How do I compile my own firmware?
|
||||
|
||||
Please see this [discussion](https://github.com/bassamanator/Sovol-SV06-firmware/discussions/111).
|
||||
Please see this [discussion](https://github.com/bassamanator/Sovol-SV06-firmware/discussions/117).
|
||||
|
||||
[🔼 Back to top](#outline)
|
||||
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
# NOTE Find how to use instructions here: https://ellis3dp.com/Print-Tuning-Guide/articles/determining_max_speeds_accels.html
|
||||
[gcode_macro TEST_SPEED]
|
||||
# Home, get position, throw around toolhead, home again.
|
||||
# If MCU stepper positions (first line in GET_POSITION) are greater than a full step different (your number of microsteps), then skipping occured.
|
||||
# We only measure to a full step to accomodate for endstop variance.
|
||||
# Example: TEST_SPEED SPEED=300 ACCEL=5000 ITERATIONS=10
|
||||
|
||||
[gcode_macro TEST_SPEED]
|
||||
description: Test for max speed and acceleration parameters for the printer. Procedure: Home -> ReadPositionFromMCU -> MovesToolhead@Vel&Accel -> Home -> ReadPositionfromMCU
|
||||
|
||||
gcode:
|
||||
# Speed
|
||||
{% set speed = params.SPEED|default(printer.configfile.settings.printer.max_velocity)|int %}
|
||||
@@ -12,6 +14,8 @@ gcode:
|
||||
{% set iterations = params.ITERATIONS|default(5)|int %}
|
||||
# Acceleration
|
||||
{% set accel = params.ACCEL|default(printer.configfile.settings.printer.max_accel)|int %}
|
||||
# Minimum Cruise Ratio
|
||||
{% set min_cruise_ratio = params.MIN_CRUISE_RATIO|default(0.5)|float %}
|
||||
# Bounding inset for large pattern (helps prevent slamming the toolhead into the sides after small skips, and helps to account for machines with imperfectly set dimensions)
|
||||
{% set bound = params.BOUND|default(20)|int %}
|
||||
# Size for small pattern box
|
||||
@@ -64,7 +68,11 @@ gcode:
|
||||
G0 X{x_min} Y{y_min} Z{bound + 10} F{speed*60}
|
||||
|
||||
# Set new limits
|
||||
SET_VELOCITY_LIMIT VELOCITY={speed} ACCEL={accel} ACCEL_TO_DECEL={accel / 2}
|
||||
{% if printer.configfile.settings.printer.minimum_cruise_ratio is defined %}
|
||||
SET_VELOCITY_LIMIT VELOCITY={speed} ACCEL={accel} MINIMUM_CRUISE_RATIO={min_cruise_ratio}
|
||||
{% else %}
|
||||
SET_VELOCITY_LIMIT VELOCITY={speed} ACCEL={accel} ACCEL_TO_DECEL={accel / 2}
|
||||
{% endif %}
|
||||
|
||||
{% for i in range(iterations) %}
|
||||
# Large pattern diagonals
|
||||
@@ -80,7 +88,7 @@ gcode:
|
||||
G0 X{x_min} Y{y_max} F{speed*60}
|
||||
G0 X{x_max} Y{y_max} F{speed*60}
|
||||
G0 X{x_max} Y{y_min} F{speed*60}
|
||||
|
||||
|
||||
# Small pattern diagonals
|
||||
G0 X{x_center_min} Y{y_center_min} F{speed*60}
|
||||
G0 X{x_center_max} Y{y_center_max} F{speed*60}
|
||||
@@ -89,7 +97,7 @@ gcode:
|
||||
G0 X{x_center_min} Y{y_center_max} F{speed*60}
|
||||
G0 X{x_center_max} Y{y_center_min} F{speed*60}
|
||||
|
||||
# Small patternbox
|
||||
# Small pattern box
|
||||
G0 X{x_center_min} Y{y_center_min} F{speed*60}
|
||||
G0 X{x_center_min} Y{y_center_max} F{speed*60}
|
||||
G0 X{x_center_max} Y{y_center_max} F{speed*60}
|
||||
@@ -97,7 +105,11 @@ gcode:
|
||||
{% endfor %}
|
||||
|
||||
# Restore max speed/accel/accel_to_decel to their configured values
|
||||
SET_VELOCITY_LIMIT VELOCITY={printer.configfile.settings.printer.max_velocity} ACCEL={printer.configfile.settings.printer.max_accel} ACCEL_TO_DECEL={printer.configfile.settings.printer.max_accel_to_decel}
|
||||
{% if printer.configfile.settings.printer.minimum_cruise_ratio is defined %}
|
||||
SET_VELOCITY_LIMIT VELOCITY={printer.configfile.settings.printer.max_velocity} ACCEL={printer.configfile.settings.printer.max_accel} MINIMUM_CRUISE_RATIO={printer.configfile.settings.printer.minimum_cruise_ratio}
|
||||
{% else %}
|
||||
SET_VELOCITY_LIMIT VELOCITY={printer.configfile.settings.printer.max_velocity} ACCEL={printer.configfile.settings.printer.max_accel} ACCEL_TO_DECEL={printer.configfile.settings.printer.max_accel_to_decel}
|
||||
{% endif %}
|
||||
|
||||
# Re-home and get position again for comparison:
|
||||
M400 # Finish moves - https://github.com/AndrewEllis93/Print-Tuning-Guide/issues/66
|
||||
@@ -109,4 +121,5 @@ gcode:
|
||||
GET_POSITION
|
||||
|
||||
# Restore previous gcode state (absolute/relative, etc)
|
||||
RESTORE_GCODE_STATE NAME=TEST_SPEED
|
||||
RESTORE_GCODE_STATE NAME=TEST_SPEED
|
||||
|
||||
@@ -29,9 +29,11 @@ gcode:
|
||||
SET_FILAMENT_SENSOR SENSOR=filament_sensor ENABLE=0
|
||||
|
||||
[gcode_macro _globals]
|
||||
# NOTE 0 = false; 1 = true
|
||||
variable_filament_sensor_enabled: 0 # NOTE Enable(1) or disable(0) the filament sensor, if one is connected
|
||||
variable_beeping_enabled: 1 # NOTE Enable(1) or disable(0) beeping everywhere except during gantry calibration
|
||||
variable_bed_temp_over: 10 # NOTE Start print if bed temperature is over by this amount, otherwise wait for temperature drop
|
||||
variable_bed_temp_over: 10 # NOTE Start print if bed temperature is over by this amount. Set to 0 to disable, meaning, wait for temperature to drop
|
||||
variable_bed_temp_not_exact: 1 # NOTE Start print if bed temperature is `target temperature - 1` (but continue to heat until target is reached)
|
||||
variable_kamp_enable: 0 # NOTE Enable(1) or disable(0) KAMP (adaptive mesh)
|
||||
variable_pre_purge_prime_length: 1.40
|
||||
gcode:
|
||||
@@ -75,12 +77,20 @@ gcode:
|
||||
[gcode_macro M190]
|
||||
rename_existing: M99190
|
||||
gcode:
|
||||
#Parameters
|
||||
# Global variables/settings
|
||||
{% set bedtempNotExact = printer["gcode_macro _globals"].bed_temp_not_exact|default(1)|int %}
|
||||
|
||||
# Parameters
|
||||
{% set s = params.S|float %}
|
||||
|
||||
M140 {% for p in params %}{'%s%s' % (p, params[p])}{% endfor %} ; Set bed temp
|
||||
{% if s != 0 %}
|
||||
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={s} MAXIMUM={s+1} ; Wait for bed temp (within 1 degree)
|
||||
{% if bedtempNotExact == 1 %}
|
||||
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={s-1} MAXIMUM={s+1} ; set & wait for bed temp (within -1 or +1 degree)
|
||||
M140 {% for p in params %}{'%s%s' % (p, params[p])}{% endfor %} ; set & don't wait for bed temp
|
||||
{% else %}
|
||||
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={s} MAXIMUM={s+1} ; Wait for bed temp (within +1 degree)
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
[gcode_macro PURGE_LINE]
|
||||
@@ -97,7 +107,7 @@ gcode:
|
||||
|
||||
# Set safe speeds
|
||||
{% set maxVelocity = printer.configfile.settings.printer.max_velocity|default(200)|int %}
|
||||
{% set maxVelocityAdjusted = (0.95 * maxVelocity * 60)|int %}
|
||||
{% set maxVelocityAdjusted = (0.95 * maxVelocity * 60)|int %}
|
||||
|
||||
G92 E0.0 ; reset extruder
|
||||
G90 ; Absolute positioning
|
||||
@@ -132,7 +142,7 @@ gcode:
|
||||
{% set bedtempSlicer = bedtemp %}
|
||||
{% set bedtempOver = printer["gcode_macro _globals"].bed_temp_over|default(0)|int %}
|
||||
{% set maxVelocity = printer.configfile.settings.printer.max_velocity|default(200)|int %}
|
||||
{% set maxVelocityAdjusted = (0.90 * maxVelocity * 60)|int %}
|
||||
{% set maxVelocityAdjusted = (0.90 * maxVelocity * 60)|int %}
|
||||
{% set kampEnabled=printer["gcode_macro _globals"].kamp_enable|default(0)|int %}
|
||||
|
||||
{% if printer.configfile.settings.safe_z_home %}
|
||||
@@ -195,8 +205,8 @@ gcode:
|
||||
# Set safe speeds
|
||||
{% set zVelocity = printer.configfile.settings.printer.max_z_velocity|default(15)|int %}
|
||||
{% set maxVelocity = printer.configfile.settings.printer.max_velocity|default(200)|int %}
|
||||
{% set zVelocityAdjusted = (0.95 * zVelocity * 60)|int %}
|
||||
{% set maxVelocityAdjusted = (0.95 * maxVelocity * 60)|int %}
|
||||
{% set zVelocityAdjusted = (0.95 * zVelocity * 60)|int %}
|
||||
{% set maxVelocityAdjusted = (0.95 * maxVelocity * 60)|int %}
|
||||
|
||||
# Get Boundaries
|
||||
{% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %}
|
||||
@@ -326,4 +336,4 @@ gcode:
|
||||
G4 P{dur}
|
||||
SET_PIN PIN=beeper VALUE=0
|
||||
G4 P{dur}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
|
||||
|
Before Width: | Height: | Size: 72 KiB |
4407
misc/PrusaSlicer_config_bundle-2.9.0-V6.ini
Normal file
4483
misc/PrusaSlicer_config_bundle-2.9.2.ini
Normal file
4407
misc/bundles-outdated/PrusaSlicer_config_bundle-2.9.0-V6.ini
Normal file
4483
misc/bundles-outdated/PrusaSlicer_config_bundle-2.9.1.ini
Normal file
@@ -23,8 +23,6 @@ You have to decide what camp you want to be apart off.
|
||||
|
||||
##### Update Klipper repo first
|
||||
|
||||
\*\* _For those coming from the_ ${\small{\textcolor{WildStrawberry}{\texttt{Before You B.egin}}}}$ _section (installing Klipper for the first time), complete_ **only** _this section_. No need to compile the firmware, etc.
|
||||
|
||||
It's always best to update the Klipper repository that lives on the host before compiling. This ensures that your `klipper.bin` will be as 'fresh' as possible.
|
||||
|
||||
- In `Fluidd`, you can do this from `Settings` > `Software Updates`.
|
||||
@@ -37,9 +35,13 @@ It's always best to update the Klipper repository that lives on the host before
|
||||
1. `ssh` into the Klipper host (i.e., RPi, OrangePi, etc.).
|
||||
2. `cd ~/klipper`
|
||||
3. `make menuconfig`
|
||||
4. Set things up to look as follows:
|
||||

|
||||
5. `make clean`
|
||||
- Adjusts compilation settings via terminal GUI.
|
||||
5. Set things up to look as follows:
|
||||
<div align='center'>
|
||||
<img width="561" height="323" alt="image" src="https://github.com/user-attachments/assets/868f89f7-29a2-42b6-bf08-e7a59e8c8510" />
|
||||
</div>
|
||||
|
||||
6. `make clean`
|
||||
- Clears `~/klipper/out/`
|
||||
6. `make`
|
||||
7. `make`
|
||||
- Compiles `klipper.bin` and puts it in `~/klipper/out/`
|
||||
|
||||
|
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 7.8 KiB |
|
Before Width: | Height: | Size: 93 KiB After Width: | Height: | Size: 93 KiB |
|
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 7.5 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
BIN
misc/images/make-menuconfig-v0.13.0-371-g7a723bdc.png
Normal file
|
After Width: | Height: | Size: 54 KiB |
|
Before Width: | Height: | Size: 83 KiB After Width: | Height: | Size: 83 KiB |
BIN
misc/orcaslicer-bundles/SV06 0.4 nozzle.orca_printer
Normal file
BIN
misc/orcaslicer-bundles/SV06 0.6 nozzle.orca_printer
Normal file
BIN
misc/orcaslicer-bundles/SV06 ACE 0.4 nozzle.orca_printer
Normal file
BIN
misc/orcaslicer-bundles/SV06 ACE 0.6 nozzle.orca_printer
Normal file
BIN
misc/orcaslicer-bundles/SV06 Plus 0.4 nozzle.orca_printer
Normal file
BIN
misc/orcaslicer-bundles/SV06 Plus 0.6 nozzle.orca_printer
Normal file
BIN
misc/orcaslicer-bundles/SV07 0.4 nozzle.orca_printer
Normal file
BIN
misc/orcaslicer-bundles/SV07 0.6 nozzle.orca_printer
Normal file
BIN
misc/orcaslicer-bundles/SV07 Plus 0.4 nozzle.orca_printer
Normal file
BIN
misc/orcaslicer-bundles/SV07 Plus 0.6 nozzle.orca_printer
Normal file
15
misc/orcaslicer-bundles/how-to-generate/README.md
Normal file
@@ -0,0 +1,15 @@
|
||||
## Converting PrusaSlicer/SuperSlicer config bundles to OrcaSlicer
|
||||
|
||||
OrcaSlicer configs can be converted from PrusaSlicer using [SuperSlicer_to_Orca_scripts](https://github.com/apparle/SuperSlicer_to_Orca_scripts). It is a fork of theophile's script with some enhancements which haven't been merged yet ([theophile/SuperSlicer_to_Orca_scripts#43](https://github.com/theophile/SuperSlicer_to_Orca_scripts/pull/43)). It does require a few perl modules which can be installed using `cpanminus` (or your favorite perl module manager).
|
||||
|
||||
Most of the script is automated, with the exception of `printer_model` field which must be manually specified with a `json`. This attribute is used by OrcaSlicer to load the appropriate build plate images & STLs.
|
||||
|
||||
```
|
||||
perl SuperSlicer_to_Orca_scripts/superslicer_to_orca.pl --input PrusaSlicer_config_bundle-2.9.2.ini --nozzle-size 0.4 --compatible_printers_condition KEEP --skip-link-system-printer --printer-models-json printer_models_conversion_mapping.json --output-config-bundle OrcaSlicer_config_bundle-2.9.2-DEV.zip
|
||||
```
|
||||
|
||||
## How to use OrcaSlicer bundle:
|
||||
|
||||
This config bundle can be imported into OrcaSlicer : `File > Import > Import configs...`
|
||||
|
||||
Note, OrcaSlicer reformats the `json` and adds some default attributes, so the imported files cannot be directly compared with the contents of the zipped bundle. But you can use json comparison tools like [https://www.jsondiff.com/](https://www.jsondiff.com/) to analyze the differences if needed.
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"SV06 0.4 nozzle": "Sovol SV06",
|
||||
"SV06 0.6 nozzle": "Sovol SV06",
|
||||
"SV06 ACE 0.4 nozzle": "Sovol SV06 ACE",
|
||||
"SV06 ACE 0.6 nozzle": "Sovol SV06 ACE",
|
||||
"SV06 Plus 0.4 nozzle": "Sovol SV06 Plus",
|
||||
"SV06 Plus 0.6 nozzle": "Sovol SV06 Plus",
|
||||
"SV07 0.4 nozzle": "Sovol SV07",
|
||||
"SV07 0.6 nozzle": "Sovol SV07",
|
||||
"SV07 Plus 0.4 nozzle": "Sovol SV07 Plus",
|
||||
"SV07 Plus 0.6 nozzle": "Sovol SV07 Plus"
|
||||
}
|
||||
BIN
misc/skr-mini/BTT E3 SKR MINI V3.0_PIN-1.pdf
Normal file
BIN
misc/skr-mini/firmware-v0.12.0-10-gea2f6bc0-UNTESTED.bin
Executable file
BIN
misc/skr-mini/ls-output.png
Normal file
|
After Width: | Height: | Size: 25 KiB |
BIN
misc/skr-mini/menuconfig.png
Normal file
|
After Width: | Height: | Size: 64 KiB |
BIN
misc/skr-mini/skr-mini-e3-v3.0-v1678580296384.png
Normal file
|
After Width: | Height: | Size: 876 KiB |
BIN
misc/skr-mini/skr-mini-e3-v3.0-v1715751911501.png
Normal file
|
After Width: | Height: | Size: 901 KiB |
@@ -1,73 +0,0 @@
|
||||
\*\* _Flashing the firmware is not required for any method_
|
||||
|
||||
## Should You Update?
|
||||
|
||||
I treat this config like software, and like any piece of modern software, it will require periodic updates to fix issues, add features, improve functionality, etc. So, if you want to have the latest and greatest, I recommend you periodically pull the changes from this repo.
|
||||
|
||||
### What Changes Should You Be Concerned With
|
||||
|
||||
The only changes you need to be concerned with relate to the `.cfg` and `.conf` files; all changes to `.md` files (these are markdown files, the text that you see when you visit this repo) can be ignored.
|
||||
|
||||
### Git Users
|
||||
|
||||
If you do a `git diff origin/master --name-only` and it shows you that a `.cfg` file has changed, you might want to pull in those changes (but you don't have to).
|
||||
|
||||
### Non-Git Users
|
||||
|
||||
Unfortunately, there's no simple way for you to ascertain whether there have been changes. I simply recommend that you update your config via the instructions below from time to time.
|
||||
|
||||
## Hot to Update
|
||||
|
||||
There are three methods to accomplish this:
|
||||
|
||||
1. The correct method, using `git`.
|
||||
2. The mostly acceptable method, without using `git`.
|
||||
3. The start-from-scratch method. _Recommended for non-git users and those who haven't made many changes to their configuration._
|
||||
|
||||
### The `git` method.
|
||||
|
||||
⚠️ This method is only intended for those who already know how to use `git`.
|
||||
|
||||
🗒️ In this example, I'm using the `master` branch which applies to SV06 users only. Be sure to use the appropriate branch for your printer.
|
||||
|
||||
🗒️ The assumption is that you didn't change branches after the initial setup, so you are in `master`, and there are many untracked changes.
|
||||
|
||||
1. `ssh` into your Klipper host.
|
||||
2. `cd ~/printer_data/config`
|
||||
3. `git checkout -b my-settings`
|
||||
4. `git add .`
|
||||
5. `git commit -m "Saving my settings."`
|
||||
6. `git checkout master`
|
||||
7. `git pull`
|
||||
8. `git checkout my-settings`
|
||||
9. `git merge master --no-ff --no-commit`
|
||||
10. Deal with comparing and pulling in incoming changes from `master` using your favourite code editor. You can also do this from the command line via `git commit --interactive`, however, only advanced `git` users should attempt this, though it is easy enough.
|
||||
11. Add all welcomed changes to the staging area, and discard all other changes.
|
||||
12. `git commit -m "Update with upstream."`
|
||||
|
||||
You should push your branch to your own fork of this repo.
|
||||
|
||||
For any future updates, you can run through the same process again, however, you cannot re-create the `my-settings` branch as you did in `step 3`, because it already exists. Simply omit the `-b` flag in `step 3` next time you update.
|
||||
|
||||
### The mostly acceptable method.
|
||||
|
||||
This method has shortcomings, because it relies on the user's memory, and requires more manual edits. Perfectly functional method, however.
|
||||
|
||||
1. Read all the documentation.
|
||||
2. Backup your current configuration, essentially everything inside `~/printer_data/config`.
|
||||
3. Repeat steps in [Download OSS Klipper Configuration](https://github.com/bassamanator/Sovol-SV06-firmware#download-oss-klipper-configuration), and [Adjust Configuration with MCU Path](https://github.com/bassamanator/Sovol-SV06-firmware#adjust-configuration-with-mcu-path).
|
||||
4. Copy everything from `#*# <---------------------- SAVE_CONFIG ---------------------->` onward and paste into new `printer.cfg`, inclusive.
|
||||
5. Copy any other changes you might have made into the new configuration. Maybe you had adjusted the size of your printer (`position_max`), or other such changes.
|
||||
|
||||
### The start-from-scratch method.
|
||||
|
||||
1. Delete the folder `~/printer_data/config`.
|
||||
2. Recreate the folder `~/printer_data/config` via `mkdir ~/printer_data/config`.
|
||||
3. Start the Klipper installation process starting from `Download OSS Klipper Configuration` in the appropriate branch.
|
||||
|
||||
## Linux Tips
|
||||
|
||||
- In linux, you can delete files via `rm fileName` and directories via `rmdir directoryName`.
|
||||
- In linux, you can list files and folders via `ls -lah`.
|
||||
|
||||
You are now up-to-date with this repo, and have added your personal settings on top.
|
||||
124
printer.cfg
@@ -1,4 +1,4 @@
|
||||
# This file contains pin mappings for the stock Sovol SV06.
|
||||
# This file contains pin mappings for the Sovol SV06 using the BTT SKR Mini E3 V3.0.
|
||||
#
|
||||
# Find installation instructions at https://github.com/bassamanator/Sovol-SV06-firmware
|
||||
#
|
||||
@@ -24,10 +24,10 @@ square_corner_velocity: 8.0
|
||||
#####################################################################
|
||||
|
||||
[stepper_x]
|
||||
step_pin: PC2
|
||||
dir_pin: !PB9
|
||||
enable_pin: !PC3
|
||||
microsteps: 128
|
||||
step_pin: PB13
|
||||
dir_pin: PB12
|
||||
enable_pin: !PB14
|
||||
microsteps: 64
|
||||
rotation_distance: 40
|
||||
endstop_pin: tmc2209_stepper_x:virtual_endstop
|
||||
position_endstop: 0
|
||||
@@ -36,20 +36,21 @@ homing_speed: 40
|
||||
homing_retract_dist: 0
|
||||
|
||||
[tmc2209 stepper_x]
|
||||
uart_pin: PC1
|
||||
run_current: 0.860
|
||||
uart_pin: PC11
|
||||
tx_pin: PC10
|
||||
run_current: 0.600
|
||||
stealthchop_threshold: 0
|
||||
interpolate: False
|
||||
sense_resistor: 0.150
|
||||
uart_address: 3
|
||||
sense_resistor: 0.110
|
||||
uart_address: 0
|
||||
driver_SGTHRS: 81
|
||||
diag_pin: PA5
|
||||
diag_pin: PC0
|
||||
|
||||
[stepper_y]
|
||||
step_pin: PB8
|
||||
dir_pin: PB7
|
||||
enable_pin: !PC3
|
||||
microsteps: 128
|
||||
step_pin: PB10
|
||||
dir_pin: !PB2
|
||||
enable_pin: !PB11
|
||||
microsteps: 64
|
||||
rotation_distance: 40
|
||||
endstop_pin: tmc2209_stepper_y:virtual_endstop
|
||||
position_endstop: 0
|
||||
@@ -58,20 +59,21 @@ homing_speed: 40
|
||||
homing_retract_dist: 0
|
||||
|
||||
[tmc2209 stepper_y]
|
||||
uart_pin: PC0
|
||||
run_current: 0.900
|
||||
uart_pin: PC11
|
||||
tx_pin: PC10
|
||||
run_current: 0.600
|
||||
stealthchop_threshold: 0
|
||||
interpolate: False
|
||||
sense_resistor: 0.150
|
||||
uart_address: 3
|
||||
sense_resistor: 0.110
|
||||
uart_address: 2
|
||||
driver_SGTHRS: 81
|
||||
diag_pin: PA6
|
||||
diag_pin: PC1
|
||||
|
||||
[stepper_z]
|
||||
step_pin: PB6
|
||||
dir_pin: !PB5
|
||||
enable_pin: !PC3
|
||||
microsteps: 128
|
||||
step_pin: PB0
|
||||
dir_pin: PC5
|
||||
enable_pin: !PB1
|
||||
microsteps: 64
|
||||
rotation_distance: 4
|
||||
endstop_pin: probe:z_virtual_endstop
|
||||
position_min: -4
|
||||
@@ -79,29 +81,30 @@ position_max: 258 # NOTE You can adjust this if you have more room
|
||||
homing_speed: 5
|
||||
|
||||
[tmc2209 stepper_z]
|
||||
uart_pin: PA15
|
||||
run_current: 1.000
|
||||
uart_pin: PC11
|
||||
tx_pin: PC10
|
||||
run_current: 0.600
|
||||
stealthchop_threshold: 0
|
||||
interpolate: False
|
||||
sense_resistor: 0.150
|
||||
uart_address: 3
|
||||
diag_pin: PA7
|
||||
sense_resistor: 0.110
|
||||
uart_address: 1
|
||||
# diag_pin: PC2 # Should not be needed
|
||||
|
||||
#####################################################################
|
||||
# Extruder
|
||||
#####################################################################
|
||||
|
||||
[extruder]
|
||||
step_pin: PB4
|
||||
dir_pin: !PB3
|
||||
enable_pin: !PC3
|
||||
microsteps: 128
|
||||
step_pin: PB3
|
||||
dir_pin: PB4
|
||||
enable_pin: !PD1
|
||||
microsteps: 64
|
||||
rotation_distance: 4.65 # NOTE Calibrate e-steps https://www.klipper3d.org/Rotation_Distance.html#calibrating-rotation_distance-on-extruders, https://github.com/bassamanator/everything-sovol-sv06/blob/main/howto.md#calibrate-esteps
|
||||
nozzle_diameter: 0.400
|
||||
filament_diameter: 1.750
|
||||
heater_pin: PA1
|
||||
heater_pin: PC8
|
||||
sensor_type: EPCOS 100K B57560G104F
|
||||
sensor_pin: PC5
|
||||
sensor_pin: PA0
|
||||
control: pid
|
||||
pid_kd: 86.991
|
||||
pid_kp: 21.479
|
||||
@@ -112,11 +115,12 @@ max_extrude_only_distance: 150.0
|
||||
max_extrude_cross_section: 5 # NOTE Needed for KAMP purge
|
||||
|
||||
[tmc2209 extruder]
|
||||
uart_pin: PC14
|
||||
uart_pin: PC11
|
||||
tx_pin: PC10
|
||||
run_current: 0.550
|
||||
stealthchop_threshold: 0
|
||||
interpolate: False
|
||||
sense_resistor: 0.150
|
||||
sense_resistor: 0.110
|
||||
uart_address: 3
|
||||
|
||||
#####################################################################
|
||||
@@ -124,7 +128,7 @@ uart_address: 3
|
||||
#####################################################################
|
||||
|
||||
[heater_bed]
|
||||
heater_pin: PA2
|
||||
heater_pin: PC9
|
||||
sensor_type: EPCOS 100K B57560G104F
|
||||
sensor_pin: PC4
|
||||
control: pid
|
||||
@@ -139,7 +143,7 @@ max_temp: 110
|
||||
#####################################################################
|
||||
|
||||
[probe]
|
||||
pin: PB1
|
||||
pin: PC14
|
||||
x_offset: 27
|
||||
y_offset: -20
|
||||
z_offset: 0
|
||||
@@ -173,8 +177,22 @@ calibrate_y: 115
|
||||
# Fans
|
||||
#####################################################################
|
||||
|
||||
# FAN1
|
||||
[fan]
|
||||
pin: PA0
|
||||
pin: PC6
|
||||
|
||||
# FAN2
|
||||
[controller_fan electronic_enclosure_fan]
|
||||
pin: PB15
|
||||
idle_timeout: 60
|
||||
idle_speed: 0
|
||||
stepper: stepper_x, stepper_y, stepper_z
|
||||
|
||||
# FAN0
|
||||
[heater_fan hotend_fan]
|
||||
pin: PC7
|
||||
heater: extruder
|
||||
heater_temp: 50.0
|
||||
|
||||
#####################################################################
|
||||
# Misc
|
||||
@@ -182,11 +200,11 @@ pin: PA0
|
||||
|
||||
[display]
|
||||
lcd_type: st7920
|
||||
cs_pin: PB12
|
||||
sclk_pin: PB13
|
||||
sid_pin: PB15
|
||||
encoder_pins: ^PB14, ^PB10
|
||||
click_pin: ^!PB2
|
||||
cs_pin: PB8
|
||||
sclk_pin: PB9
|
||||
sid_pin: PD6
|
||||
encoder_pins: ^PA10, ^PA9
|
||||
click_pin: ^!PA15
|
||||
|
||||
[bed_screws]
|
||||
screw1_name: front left
|
||||
@@ -213,19 +231,27 @@ horizontal_move_z: 10
|
||||
screw_thread: CCW-M4
|
||||
|
||||
[output_pin beeper]
|
||||
pin: PC6
|
||||
pin: PB5
|
||||
value: 0
|
||||
shutdown_value: 0
|
||||
pwm: True
|
||||
cycle_time: 0.0005 ; Default beeper tone in kHz. 1 / 0.0005 = 2000Hz (2kHz)
|
||||
cycle_time: 0.0005 # Default beeper tone in kHz. 1 / 0.0005 = 2000Hz (2kHz)
|
||||
|
||||
# The E0-Stop port: PC15 | GND | +5V
|
||||
# Full pinout: https://github.com/bigtreetech/BIGTREETECH-SKR-mini-E3/blob/9b13018d639cf4fbecf004493517f72443d22bb0/hardware/BTT%20SKR%20MINI%20E3%20V3.0/Hardware/BTT%20E3%20SKR%20MINI%20V3.0_PIN.pdf
|
||||
# First tester: https://www.reddit.com/r/Sovol/comments/1631jk5/comment/k18rmcy/?utm_source=share&utm_medium=web2x&context=3
|
||||
# https://github.com/bassamanator/everything-sovol-sv06?tab=readme-ov-file#filament-sensor
|
||||
[filament_switch_sensor filament_sensor]
|
||||
switch_pin: !PA4 # "Pulled-high"
|
||||
switch_pin: PC15 # NOTE Add a ! to the pin to reverse if you're getting the opposite behaviour; !PC15
|
||||
pause_on_runout: True
|
||||
insert_gcode:
|
||||
M117 Insert Detected
|
||||
{ action_respond_info("Insert Detected") }
|
||||
runout_gcode:
|
||||
M117 Runout Detected
|
||||
{ action_respond_info("Runout Detected") }
|
||||
CONDITIONAL_BEEP i=3 dur=300 freq=400
|
||||
|
||||
[board_pins]
|
||||
aliases:
|
||||
# EXP1 header
|
||||
EXP1_1=PB5, EXP1_3=PA9, EXP1_5=PA10, EXP1_7=PB8, EXP1_9=<GND>,
|
||||
EXP1_2=PA15, EXP1_4=<RST>, EXP1_6=PB9, EXP1_8=PD6, EXP1_10=<5V>
|
||||
|
||||