====== Pi4, Octopus Pro, UCan, EBB36 ====== > **Hinweis** \\ Diese Anleitung beschreibt das Einrichten der aufgeführten Komponenten (siehe [[klipper_faq:klipper_0_auf_100:pi4_octopus_pro_ucan_ebb36#equipment|Equipment]]). Die Anleitung __kann nicht 1:1 für andere Hardware Konstellationen verwendet werden__! ===== YouTube Video #115 ===== {{youtube>pGSVYdHImdQ?half}} \\ ===== Equipment ===== * Raspberry Pi 4 mit 128GB SD-Karte * BTT Pi TFT50 (DSI Anschluss) * Octopus Pro V1.1 (STM32 H723) * UCAN USB Can Adapter (Buskoppler) * EBB36 CAN V1.2 Toolhead Board ===== SD-Karte vorbereiten ===== * MainSail OS über Raspberry PI Imager installieren * https://www.raspberrypi.com/software/ * OS WÄHLEN -> Other specific-purpose OS -> 3D printing -> Mainsail OS -> Mainsail OS x.x.x - Raspberry PI (64 Bit) * SD-KARTEN WÄHLEN * Weiter -> Einstellungen bearbeiten * Hostname eintragen * Benutzer Pi + Passwort * ggf. Wifi einrichten * Wifi Land einstellen * Sprache festlegen * Dienste -> SSH aktivieren mit Passwort als Authentifizierung * Speichern * 2 x JA um die Einstellungen zu übernehmen und das Image zu schreiben ===== Netzwerk ===== * IP finden * Über Router nachsehen * Über MobaXTerm Netzwerkscan durchführen (Tools -> Network scanner) * Default mit LAN (DHCP) * WLAN Konfig * ''nmtui'' ===== Updates ===== * ''sudo apt update && sudo apt upgrade -y && sudo apt install -y git git-lfs silversearcher-ag wavemon hexedit sudoku tcpdump iptraf mc htop dcfldd nano usbutils ranger tldr ncdu can-utils multitail fd-find lsof x11vnc terminator minicom cutecom joystick jstest-gtk i2c-tools speedtest-cli iotop && mkdir -p ~/.local/share && tldr -u'' * ''sudo apt autoremove -y modem* cups* pulse* avahi* triggerhappy*'' * KIAUH * ''cd ~ && git clone https://github.com/th33xitus/kiauh.git'' * Mainsail & Co über die Webseite updaten ===== Octopus Pro ===== * https://github.com/bigtreetech/BIGTREETECH-OCTOPUS-Pro * Flashen * ''cd ~/klipper && make menuconfig'' * [*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32H723) ---> Bootloader offset (No bootloader) ---> Clock Reference (25 MHz crystal) ---> Communication interface (USB (on PA11/PA12)) ---> USB ids ---> () GPIO pins to set at micro-controller startup * Q und Y zum beenden und speichern * ''make -j4'' um Klipper zu kompilieren * DFU Modus aktivieren am Octopus Board * ''dmesg -Hw'' im Terminal aufrufen * V-BUS Jumper setzen und board per USB an den Pi anschließen * {{:klipper_faq:klipper_0_auf_100:pasted:20241101-053703.png}} \\ Jumper setzen und die Reset Taste ganz rechts drücken * Terminal Ausgabe : * [Nov 1 13:42] usb 1-1.1: new full-speed USB device number 3 using xhci_hcd [ +0.101925] usb 1-1.1: not running at top speed; connect to a high speed hub [ +0.006001] usb 1-1.1: New USB device found, idVendor=0483, idProduct=df11, bcdDevice= 2.00 [ +0.000013] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ +0.000006] usb 1-1.1: Product: DFU in FS Mode [ +0.000004] usb 1-1.1: Manufacturer: STMicroelectronics [ +0.000005] usb 1-1.1: SerialNumber: 377D37553033 * ''dfu-util -R -a 0 -s 0x08000000:mass-erase:force -D ~/klipper/out/klipper.bin'' * Konfiguration einbinden \\ ''cp ~/klipper/config/generic-bigtreetech-octopus-pro-v1.1.cfg ~/printer_data/config/printer.cfg'' * mainsail.cfg noch inkludieren * Port suchen und einbinden * ''dmesg -Hw'' und danach 1x Reset am Board drücken * den tty Port ermitteln * ''ls -lR /dev/ | grep -v '\%%->%%\s../tty' | grep -e 'tty%%[[:%%alpha%%:]]%%' -e serial'' * ''/dev/serial/by-id... '' in der Konfig unter MCU eintragen ==== Test ==== Ob das Board korrekt mit Klipper läuft, lässt sich mit folgendem Befehl schnell testen: \\ ''~/klippy-env/bin/python ~/klipper/klippy/console.py /dev/serial/by-id/usb-Klipper_stm32f446xx_390028000950315239323320-if00'' Der Pfad am Ende muss natürlich mit dem übereinstimmen was ihr im vorherigen Schritt ermittelt habt! ===== UCAN ===== * siehe auch -> https://www.drklipper.de/doku.php?id=klipper_faq:can:49_-_usb_buskoppler * Flashen mit Klipper (Oder alternativ mit candleLight) * ''cd ~/klipper && make menuconfig'' * [*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32F072) ---> Bootloader offset (No bootloader) ---> Clock Reference (8 MHz crystal) ---> Communication interface (USB to CAN bus bridge (USB on PA11/PA12)) ---> CAN bus interface (CAN bus (on PB8/PB9)) ---> USB ids ---> (1000000) CAN bus speed () GPIO pins to set at micro-controller startup * Q und Y zum beenden und speichern * ''make -j4'' um Klipper zu kompilieren * DFU Modus aktivieren am UCAN Board * ''dmesg -Hw'' im Terminal aufrufen * Pins kurzschließen ... TBD * Terminal Ausgabe : * ''dfu-util -R -a 0 -s 0x08000000:mass-erase:force -D ~/klipper/out/klipper.bin'' ===== SBC ===== * Interface einrichten \\ **Achtung** : die Bitrate von 1000000 muss auch in der Board Firmware eingestellt werden! \\ ''sudo nano /etc/network/interfaces.d/can0'' \\ folgendes eintragen, speichern und mit ''STRG + x'', dann ''Y'', dann ''Enter'' beenden \\ allow-hotplug can0 iface can0 can static bitrate 1000000 up ifconfig $IFACE txqueuelen 1024 ==== Test ==== * Testen mit ''ip a'' \\ ''can0: mtu 16 qdisc pfifo_fast state **UP** group default qlen 1024'' * Sollte das Interface auf ''DOWN'' stehen hilft meist ein \\ ''sudo systemctl restart networking.service'' \\ oder ein \\ ''sudo ip link set can0 up type can bitrate 1000000'' ===== EBB36 ===== * siehe auch -> https://www.drklipper.de/doku.php?id=klipper_faq:flash_guide:stm32g0b1:btt_ebb36_ebb42_can * **Katapult flashen** (über USB !) * Katapult laden wenn noch nicht vorhanden, sonst in den Katapult Ordner wechseln \\ ''[ ! -d %%"%%$HOME/katapult/%%"%% ] && cd ~ && git clone https://github.com/Arksine/katapult && cd katapult || cd ~/katapult'' * ''make menuconfig'' für **Version 1.2** \\ Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32G0B1) ---> Build Katapult deployment application (Do not build) ---> Clock Reference (8 MHz crystal) ---> Communication interface (CAN bus (on PB0/PB1)) ---> Application start offset (8KiB offset) ---> (1000000) CAN bus speed () GPIO pins to set on bootloader entry [*] Support bootloader entry on rapid double click of reset button [ ] Enable bootloader entry on button (or gpio) state [*] Enable Status LED (PA13) Status LED GPIO Pin * Q und Y zum beenden und speichern * ''make -j4'' um Katapult zu kompilieren * DFU Modus aktivieren am EBB36 Board * ''dmesg -Hw'' im Terminal aufrufen * Die **Boot Taste** am Board gedrückt halten und dabei das Board über USB mit dem SBC verbinden * [Nov11 07:34] usb 1-1.4: new full-speed USB device number 17 using dwc_otg [ +0.133427] usb 1-1.4: New USB device found, idVendor=0483, idProduct=df11, bcdDevice= 2.00 [ +0.000037] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ +0.000016] usb 1-1.4: Product: DFU in FS Mode [ +0.000013] usb 1-1.4: Manufacturer: STMicroelectronics [ +0.000012] usb 1-1.4: SerialNumber: 206A39785542 * ''STRG+C'' drücken, um die Meldungen zu beenden * ''dfu-util -R -a 0 -s 0x08000000:mass-erase:force -D ~/katapult/out/katapult.bin'' \\ Das Ergebnis sollte sein ''File downloaded successfully'' * ggf. USB Kabel abziehen. Board muss sich danach mit Katapult / Canboot melden bei ''dmesg -Hw'' * **UUID ermitteln** * Klipper Dienst stoppen \\ ''sudo systemctl stop klipper.service'' * ''~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0'' \\ Wenn ein Board gefunden wird, dann sollte folgende Ausgabe erscheinen: \\ biqu@BTT-PI12:~/katapult$ ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 Found canbus_uuid=539892be834d, Application: CanBoot Total 1 uuids found * Die **UUID** (canbus_uuid=**539892be834d**) notieren ! * Wird bei diesem Schritt kein Board gefunden, hilft oft ein Reset am Board (entweder über Reset Taster oder 1x Strom weg und wieder dran) * **Klipper flashen** * ''cd ~/klipper'' * ''make menuconfig'' für **Version 1.2** \\ [*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32G0B1) ---> Bootloader offset (8KiB bootloader) ---> Clock Reference (8 MHz crystal) ---> Communication interface (CAN bus (on PB0/PB1)) ---> (1000000) CAN bus speed () GPIO pins to set at micro-controller startup * beenden mit ''Q'' und ''Y'' * Klipper kompilieren \\ ''make -j4'' * Klipper flashen \\ ''~/klippy-env/bin/python3 ~/katapult/scripts/flash_can.py -i can0 -f ~/klipper/out/klipper.bin -u '' \\ In diesem Beispiel wäre das dann \\ ''~/klippy-env/bin/python3 ~/katapult/scripts/flash_can.py -i can0 -f ~/klipper/out/klipper.bin -u **539892be834d**'' * Das sollte mit einem ''Flash Success'' beendet werden! * **Konfiguration einbinden** * ''cd ~/printer_data/config'' * ''wget 'https://github.com/bigtreetech/EBB/raw/master/EBB%20CAN%20V1.1%20and%20V1.2%20(STM32G0B1)/sample-bigtreetech-ebb-canbus-v1.2.cfg' -O BTT_EBB.cfg'' * ''nano ~/printer_data/config/BTT_EBB.cfg'' \\ [mcu EBBCan] #serial: /dev/serial/by-id/usb-Klipper_Klipper_firmware_12345-if00 canbus_uuid: 539892be834d * Die Zeile mit ''serial'' auskommentieren oder löschen * Die UUID bei ''canbus_uuid'' eintragen und ggf. die ''#'' am Anfang der Zeile entfernen (UUID ermitteln siehe [[klipper_faq:flash_guide:stm32g0b1:ebb_sb2209_can#can_query|CAN Query]])! * In der ''printer.cfg'' noch die neue Konfig einbetten \\ ''[include BTT_EBB.cfg]'' ==== Test ==== Ob das Board korrekt mit Klipper läuft, lässt sich mit folgendem Befehl schnell testen: \\ ''~/klippy-env/bin/python ~/klipper/klippy/console.py -c can0 44d860c9632b'' Die UUID am Ende muss natürlich mit dem übereinstimmen, was ihr im vorherigen Schritt ermittelt habt! Klipper Dienst wieder starten \\ ''sudo systemctl start klipper.service'' ===== Display ===== * Anschluss * Klipper Screen nachinstallieren * ''cd ~ && ./kiauh/kiauh.sh'' * https://klipperscreen.readthedocs.io/en/latest/Troubleshooting/