Compare commits
116 Commits
sv06-plus
...
3ec59f3e05
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3ec59f3e05 | ||
|
|
be9b47ece2 | ||
|
|
2fb3db4323 | ||
|
|
f6b7c3aad9 | ||
|
|
9e1cf53dc6 | ||
|
|
9ae483ebb4 | ||
|
|
5577fb5269 | ||
|
|
46bb425e2f | ||
|
|
038eae5798 | ||
|
|
ac6cf14302 | ||
|
|
d76f74847b | ||
|
|
c2de4a1c57 | ||
|
|
5d674e0422 | ||
|
|
f89003ae56 | ||
|
|
dbd777309a | ||
|
|
b664cca478 | ||
|
|
e62d75cb4d | ||
|
|
1512fc6606 | ||
|
|
fa1cc28fa1 | ||
|
|
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
.vscode/settings.json
vendored
@@ -1,5 +1,7 @@
|
||||
{
|
||||
"editor.tabSize": 4,
|
||||
// "editor.formatOnSave": false,
|
||||
// "editor.defaultFormatter": "mervin.markdown-formatter",
|
||||
"editor.insertSpaces": true,
|
||||
"editor.detectIndentation": false,
|
||||
"git.mergeEditor": false,
|
||||
@@ -18,6 +20,7 @@
|
||||
"Klipper",
|
||||
"Klipperized",
|
||||
"lrwxrwxrwx",
|
||||
"menuconfig",
|
||||
"microsteps",
|
||||
"moonraker",
|
||||
"normalsize",
|
||||
|
||||
65
README.md
@@ -7,11 +7,11 @@ support my open source work ❤️
|
||||
# One-Stop-Shop Klipper Configuration
|
||||
|
||||
| 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) |
|
||||
| ${\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) \*\* |
|
||||
| ${\normalsize{\textcolor{darkturquoise}{\text{Sovol SV06 Plus}}}}$ | ⚡ ${\scriptsize{\textcolor{darkturquoise}{\text{YOU ARE HERE}}}}$ ⚡ |
|
||||
| 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) |
|
||||
|
||||
${\small{\textit{** Maintained by ElPainis}}}$
|
||||
@@ -19,7 +19,7 @@ ${\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 [blanchas3d](https://github.com/blanchas3d) in testing out this branch and reporting issues.
|
||||
🙏🏻🙌🏻 Big thanks to [transistor1](https://github.com/transistor1) for getting the `printer.cfg` up an running to begin with.
|
||||
|
||||
## Outline
|
||||
|
||||
@@ -27,6 +27,8 @@ ${\small{\textit{** Maintained by ElPainis}}}$
|
||||
- [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)
|
||||
@@ -98,9 +100,6 @@ In many ways, this entire repository can be considered _my opinion_ on the `3D p
|
||||
- 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.
|
||||
|
||||
> [!IMPORTANT]
|
||||
> On the SV06 Plus, your screen will not work if you install Klipper. You can get it _mostly_ working again via the instructions found [here](https://github.com/fryc88/klipper-sv06plus-screen) (note that I do not maintain that repo).
|
||||
|
||||
> [!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.
|
||||
|
||||
@@ -112,6 +111,19 @@ In many ways, this entire repository can be considered _my opinion_ on the `3D p
|
||||
|
||||
[🔼 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)
|
||||
|
||||
## Klipper Installation
|
||||
|
||||
### Flash Firmware
|
||||
@@ -120,10 +132,9 @@ 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.
|
||||
- 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.
|
||||
@@ -138,7 +149,7 @@ 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).
|
||||
@@ -160,13 +171,13 @@ Please note:
|
||||
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 sv06-plus --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/sv06-plus.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-sv06-plus`. 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)
|
||||
@@ -218,9 +229,9 @@ If the Klipper flash that you did earlier was successful, and you've done everyt
|
||||
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 X300 F3000`
|
||||
4. `G1 Y300 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.~~
|
||||
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`
|
||||
@@ -345,8 +356,8 @@ Edit the relevant file according to your needs.
|
||||
|
||||
| Variable | Disable | Enable | Notes |
|
||||
| ---------------------------------- | ------------- | -------------- | ---------------------------------------------- |
|
||||
| `variable_beeping_enabled` | `0` (default) | `1` |
|
||||
| `variable_filament_sensor_enabled` | `0` | `1` (default) |
|
||||
| `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 |
|
||||
@@ -355,7 +366,10 @@ Edit the relevant file according to your needs.
|
||||
|
||||
| Property | Marlin | OSS Klipper Config |
|
||||
| ------------------------- | ------ | ------------------ |
|
||||
| `microsteps` | 16 | 128 |
|
||||
| `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?
|
||||
|
||||
@@ -367,8 +381,6 @@ Please see this [discussion](https://github.com/bassamanator/Sovol-SV06-firmware
|
||||
|
||||
### When does beeping occur?
|
||||
|
||||
💡 Beeping will likely not work on the SV06 Plus. I recommend not turning it on.
|
||||
|
||||
The printer will beep upon:
|
||||
|
||||
- Filament runout.
|
||||
@@ -448,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)
|
||||
|
||||
@@ -471,14 +483,11 @@ Please see this [discussion](https://github.com/bassamanator/Sovol-SV06-firmware
|
||||
|
||||
## Sources
|
||||
|
||||
- [Klipper Adaptive Meshing & Purging](https://github.com/kyleisah/Klipper-Adaptive-Meshing-Purging)
|
||||
- [PS print settings based on Ellis' SS print settings](https://github.com/mjonuschat/PrusaSlicer-Profiles)
|
||||
- [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)
|
||||
- [SV06 Plus Buildplate and Texture](https://www.printables.com/model/447787-sovol-sv06-plus-build-plate)
|
||||
- [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)
|
||||
|
||||
@@ -99,12 +99,12 @@ gcode:
|
||||
gcode:
|
||||
MECHANICAL_GANTRY_CALIBRATION
|
||||
|
||||
#[menu __main __setup __calib __mech_gantry_calibrate]
|
||||
#type: command
|
||||
#enable: {not printer.idle_timeout.state == "Printing"}
|
||||
#name: G34 Gantry Level
|
||||
#gcode:
|
||||
# G34
|
||||
[menu __main __setup __calib __mech_gantry_calibrate]
|
||||
type: command
|
||||
enable: {not printer.idle_timeout.state == "Printing"}
|
||||
name: G34 Gantry Level
|
||||
gcode:
|
||||
G34
|
||||
|
||||
[force_move]
|
||||
enable_force_move: true ; enable FORCE_MOVE and SET_KINEMATIC_POSITION
|
||||
@@ -30,8 +30,8 @@ gcode:
|
||||
|
||||
[gcode_macro _globals]
|
||||
# NOTE 0 = false; 1 = true
|
||||
variable_filament_sensor_enabled: 1 # NOTE Enable(1) or disable(0) the filament sensor, if one is connected
|
||||
variable_beeping_enabled: 0 # NOTE Enable(1) or disable(0) beeping everywhere except during gantry calibration
|
||||
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_kamp_enable: 0 # NOTE Enable(1) or disable(0) KAMP (adaptive mesh)
|
||||
|
||||
48
misc/M503-output.yml
Normal file
@@ -0,0 +1,48 @@
|
||||
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)
|
||||
@@ -1,77 +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 E50.00
|
||||
echo:; Max Acceleration (units/s2):
|
||||
echo: M201 X2000.00 Y2000.00 Z100.00 E5000.00
|
||||
echo:; Acceleration (units/s2) (P<print-accel> R<retract-accel> T<travel-accel>):
|
||||
echo: M204 P1000.00 R3000.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 X5.00 Y5.00 Z0.40 E10.00
|
||||
echo:; Home offset:
|
||||
echo: M206 X0.00 Y0.00 Z0.00
|
||||
echo:; Auto Bed Leveling:
|
||||
echo: M420 S1 Z20.00 ; Leveling ON
|
||||
echo: G29 W I0 J0 Z-0.01490
|
||||
echo: G29 W I1 J0 Z-0.06615
|
||||
echo: G29 W I2 J0 Z-0.14615
|
||||
echo: G29 W I3 J0 Z-0.44865
|
||||
echo: G29 W I4 J0 Z-0.91865
|
||||
echo: G29 W I0 J1 Z0.21010
|
||||
echo: G29 W I1 J1 Z0.12885
|
||||
echo: G29 W I2 J1 Z0.06260
|
||||
echo: G29 W I3 J1 Z-0.20240
|
||||
echo: G29 W I4 J1 Z-0.60365
|
||||
echo: G29 W I0 J2 Z0.26885
|
||||
echo: G29 W I1 J2 Z0.19760
|
||||
echo: G29 W I2 J2 Z0.15135
|
||||
echo: G29 W I3 J2 Z-0.07990
|
||||
echo: G29 W I4 J2 Z-0.42490
|
||||
echo: G29 W I0 J3 Z0.17760
|
||||
echo: G29 W I1 J3 Z0.09260
|
||||
echo: G29 W I2 J3 Z0.05760
|
||||
echo: G29 W I3 J3 Z-0.10740
|
||||
echo: G29 W I4 J3 Z-0.41740
|
||||
echo: G29 W I0 J4 Z-0.02865
|
||||
echo: G29 W I1 J4 Z-0.08740
|
||||
echo: G29 W I2 J4 Z-0.09615
|
||||
echo: G29 W I3 J4 Z-0.24615
|
||||
echo: G29 W I4 J4 Z-0.53740
|
||||
echo:; Material heatup parameters:
|
||||
echo: M145 S0 H195.00 B60.00 F0
|
||||
echo: M145 S1 H240.00 B80.00 F0
|
||||
echo:; Hotend PID:
|
||||
echo: M301 P15.66 I1.49 D41.96
|
||||
echo:; Bed PID:
|
||||
echo:echo: M304 P186.38 I36.12 D637.30
|
||||
echo:; User thermistors:
|
||||
echo: M305 P0 R4700.0 T94162.0 B4160.0 C0.000000000 ; HOTEND 0
|
||||
echo:; LCD Brightness:
|
||||
echo: M256 B250
|
||||
echo:; Power-loss recovery:
|
||||
echo: M413 S1 ; ON
|
||||
echo:; Z-Probe Offset:
|
||||
echo: M851 X25.00 Y-25.00 Z-1.81 ; (mm)
|
||||
echo:; Stepper driver current:
|
||||
echo: M906 X820 Y880 Z800
|
||||
echo: M906 T0 E550
|
||||
echo:; Hybrid Threshold:
|
||||
echo: M913 X253 Y253 Z61
|
||||
echo: M913 T0 E81
|
||||
echo:; StallGuard threshold:
|
||||
echo: M914 X86 Y110
|
||||
echo:; Driver stepping mode:
|
||||
echo: M569 S1 X Y Z
|
||||
echo: M569 S1 T0 E
|
||||
echo:; Linear Advance:
|
||||
echo: M900 K0.03
|
||||
echo:; Filament load/unload:
|
||||
echo: M603 L0.00 U50.00 ; (mm)
|
||||
echo:; Filament runout sensor:
|
||||
echo: M412 S1 ; Sensor ON
|
||||
BIN
misc/SV06-buildPlate.stl
Normal file
1
misc/SV06-texture.svg
Normal file
|
After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 26 KiB |
@@ -23,6 +23,8 @@ 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`.
|
||||
@@ -35,13 +37,9 @@ 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`
|
||||
- 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`
|
||||
4. Set things up to look as follows:
|
||||

|
||||
5. `make clean`
|
||||
- Clears `~/klipper/out/`
|
||||
7. `make`
|
||||
6. `make`
|
||||
- Compiles `klipper.bin` and puts it in `~/klipper/out/`
|
||||
|
||||
|
Before Width: | Height: | Size: 54 KiB |
BIN
misc/images/make-menuconfig.png
Normal file
|
After Width: | Height: | Size: 72 KiB |
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 |
BIN
misc/sv06-buildPlate.png
Normal file
|
After Width: | Height: | Size: 160 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.
|
||||
202
printer.cfg
@@ -1,4 +1,4 @@
|
||||
# This file contains pin mappings for the stock Sovol SV06 Plus.
|
||||
# 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
|
||||
#
|
||||
@@ -7,7 +7,7 @@
|
||||
[include ./osskc.cfg]
|
||||
|
||||
[mcu]
|
||||
# NOTE Obtain definition by "ls /dev/serial/by-id/*" or "ls /dev/serial/by-path/*"
|
||||
# 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
|
||||
|
||||
@@ -24,99 +24,103 @@ 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
|
||||
position_max: 300 # NOTE You can adjust this if you have more room
|
||||
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: PC1
|
||||
run_current: 0.820
|
||||
uart_pin: PC11
|
||||
tx_pin: PC10
|
||||
run_current: 0.600
|
||||
stealthchop_threshold: 0
|
||||
interpolate: False
|
||||
sense_resistor: 0.150
|
||||
uart_address: 3
|
||||
driver_SGTHRS: 86 # NOTE Bump sensitivity; increase to make more sensitive
|
||||
diag_pin: PA5
|
||||
sense_resistor: 0.110
|
||||
uart_address: 0
|
||||
driver_SGTHRS: 81
|
||||
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
|
||||
position_max: 300 # NOTE You can adjust this if you have more room
|
||||
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: PC0
|
||||
run_current: 0.880
|
||||
uart_pin: PC11
|
||||
tx_pin: PC10
|
||||
run_current: 0.600
|
||||
stealthchop_threshold: 0
|
||||
interpolate: False
|
||||
sense_resistor: 0.150
|
||||
uart_address: 3
|
||||
driver_SGTHRS: 110 # NOTE Bump sensitivity; increase to make more sensitive
|
||||
diag_pin: PA6
|
||||
sense_resistor: 0.110
|
||||
uart_address: 2
|
||||
driver_SGTHRS: 81
|
||||
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
|
||||
position_max: 340 # NOTE You can adjust this if you have more room
|
||||
position_max: 258 # NOTE You can adjust this if you have more room
|
||||
homing_speed: 5
|
||||
|
||||
[tmc2209 stepper_z]
|
||||
uart_pin: PA15
|
||||
run_current: 0.800
|
||||
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: 41.96
|
||||
pid_kp: 15.66
|
||||
pid_ki: 1.49
|
||||
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: 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,13 +128,13 @@ uart_address: 3
|
||||
#####################################################################
|
||||
|
||||
[heater_bed]
|
||||
heater_pin: PA2
|
||||
heater_pin: PC9
|
||||
sensor_type: EPCOS 100K B57560G104F
|
||||
sensor_pin: PC4
|
||||
control: pid
|
||||
pid_kp: 186.38
|
||||
pid_ki: 36.12
|
||||
pid_kd: 637.30
|
||||
pid_kp: 64.440
|
||||
pid_ki: 0.773
|
||||
pid_kd: 1343.571
|
||||
min_temp: 0
|
||||
max_temp: 110
|
||||
|
||||
@@ -139,7 +143,7 @@ max_temp: 110
|
||||
#####################################################################
|
||||
|
||||
[probe]
|
||||
pin: PB1
|
||||
pin: PC14
|
||||
x_offset: 27
|
||||
y_offset: -20
|
||||
z_offset: 0
|
||||
@@ -149,7 +153,7 @@ samples_tolerance: 0.01
|
||||
samples_tolerance_retries: 5
|
||||
|
||||
[safe_z_home]
|
||||
home_xy_position: 123, 170
|
||||
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
|
||||
@@ -157,8 +161,8 @@ 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: 299, 280 # (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: 7, 7
|
||||
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
|
||||
@@ -166,62 +170,88 @@ fade_target: 0
|
||||
|
||||
[axis_twist_compensation]
|
||||
calibrate_start_x: 27 # probe x coor at furthest left ; abs(x_offset)
|
||||
calibrate_end_x: 272 # probe x coor at furthest right ; (x.position_max - abs(x_offset) - 1)
|
||||
calibrate_y: 154
|
||||
calibrate_end_x: 195 # probe x coor at furthest right ; (x.position_max - abs(x_offset) - 1)
|
||||
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
|
||||
#####################################################################
|
||||
|
||||
# NOTE The screen is not Klipper friendly
|
||||
# [display]
|
||||
# lcd_type: st7920
|
||||
# cs_pin: PB12
|
||||
# sclk_pin: PB13
|
||||
# sid_pin: PB15
|
||||
# encoder_pins: ^PB14, ^PB10
|
||||
# click_pin: ^!PB2
|
||||
[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 front left base
|
||||
screw1: 84, 136
|
||||
screw1_name: center
|
||||
screw1: 84.50, 135
|
||||
screw2_name: front left
|
||||
screw2: 5, 55
|
||||
screw2: 0, 51
|
||||
screw3_name: front right
|
||||
screw3: 244, 55
|
||||
screw4_name: center front right
|
||||
screw4: 164, 136
|
||||
screw5_name: center back left
|
||||
screw5: 84, 216
|
||||
screw6_name: center back right
|
||||
screw6: 164, 216
|
||||
screw7_name: back left
|
||||
screw7: 5, 295
|
||||
screw8_name: back right
|
||||
screw8: 244, 295
|
||||
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
|
||||
|
||||
# NOTE The speaker will not work, since the screen doesn't
|
||||
# [output_pin beeper]
|
||||
# pin: PC6
|
||||
# value: 0
|
||||
# shutdown_value: 0
|
||||
# pwm: True
|
||||
# cycle_time: 0.0005 ; Default beeper tone in kHz. 1 / 0.0005 = 2000Hz (2kHz)
|
||||
[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: PA4
|
||||
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>
|
||||
|
||||