48 Commits

Author SHA1 Message Date
Bassam Husain
2892220d5b Merge branch 'master' into any-printer 2025-01-11 18:47:01 -05:00
Bassam Husain
95794b5ba8 Adjust .gitignore. 2025-01-11 18:16:40 -05:00
Bassam Husain
7a50d722d6 Fix test_speed macro. 2024-08-28 23:07:44 -04:00
Bassam Husain
387c8b080a Add fly-e3-pro-v3 branch to table. 2024-07-06 00:03:38 -04:00
Bassam Husain
b81b62c8ad Merge branch 'master' into any-printer 2023-11-27 20:36:32 -05:00
Bassam Husain
5772c633e7 Merge branch 'master' into any-printer 2023-11-27 19:06:01 -05:00
Bassam Husain
04d920c7ee Adjust readme. 2023-11-27 04:30:43 -05:00
Bassam Husain
360d861498 Merge branch 'master' into any-printer. Many adjustments to readme.md. 2023-11-27 04:10:04 -05:00
Bassam Husain
501b195290 Adjust config bundles. 2023-11-23 14:08:02 -05:00
Bassam Husain
681db463ba Merge branch 'master' into any-printer 2023-11-22 19:11:42 -05:00
Bassam Husain
b99c3b347c Merge branch 'master' into any-printer 2023-11-20 02:53:19 -05:00
Bassam Husain
8d091e8384 Merge branch 'master' into any-printer 2023-11-20 01:45:48 -05:00
Bassam Husain
0812dab250 Adjust readme any-printer. 2023-11-19 22:34:21 -05:00
Bassam Husain
df7e3d8212 Adjust readme any-printer. 2023-11-19 22:30:49 -05:00
Bassam Husain
5bc56228d9 Adjust PS config bundle, and KAMP cfgs. 2023-11-19 21:43:23 -05:00
Bassam Husain
3131370ebf Merge branch 'master' into any-printer 2023-09-13 17:26:17 -04:00
Bassam Husain
913f689768 Merge branch 'master' into any-printer 2023-08-27 20:16:44 -04:00
Bassam Husain
90dd8a1314 Adjust readme.md. 2023-08-27 20:05:03 -04:00
Bassam Husain
cf0923a0cf Add colour to README.md. 2023-08-16 00:55:15 -04:00
Bassam Husain
47cf625a01 Merge branch 'master' into any-printer 2023-07-27 16:52:38 -04:00
Bassam Husain
6595987d11 Pulled in calibration.cfg. 2023-07-01 02:47:54 -04:00
Bassam Husain
7acdbb2794 Adjusted outline. 2023-07-01 02:42:49 -04:00
Bassam Husain
3a6dab44e0 Pulling in minor changes in misc-macros.cfg. 2023-07-01 02:00:06 -04:00
Bassam Husain
cd16791901 Added Adjust Your Slicer section. 2023-06-19 01:10:17 -04:00
Bassam Husain
759c81be69 Minor adjustment to misc-macros.cfg. 2023-06-19 01:04:18 -04:00
Bassam Husain
c0340aaaaf Added outline. 2023-06-18 23:06:51 -04:00
Bassam Husain
9b123175ec Updated readme minor. 2023-06-18 19:56:07 -04:00
Bassam Husain
527a241f69 Adjusted links. 2023-06-18 15:32:55 -04:00
Bassam Husain
40321ba806 Added table for branches instead of text. 2023-06-18 15:15:23 -04:00
Bassam Husain
a904b504c5 Updated readme minor. 2023-06-18 14:33:21 -04:00
Bassam Husain
89df02ee7a Updated readme major. 2023-06-18 14:30:22 -04:00
Bassam Husain
514531b3dc Prettified readme. 2023-06-18 13:41:21 -04:00
Bassam Husain
82be01a0e0 Pulled in from master. 2023-06-13 21:37:38 -04:00
Bassam Husain
89d6c0d09f Pulling in print_start from master branch. 2023-05-21 17:33:25 -04:00
Bassam Husain
b83a7c96b7 Pulling in from master. 2023-04-23 15:47:29 -04:00
Bassam Husain
2cadcf65aa Pulling in from master. 2023-04-23 15:44:04 -04:00
Bassam Husain
1ca3355dd7 Pulling in print_start from master branch. 2023-04-20 12:26:14 -04:00
Bassam Husain
b8156cf081 Updated readme. 2023-04-18 08:11:42 -04:00
Bassam Husain
572e768111 Pulling from master. 2023-04-18 08:02:11 -04:00
Bassam Husain
5ecbfe0cc0 Updated readme. 2023-04-06 07:08:01 -04:00
Bassam Husain
4c72bfe43e Adjusted readme. 2023-04-02 19:26:26 -04:00
Bassam Husain
117766d1ad Adjusted start position for purge_line. 2023-04-02 19:02:26 -04:00
Bassam Husain
81558afd79 Pulled in purge_line and print_end from master. 2023-04-02 18:40:40 -04:00
Bassam Husain
88d8bb2ad9 SuperSlicer config bundle updated. 2023-03-27 19:11:50 -04:00
Bassam Husain
0b2ad3d45c README: minor changes. 2023-03-27 18:40:45 -04:00
Bassam Husain
bdf28eb016 README: minor change. 2023-03-27 18:29:08 -04:00
Bassam Husain
c7bcbe863e Added conditional beeping to MECHANICAL_GANTRY_CALIBRATION.cfg. Adjusted directory structure section in readme.md. 2023-03-27 18:26:21 -04:00
Bassam Husain
eb029fe891 Created any-printer branch. 2023-03-27 18:18:13 -04:00
32 changed files with 61 additions and 18341 deletions

