diff --git a/creality-ender3/Klipper/img/ender3-adxl345-dfu-mode.png b/creality-ender3/Klipper/img/ender3-adxl345-dfu-mode.png new file mode 100644 index 0000000..4915c1e Binary files /dev/null and b/creality-ender3/Klipper/img/ender3-adxl345-dfu-mode.png differ diff --git a/creality-ender3/Klipper/img/ender3-find-mcu-id.png b/creality-ender3/Klipper/img/ender3-find-mcu-id.png new file mode 100644 index 0000000..63efb6b Binary files /dev/null and b/creality-ender3/Klipper/img/ender3-find-mcu-id.png differ diff --git a/creality-ender3/Klipper/img/ender3-klipper-mcu-idvendor-idproduct.png b/creality-ender3/Klipper/img/ender3-klipper-mcu-idvendor-idproduct.png new file mode 100644 index 0000000..2c9bd77 Binary files /dev/null and b/creality-ender3/Klipper/img/ender3-klipper-mcu-idvendor-idproduct.png differ diff --git a/creality-ender3/Klipper/img/ender3-klipper-service-started.png b/creality-ender3/Klipper/img/ender3-klipper-service-started.png new file mode 100644 index 0000000..b2b24b9 Binary files /dev/null and b/creality-ender3/Klipper/img/ender3-klipper-service-started.png differ diff --git a/creality-ender3/Klipper/img/klipper-adxl345-fw-config.png b/creality-ender3/Klipper/img/klipper-adxl345-fw-config.png new file mode 100644 index 0000000..e34bc75 Binary files /dev/null and b/creality-ender3/Klipper/img/klipper-adxl345-fw-config.png differ diff --git a/creality-ender3/Klipper/img/klipper-adxl345-printer-config.png b/creality-ender3/Klipper/img/klipper-adxl345-printer-config.png new file mode 100644 index 0000000..0026695 Binary files /dev/null and b/creality-ender3/Klipper/img/klipper-adxl345-printer-config.png differ diff --git a/creality-ender3/Klipper/img/klipper-skr-mini-e3-v2-fw-config.png b/creality-ender3/Klipper/img/klipper-skr-mini-e3-v2-fw-config.png new file mode 100644 index 0000000..1c293e4 Binary files /dev/null and b/creality-ender3/Klipper/img/klipper-skr-mini-e3-v2-fw-config.png differ diff --git a/creality-ender3/README.md b/creality-ender3/README.md index 68a062b..53d8f8a 100644 --- a/creality-ender3/README.md +++ b/creality-ender3/README.md @@ -7,10 +7,11 @@ 5. [Marlin custom firmware](#marlin-custom-firmware) 6. [Printer calibration](#printer-calibration) 7. [3D printed custom parts & mods](#3d-printed-custom-parts--mods) +8. [Klipper custom firmware](#klipper-custom-firmware) # Octoprint backup archive -[2025-01-01] [Ender3-backup-20250101.zip](octoprint-cfg-bkp/Ender3-backup-20250101.zip) +[2025-01-01] [Ender3-backup-20250211-234353.zip](octoprint-cfg-bkp/Ender3-backup-20250211-234353.zip) # Slicers @@ -232,7 +233,164 @@ After firware update, proceed with the different calibrations in the above order | [BLTouch](https://www.aliexpress.com/item/32777786433.html) for Automatic Bed Leveling (ABL) | n/a | ![show off](images/mods/bltouch.jpg) | | _Raspberry Pi 4 / Octoprint case_ ([tutorial to enable power switch/LED](https://web.archive.org/web/20250101204129/https://embeddedcomputing.com/technology/open-source/development-kits/raspberry-pi-power-up-and-shutdown-with-a-physical-button)) | [Printable](https://www.printables.com/model/1008828-creality-ender-3-station-lcd-raspberry-pi-4) | ![show off](images/mods/octoprint-case.jpg) | | _Ender 3 PSU Support Bracket_ | [Thingiverse](https://www.thingiverse.com/thing:3444134) | ![show off](images/mods/psu-support-bracket.jpg)| +| Filament runout sensor | n/a | ![show off](images/mods/filament-runout.jpg) | +| Filament Guide | [Thingiverse](https://www.thingiverse.com/thing:6930315) | ![show off](images/mods/filament-guide.jpg) | +| Gantry led holder | n/a | ![show off](images/mods/gantry-led-holder.jpg) | | Aukey LM1 WebCam holder | [Thingiverse](https://www.thingiverse.com/thing:4683831) | ![show off](images/mods/aukey-LM1-webcam-holder.jpg) | | PSU exhaust fan silencer | [Printable](https://www.printables.com/model/84197-60mm-exhaust-fan-silencer-flowmaster-psu-ender3nep/comments#preview.file.GpvjC) | ![show off](images/mods/psu-exhaust-fan-silencer.jpg) | | Tool holder | [Local](local-stl/Tools_Holder_v3.stl) | ![show off](images/mods/tool-holder.jpg) | | SATSANA Ender 3 - BLTouch (Z-Offset: X-51 ; Y-12) | [Printable](https://www.printables.com/model/58601-satsana-ender3-bltouch-fixed) | ![show off](images/mods/satsana-bltouch-for-hotend.webp) | + +# BBT SKR mini E3 v2 pinout + +![BBT SKR mini E3 v2 pinout](images/BTT-SKR-mini-E3-v20-pinout.png) + +# Klipper custom firmware + +## Printer firmware build and update +1. Access klipper host using ssh +``` +ssh ender3k +``` + +2. Stop Klipper service +``` +sudo service klipper stop +``` + +3. Browse to Klipper directory: +``` +cd ~/klipper +``` + +4. Pull the last version of the Klipper firmware from Github: +``` +git pull +``` + +5. Clean up working directory before building firmware +``` +make clean +``` + +6. Check the firmware build configuration +``` +make menuconfig +``` +![Klipper firmaware build configuration](klipper/img/klipper-skr-mini-e3-v2-fw-config.png) + +7. Build the firmaware: +``` +make +``` + +8. Transfer the built firmware on an micro SD card +The built firmware `klipper.bin` is in the `~/klipper/out/` directory +Use a SCP client to retreive it, and rename it **`firmware.bin`**. + +9. Flash the new firmware to the printer's SKR mini E3 v2 board + 1. Turn off the printer power. + 2. Introduce the SD card into the SKR board reader + 3. Turn back on the printer power. + +11. Restart Klipper service +``` +sudo service klipper start +``` + +12. Check Klipper service is properly restarted +``` +sudo service klipper status +``` +![Klipper service status check](klipper/img/ender3-klipper-service-started.png) + + +## ADXL345 accelorometer + +Model used: [Aliexpress](https://www.aliexpress.com/item/1005006515088013.html) \ +![Klipper ADXL345 config](klipper/img/klipper-adxl345-printer-config.png) + +### Software prereqiusites +Note that resonance measurements and shaper auto-calibration require additional software dependencies not installed by default. First, run on your Raspberry Pi the following commands: +``` +sudo apt update +sudo apt install python3-numpy python3-matplotlib libatlas-base-dev libopenblas-base +``` + +Details on Klipper [documentation](https://www.klipper3d.org/Measuring_Resonances.html#software-installation) + +### Firmware configuration and build +1. Configure the firmaware: +``` +cd ~/klipper +make clean +make menuconfig +``` +![ADXL345 Firmare config](klipper/img/klipper-adxl345-fw-config.png) + +2. Build the firmware: +``` +make +``` + +### Firmware flash +1. Set the ADXL345 board in DFU mode by plugin it to the USB cable while maintaining the RST switch down. + +2. Check that the board is actually in DFU mode +``` +lsusb +``` +![ADXL345 board in DFU mode](klipper/img/ender3-adxl345-dfu-mode.png) + +4. Note the device `ID` (in our example: `2e8a:0003`) + +5. Flash the firmware +``` +make flash FLASH_DEVICE=2e8a:0003 +``` + +Once flashed, the board will automatically reboot and goes back in operation mode. + +# Auto-reconnect printer after power-on +[Source](https://arnav.jain.se/2020/auto-restart-klipper-when-ender3-connected-to-pi/) by Arnav Jain. \ +[Wallabag backup](https://wallabag.igox.org/view/211) +--- + +Start off by accessing klipper host using ssh. +``` +ssh ender3k +```` +Then create the `98-klipper.rules` file in the `/etc/udev/rules.d/` folder: +``` +sudo touch /etc/udev/rules.d/98-klipper.rules +``` + +Retreive `idVendor` and `idProduct` for the Klipper MCU: +1. Retrieve Klipper MCU ID +``` +lsusb +``` +![Find Klipper MCU ID](klipper/img/ender3-find-mcu-id.png) + +2. Retrieve `idVendor` and `idProduct` using the Klipper MCU ID +``` +lsusb -v -d 1d50:614e | grep id +``` +![idVendor and idProduct](klipper/img/ender3-klipper-mcu-idvendor-idproduct.png) + +Then add the following text into the `98-klipper.rules` file just created: + +1. Edit the `98-klipper.rules` file +``` +sudo nano /etc/udev/rules.d/98-klipper.rules +``` + +2. Add text (remove the `0x` at the begining of the IDs) +``` +## rule to restart klipper when the printer is connected via usb +SUBSYSTEM=="usb", ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="614e", ACTION=="add", RUN+="/usr/bin/sudo -u pi /bin/sh -c '/bin/echo RESTART > /home/pi/printer_data/comms/klippy.serial'" +``` + +Finally, re-load the udev rules: +``` +sudo udevadm control --reload-rules \ No newline at end of file diff --git a/creality-ender3/images/BTT-SKR-mini-E3-v20-pinout.png b/creality-ender3/images/BTT-SKR-mini-E3-v20-pinout.png new file mode 100644 index 0000000..0fb40b2 Binary files /dev/null and b/creality-ender3/images/BTT-SKR-mini-E3-v20-pinout.png differ