1
.github/FUNDING.yml vendored
View File

@@ -1 +0,0 @@
ko_fi: bassamanator

19
.vscode/settings.json vendored
View File

@@ -1,7 +1,5 @@
{
"editor.tabSize": 4,
// "editor.formatOnSave": false,
// "editor.defaultFormatter": "mervin.markdown-formatter",
"editor.insertSpaces": true,
"editor.detectIndentation": false,
"git.mergeEditor": false,
@@ -20,7 +18,6 @@
"Klipper",
"Klipperized",
"lrwxrwxrwx",
"menuconfig",
"microsteps",
"moonraker",
"normalsize",
@@ -35,11 +32,9 @@
"pico",
"Printables",
"Prusa",
"reformats",
"runout",
"scriptsize",
"Sovol",
"superslicer",
"textcolor",
"textit",
"texttt"
@@ -70,18 +65,4 @@
"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"]
}

226
README.md
View File

@@ -6,35 +6,29 @@ support my open source work ❤️
# One-Stop-Shop Klipper Configuration
| 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) |
| Printer | Branch |
| ------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| ${\normalsize{\textcolor{darkturquoise}{\text{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 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 | ⚡ ${\scriptsize{\textcolor{darkturquoise}{\text{YOU ARE HERE}}}}$ ⚡ |
${\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
- [Features](#features)
- [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)
- [Initial Steps](#initial-steps)
1. [Adjust Configuration with MCU Path](#adjust-configuration-with-mcu-path)
2. [Configure Your Printer](#configure-your-printer)
- [Setup Instructions](#setup-instructions)
- [Adjust Your Slicer](#adjust-your-slicer)
- [Support Me](#support-me)
- [Directory Structure](#directory-structure)
@@ -46,16 +40,13 @@ ${\small{\textit{** Maintained by ElPainis}}}$
## 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! 💥
- 💥 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` and `Fluidd`.
- Pre-configured configuration bundles based on the [Ellis SuperSlicer Print Profiles](https://github.com/AndrewEllis93/Ellis-SuperSlicer-Profiles):
- SuperSlicer
- PrusaSlicer
- 🚀 OrcaSlicer 🚀
- Printer profiles: `SV06/Plus`; `SV07/Plus`
- Bed model and texture to use in SuperSlicer/PrusaSlicer.
- Macros:
- 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`.
@@ -86,41 +77,24 @@ 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.
- 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.
- 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.
- This entire page is a **12 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 baby step by step instructions on how to get Klipper going for a particular bed printer (Sovol SV06). 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.
- 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'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`.
- Klipper _must_ be installed on the host Raspberry Pi for everything to work. Easiest is to use a [MainsailOS](https://github.com/mainsail-crew/mainsail/releases/latest) image. Alternatively, you can install `Fluidd` or `Mainsail` via [KIAUH](https://github.com/th33xitus/kiauh).
- Klipper _must_ be up to date.
- In `Fluidd`, you can do this from `Settings` > `Software Updates`.
- In `Mainsail`, you can do this from `Machine` > `Update Manager`.
- Robert Redford's performance in _Spy Game (2001)_ was superb!
- 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.
- ~~It is assumed that there is one instance of Klipper installed. If you have multiple instances of Klipper installed, via `KIAUH` for example, then this guide is not for you. You can still use all the configs of course, but the steps in this guide will likely not work 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.
- 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_.
- You must have a `bed_mesh` for `PRINT_START` to work correctly. If you do not have a probe to create a `bed_mesh`, simply comment out the line `BED_MESH_PROFILE LOAD=default` in the `PRINT_START` macro.
[🔼 Back to top](#outline)
@@ -128,128 +102,28 @@ For the SKR-Mini-E3-V3.0, the `run_current` for x, y, z stepper motors has been
### Flash Firmware
💡 If you flashed Klipper onto your motherboard in the past, you can skip this step.
Please note:
- 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
- Size: `16GB` maximum.
- File system: `FAT32`.
- Allocation unit size: `4096 bytes`.
- Must not contain any files _except_ the firmware file.
#### 2. Flashing Procedure
1. Disconnect any USB cables that might be connected to the motherboard.
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.
> [!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)
You must flash your motherboard according to the manufacturer's instructions.
### Download OSS Klipper Configuration
#### Method 1: Clone the Repository
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`.
💡 Make sure `git` is installed (`sudo apt update && sudo apt install git`).
See what files are necessary and which ones can be skipped [here](#directory-structure).
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`.
4. `git clone -b skr-mini-e3-v3 --single-branch https://github.com/bassamanator/Sovol-SV06-firmware.git .` ⚠️ Don't miss the period!
💡 **If** you get a warning that you already have a `moonraker.conf` **and if** you're _not_ using a low powered device such as a Raspberry Pi Zero, do not overwrite the _existing_ `moonraker.conf` and simply paste the following into it:
#### Method 2: Download the ZIP
```yaml
[file_manager]
enable_object_processing: True
```
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`.
### Setup Instructions
[🔼 Back to top](#outline)
Simply add `[include ./osskc.cfg]` somewhere at the top of your `printer.cfg`.
## Initial Steps
### Adjust Configuration with MCU Path
💡 Make sure the host and printer are connected via USB.
1. Find what port the `mcu` (printer motherboard) is connected to via _one_ of the following commands:
- `ls /dev/serial/by-id/*`
- `ls /dev/serial/by-path/*`
1. The output will be something along the lines of
- `/dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0`
2. Adjust the `[mcu]` section in `printer.cfg` accordingly.
```yaml
# 📝 This is just an example
[mcu]
serial: /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0
restart_method: command
```
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!** 🎉
[🔼 Back to top](#outline)
### Configure Your Printer
❗☠️ **Your finger should be on the power switch for most of these steps** ☠️❗
❗☠️ **Power off if there is a collision/problem** ☠️❗
💡 The ${\small{\textcolor{red}{\texttt{EMERGENCY STOP}}}}$ button in your dashboard works faster than hitting the power switch.
💡 Do a practice emergency stop.
💡 I recommend no filament be loaded for any of these steps.
> [!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`
2. `G90`
3. `G1 X223 F3000`
4. `G1 Y223 F3000`
2. Do a mechanical gantry calibration; `G34`. After the controlled collision against the beam at the top, there will be a 10 second pause for you to verify that both sides of the gantry are pressed up against the `stoppers` at the top. You will hear a succession of beeps.
1. Figure out your `Z` `position_max` by baby stepping your way up to the beam, and adjust `position_max`, if necessary.
3. PID tune the bed. Ideally, all PID tuning should occur at the temperatures that you print most at.
1. `PID_TEST_BED TEMP=70`
2. `SAVE_CONFIG` (once completed)
4. PID tune the extruder while part cooling fan runs at 25%.
1. `PID_TEST_HOTEND TEMP=245`
2. `SAVE_CONFIG` (once completed)
5. Adjust `z_offset`. Make sure your nozzle if very clean. Do the [Paper test](https://www.klipper3d.org/Bed_Level.html?h=probe_calibrate#the-paper-test).
1. `DO_PROBE_CALIBRATE`
2. Follow `z_offset` setup in `Mainsail`/`Fluidd`.
3. `SAVE_CONFIG` (once completed)
6. Create a bed mesh.
1. `DO_CREATE_MESH`
2. `SAVE_CONFIG` (once completed)
🏁 If you've made it here, then your Klipperized printer is ready to print! 🏁
_But first_, adjust your slicer.
And remember to _adjust your slicer_.
[🔼 Back to top](#outline)
@@ -307,14 +181,13 @@ This repository contains many files and folders. Some are _necessary_ for this K
├── cfgs/ ✅
├── CODE_OF_CONDUCT.md 💠
├── CONTRIBUTING.md 💠
├── .git/ ✅❔
├── .github/ 💠
├── .gitignore ✅❔
├── .gitignore 💠
├── images/ 💠
├── LICENSE 💠
├── misc/ 💠
├── moonraker.conf ✅
├── moonraker.conf ✅
├── osskc.cfg ✅
├── printer.cfg ✅
├── README.md 💠
├── SECURITY.md 💠
└── .vscode/ 💠
@@ -354,22 +227,11 @@ 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](#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 |
| Variable | Disable | Enable | Notes |
| ---------------------------------- | ------------- | ------------- | ---------------------------------------------- |
| `variable_beeping_enabled` | `0` (default) | `1` |
| `variable_filament_sensor_enabled` | `0` (default) | `1` |
| `variable_kamp_enable` | `0` (default) | `1` | See [here](#what-do-i-need-to-know-about-kamp) |
### How do I import a configuration bundle into SuperSlicer/PrusaSlicer?
@@ -460,7 +322,7 @@ Some tips:
### How do I compile my own firmware?
Please see this [discussion](https://github.com/bassamanator/Sovol-SV06-firmware/discussions/117).
Please see this [discussion](https://github.com/bassamanator/Sovol-SV06-firmware/discussions/111).
[🔼 Back to top](#outline)

View File

@@ -23,17 +23,16 @@ path: /home/pi/printer_data/gcodes
[pause_resume]
[display_status]
[delayed_gcode DISABLEFILAMENTSENSOR]
initial_duration: 1
gcode:
SET_FILAMENT_SENSOR SENSOR=filament_sensor ENABLE=0
# NOTE If you have a filament sensor, uncomment the following 4 lines
# [delayed_gcode DISABLEFILAMENTSENSOR]
# initial_duration: 1
# 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. 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_beeping_enabled: 0 # 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_kamp_enable: 0 # NOTE Enable(1) or disable(0) KAMP (adaptive mesh)
variable_pre_purge_prime_length: 1.40
gcode:
@@ -77,20 +76,12 @@ gcode:
[gcode_macro M190]
rename_existing: M99190
gcode:
# Global variables/settings
{% set bedtempNotExact = printer["gcode_macro _globals"].bed_temp_not_exact|default(1)|int %}
# Parameters
#Parameters
{% set s = params.S|float %}
M140 {% for p in params %}{'%s%s' % (p, params[p])}{% endfor %} ; Set bed temp
{% if s != 0 %}
{% 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 %}
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={s} MAXIMUM={s+1} ; Wait for bed temp (within 1 degree)
{% endif %}
[gcode_macro PURGE_LINE]
@@ -107,7 +98,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
@@ -142,7 +133,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 %}
@@ -205,8 +196,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 %}
@@ -336,4 +327,4 @@ gcode:
G4 P{dur}
SET_PIN PIN=beeper VALUE=0
G4 P{dur}
{% endfor %}
{% endfor %}

View File

@@ -1,48 +0,0 @@
echo:; Linear Units:
echo: G21 ; (mm)
echo:; Temperature Units:
echo: M149 C ; Units in Celsius
echo:; Filament settings (Disabled):
echo: M200 S0 D1.75
echo:; Steps per unit:
echo: M92 X80.00 Y80.00 Z800.00 E691.50
echo:; Max feedrates (units/s):
echo: M203 X500.00 Y500.00 Z10.00 E30.00
echo:; Max Acceleration (units/s2):
echo: M201 X500.00 Y500.00 Z100.00 E5000.00
echo:; Acceleration (units/s2) (P<print-accel> R<retract-accel> T<travel-accel>):
echo: M204 P500.00 R500.00 T1000.00
echo:; Advanced (B<min_segment_time_us> S<min_feedrate> T<min_travel_feedrate> X<max_x_jerk> Y<max_y_jerk> Z<max_z_jerk> E<max_e_jerk>):
echo: M205 B20000.00 S0.00 T0.00 X8.00 Y8.00 Z0.40 E5.00
echo:; Home offset:
echo: M206 X0.00 Y0.00 Z0.00
echo:; Auto Bed Leveling:
echo: M420 S0 Z10.00 ; Leveling OFF
echo:; Material heatup parameters:
echo: M145 S0 H185.00 B60.00 F255
echo: M145 S1 H240.00 B80.00 F255
echo:; Hotend PID:
echo: M301 P15.95 I1.30 D48.96
echo:; Bed PID:
echo:echo: M304 P110.38 I6.12 D497.30
echo:; User thermistors:
echo: M305 P0 R4700.0 T94162.0 B4160.0 C0.000000000 ; HOTEND 0
echo:; Power-loss recovery:
echo: M413 S1 ; ON
echo:; Z-Probe Offset:
echo: M851 X25.00 Y-25.00 Z0.00 ; (mm)
echo:; Stepper driver current:
echo: M906 X860 Y900 Z800
echo: M906 T0 E550
echo:; Hybrid Threshold:
echo: M913 X183 Y183 Z41
echo: M913 T0 E60
echo:; StallGuard threshold:
echo: M914 X68 Y70
echo:; Driver stepping mode:
echo: M569 S1 X Y Z
echo: M569 S1 T0 E
echo:; Linear Advance:
echo: M900 K0.04
echo:; Filament load/unload:
echo: M603 L0.00 U50.00 ; (mm)

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 13 KiB

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,15 +0,0 @@
## 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.

View File

@@ -1,12 +0,0 @@
{
"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"
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 876 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 901 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 160 KiB

View File

@@ -16,7 +16,7 @@ If you do a `git diff origin/master --name-only` and it shows you that a `.cfg`
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.
## How to Update
## Hot to Update
There are three methods to accomplish this:
@@ -28,9 +28,9 @@ There are three methods to accomplish this:
⚠️ 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.
🗒️ 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.
🗒️ 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`

View File

@@ -1,257 +0,0 @@
# 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
#
# See https://www.klipper3d.org/Config_Reference.html for configuration reference.
[include ./osskc.cfg]
[mcu]
# NOTE Obtain definition by "ls -l /dev/serial/by-path/" or "ls -l /dev/serial/by-id/"
serial: /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.2:1.0-port0
restart_method: command
[printer]
kinematics: cartesian
max_velocity: 200
max_accel: 3000
max_z_velocity: 15
max_z_accel: 45
square_corner_velocity: 8.0
#####################################################################
# X/Y/Z Stepper Settings
#####################################################################
[stepper_x]
step_pin: PB13
dir_pin: PB12
enable_pin: !PB14
microsteps: 64
rotation_distance: 40
endstop_pin: tmc2209_stepper_x:virtual_endstop
position_endstop: 0
position_max: 223 # NOTE You can adjust this if you have more room
homing_speed: 40
homing_retract_dist: 0
[tmc2209 stepper_x]
uart_pin: PC11
tx_pin: PC10
run_current: 0.600
stealthchop_threshold: 0
interpolate: False
sense_resistor: 0.150
uart_address: 0
driver_SGTHRS: 81
diag_pin: PC0
[stepper_y]
step_pin: PB10
dir_pin: !PB2
enable_pin: !PB11
microsteps: 64
rotation_distance: 40
endstop_pin: tmc2209_stepper_y:virtual_endstop
position_endstop: 0
position_max: 223 # NOTE You can adjust this if you have more room
homing_speed: 40
homing_retract_dist: 0
[tmc2209 stepper_y]
uart_pin: PC11
tx_pin: PC10
run_current: 0.600
stealthchop_threshold: 0
interpolate: False
sense_resistor: 0.150
uart_address: 2
driver_SGTHRS: 81
diag_pin: PC1
[stepper_z]
step_pin: PB0
dir_pin: PC5
enable_pin: !PB1
microsteps: 64
rotation_distance: 4
endstop_pin: probe:z_virtual_endstop
position_min: -4
position_max: 258 # NOTE You can adjust this if you have more room
homing_speed: 5
[tmc2209 stepper_z]
uart_pin: PC11
tx_pin: PC10
run_current: 0.600
stealthchop_threshold: 0
interpolate: False
sense_resistor: 0.150
uart_address: 1
# diag_pin: PC2 # Should not be needed
#####################################################################
# Extruder
#####################################################################
[extruder]
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: PC8
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PA0
control: pid
pid_kd: 86.991
pid_kp: 21.479
pid_ki: 1.326
min_temp: 0
max_temp: 300
max_extrude_only_distance: 150.0
max_extrude_cross_section: 5 # NOTE Needed for KAMP purge
[tmc2209 extruder]
uart_pin: PC11
tx_pin: PC10
run_current: 0.550
stealthchop_threshold: 0
interpolate: False
sense_resistor: 0.150
uart_address: 3
#####################################################################
# Bed Heater
#####################################################################
[heater_bed]
heater_pin: PC9
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC4
control: pid
pid_kp: 64.440
pid_ki: 0.773
pid_kd: 1343.571
min_temp: 0
max_temp: 110
#####################################################################
# Probe Related
#####################################################################
[probe]
pin: PC14
x_offset: 27
y_offset: -20
z_offset: 0
samples: 3
samples_result: median
samples_tolerance: 0.01
samples_tolerance_retries: 5
[safe_z_home]
home_xy_position: 84.50, 135 # NOTE The probe is at the center of the bed.
speed: 100.0
z_hop: 10
z_hop_speed: 15
[bed_mesh]
speed: 175
mesh_min: 27, 6 # probe as close to origin as possible while remaining fully on the bed
mesh_max: 222, 203 # (x.position_max - 1), (y.position_max - abs(y_offset)) ; probe as far as possible from the origin while remaining fully on the bed
probe_count: 5,5
algorithm: bicubic
fade_start: 1
fade_end: 10
fade_target: 0
[axis_twist_compensation]
calibrate_start_x: 27 # probe x coor at furthest left ; abs(x_offset)
calibrate_end_x: 195 # probe x coor at furthest right ; (x.position_max - abs(x_offset) - 1)
calibrate_y: 115
#####################################################################
# Fans
#####################################################################
# FAN1
[fan]
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
#####################################################################
[display]
lcd_type: st7920
cs_pin: PB8
sclk_pin: PB9
sid_pin: PD6
encoder_pins: ^PA10, ^PA9
click_pin: ^!PA15
[bed_screws]
screw1_name: front left
screw1: 26.5, 31
screw2_name: front right
screw2: 196.75, 31
screw3_name: back right
screw3: 196.75, 201
screw4_name: back left
screw4: 26.5, 201
[screws_tilt_adjust]
screw1_name: center
screw1: 84.50, 135
screw2_name: front left
screw2: 0, 51
screw3_name: front right
screw3: 169.75, 51
screw4_name: back right
screw4: 169.75, 221
screw5_name: back left
screw5: 0, 221
horizontal_move_z: 10
screw_thread: CCW-M4
[output_pin beeper]
pin: PB5
value: 0
shutdown_value: 0
pwm: True
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: PC15 # NOTE Add a ! to the pin to reverse if you're getting the opposite behaviour; !PC15
pause_on_runout: True
insert_gcode:
{ action_respond_info("Insert Detected") }
runout_gcode:
{ 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>