Schrittweise Anleitung, um das BTT Octopus [Pro] Board über die USB/CAN Bridge in Betrieb zu nehmen.
dmesg -HW
einen Fehler bringt, einfach dmesg -Hw
verwenden. Die Boards gibt es generell mit verschiedenen Controllern. Beim Flashen also besonders darauf achten!
Octopus 1.0
Octopus 1.1
Octopus Pro (https://www.reddit.com/r/BIGTREETECH/comments/qyx2uq/had_trouble_finding_the_differences_between/)
Verisonen 1.1
Board Unterschiede Normal / PRO
POWER
oder auf der Rückseite mit V_BUS / 5V
gekennzeichnet.POWER
(oder V_BUS / 5V
) setzen.
Es gibt diese wüste Verkabelung über USB bei BTT. Ich halte da ehrlich gesagt nichts von. Technisch mag das funktionieren, aber verwirrender kann ein Aufbau für den Endanwender kaum sein.
Wenn ich die Wahl hätte würde ich immer eine direkte CAN Verkabelung vorziehen!
Hinweis
Hier werden nur 5V geliefert. Neue Raspberry Pi brauchen aber eher 5.1V. Es kann also mitunter zu Spannungsproblemen beim Pi kommen (Pi4, Pi5)
Eine Sicherung lohnt nicht. Das Board wird mit Marlin ausgeliefert und kann schnell komplett neu geflasht werden.
Bootloader findet man hier
POWER
oder V_BUS / 5V
entfernen.dmesg -Hw
starten und dann das Board per USB an schließen und es sollte in etwa so eine Meldung kommen : [Oct 3 08:00] usb 1-1.4: new full-speed USB device number 5 using xhci_hcd [ +0.089949] usb 1-1.4: not running at top speed; connect to a high speed hub [ +0.006004] usb 1-1.4: New USB device found, idVendor=0483, idProduct=df11, bcdDevice= 2.00 [ +0.000045] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ +0.000013] usb 1-1.4: Product: DFU in FS Mode [ +0.000009] usb 1-1.4: Manufacturer: STMicroelectronics [ +0.000008] usb 1-1.4: SerialNumber: 306D35693231
Hinweis:
Katapult wird über USB (DFU-Mode) eingerichtet!
[ ! -d "$HOME/katapult/" ] && cd ~ && git clone https://github.com/Arksine/katapult && cd katapult || cd ~/katapult
make menuconfig
Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32F446) ---> Build Katapult deployment application (Do not build) ---> Clock Reference (12 MHz crystal) ---> Communication interface (USB (on PA11/PA12)) ---> Application start offset (32KiB offset) ---> USB ids ---> () 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
Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32F429) ---> Build Katapult deployment application (Do not build) ---> Clock Reference (8 MHz crystal) ---> Communication interface (USB (on PA11/PA12)) ---> Application start offset (32KiB offset) ---> USB ids ---> () 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
Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32F407) ---> Build Katapult deployment application (Do not build) ---> Clock Reference (8 MHz crystal) ---> Communication interface (USB (on PA11/PA12)) ---> Application start offset (32KiB offset) ---> USB ids ---> () 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
Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32H723) ---> Build Katapult deployment application (Do not build) ---> Clock Reference (25 MHz crystal) ---> Communication interface (USB (on PA11/PA12)) ---> Application start offset (128KiB offset) ---> USB ids ---> () 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
make -j4
sudo dfu-util -R -a 0 -s 0x08000000:mass-erase:force -D ~/katapult/out/katapult.bin
File downloaded successfully
bei der Ausgabe im Terminaldmesg -HW
starten und den USB Stecker wieder anstecken pi@Pi4Test:~/katapult $ dmesg -HW [Oct 3 08:16] usb 1-1.4: USB disconnect, device number 8 [ +0.453418] usb 1-1.4: new full-speed USB device number 9 using xhci_hcd [ +0.099931] usb 1-1.4: New USB device found, idVendor=1d50, idProduct=6177, bcdDevice= 1.00 [ +0.000048] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ +0.000014] usb 1-1.4: Product: stm32h723xx [ +0.000011] usb 1-1.4: Manufacturer: katapult [ +0.000010] usb 1-1.4: SerialNumber: 35003B001951313234353230 [ +0.056130] cdc_acm 1-1.4:1.0: ttyACM0: USB ACM device [ +0.000162] usbcore: registered new interface driver cdc_acm [ +0.000012] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
STRG+C
drücken, um die Meldungen zu beendencd ~/klipper
make menuconfig
[*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32F446) ---> Bootloader offset (32KiB bootloader) ---> Clock Reference (12 MHz crystal) ---> Communication interface (USB to CAN bus bridge (USB on PA11/PA12)) ---> CAN bus interface (CAN bus (on PD0/PD1)) ---> USB ids ---> (1000000) CAN bus speed [*] Optimize stepper code for 'step on both edges' (NEW) () GPIO pins to set at micro-controller startup (NEW)
[*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32F429) ---> Bootloader offset (32KiB bootloader) ---> Clock Reference (8 MHz crystal) ---> Communication interface (USB to CAN bus bridge (USB on PA11/PA12)) ---> CAN bus interface (CAN bus (on PD0/PD1)) ---> USB ids ---> (1000000) CAN bus speed [*] Optimize stepper code for 'step on both edges' (NEW) () GPIO pins to set at micro-controller startup (NEW)
[*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32F407) ---> Bootloader offset (32KiB bootloader) ---> Clock Reference (8 MHz crystal) ---> Communication interface (USB to CAN bus bridge (USB on PA11/PA12)) ---> CAN bus interface (CAN bus (on PD0/PD1)) ---> USB ids ---> (1000000) CAN bus speed [*] Optimize stepper code for 'step on both edges' (NEW) () GPIO pins to set at micro-controller startup (NEW)
[*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32H743) ---> Bootloader offset (128KiB bootloader) ---> Clock Reference (25 MHz crystal) ---> Communication interface (USB to CAN bus bridge (USB on PA11/PA12)) ---> CAN bus interface (CAN bus (on PD0/PD1)) ---> USB ids ---> (1000000) CAN bus speed () GPIO pins to set at micro-controller startup (NEW)
make -j4 flash FLASH_DEVICE=/dev/ttyACM0
pi@Pi4Test:~/klipper $ make -j4 flash FLASH_DEVICE=/dev/ttyACM0 Creating symbolic link out/board Building out/autoconf.h Building hid-flash ... Preprocessing out/src/generic/armcm_link.ld Building out/compile_time_request.o Version: v0.13.0-253-g96c3ca160 Linking out/klipper.elf Creating bin file out/klipper.bin Flashing out/klipper.bin to /dev/ttyACM0 Entering bootloader on /dev/ttyACM0 Device reconnect on /sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.4/1-1.4:1.0 /usr/bin/python3 lib/canboot/flash_can.py -d /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.4:1.0 -f out/klipper.bin Attempting to connect to bootloader CanBoot Connected Protocol Version: 1.1.0 Block Size: 64 bytes Application Start: 0x8020000 MCU type: stm32h723xxv0.0.1-106-g399e50e Flashing '/home/pi/klipper/out/klipper.bin'... [##################################################] Write complete: 1 pages Verifying (block count = 679)... [##################################################] Verification Complete: SHA = 624529675027BC607A142B6E6DC44ABF81D3BD50 CAN Flash Success
lsusb
→ Geschwister Schneider CAN adapter sollte erscheinen pi@Pi4Test:~/klipper $ lsusb Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 006: ID 1d50:606f OpenMoko, Inc. Geschwister Schneider CAN adapter Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
sudo reboot
sudo nano /etc/systemd/network/25-can.network
[Match] Name=can* [CAN] BitRate=1M [Link] RequiredForOnline=no
NOTE RestartSec=0.1s füht zu Interface Problemen ab Kernel 6.12.47
sudo nano /etc/systemd/network/99-can-link.link
[Match] OriginalName=can* [Link] TransmitQueueLength=128
sudo systemctl enable --now systemd-networkd
sudo udevadm control --reload-rules && sudo udevadm trigger
sudo reboot
ip link show can0
→ Zeigt qlen 128networkctl status can0
→ Zeigt Bitrate 1Msudo ip link set can0 up type can bitrate 1000000
Hinweis
Die folgenden Schritte setzen natürlich voraus, das der CAN Bus korrekt im Vorfeld eingerichtet wurde!
Wenn das Board über CAN verbunden ist, dann kann man mit den folgenden Schritten prüfen, ob Katapult geflasht wurde:
sudo systemctl stop klipper.service
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
pi@Pi3Test:~/klipper $ ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 Found canbus_uuid=c57dc3b70ff0, Application: Klipper Total 1 uuids found
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 c57dc3b70ff0
Der Pfad am Ende muss natürlich mit dem übereinstimmen, was ihr im vorherigen Schritt ermittelt habt!
Wenn ihr ein connected
am Anfang des Textes seht, ist das Board richtig geflasht.
cd ~/printer_data/config
cp ~/klipper/config/generic-bigtreetech-octopus-v1.1.cfg printer.cfg
cp ~/klipper/config/generic-bigtreetech-octopus-pro-v1.0.cfg printer.cfg
cp ~/klipper/config/generic-bigtreetech-octopus-pro-v1.1.cfg printer.cfg
nano ~/printer_data/config/printer.cfg
[mcu] canbus_uuid: c57dc3b70ff0 #restart_method: command
serial
löschen oder auskommentierenrestart_method
löschen oder auskommentierencanbus_uuid
entsprechend mit der ermittelten UUID von oben anpassensudo systemctl start klipper.service
Hinweis:
Das Klipper Update wird über USB eingespielt! Über den CAN-Bus ist ein Update nicht möglich wenn das Board als USB/Can Bridge arbeitet.
sudo systemctl stop klipper.service
grep canbus_uuid ~/printer_data/config/* -n
pi@Pi3Test:~/klipper $ grep canbus_uuid ~/printer_data/config/* -n /home/pi/printer_data/config/BTT_EBB.cfg:10:canbus_uuid: 44d860c9632b /home/pi/printer_data/config/printer.cfg:30:canbus_uuid: c57dc3b70ff0
~/klippy-env/bin/python ~/katapult/scripts/flashtool.py -i can0 -u <BOARD UUID> -r
pi@Pi3Test:~/klipper $ ~/klippy-env/bin/python ~/katapult/scripts/flashtool.py -i can0 -u c57dc3b70ff0 -r Sending bootloader jump command... Bootloader request command sent Flash Success
dmesg |tail -n 10
pi@Pi3Test:~/klipper $ dmesg |tail -n 10 [76418.167383] IPv6: ADDRCONF(NETDEV_CHANGE): can0: link becomes ready [76867.446711] usb 1-1.4: USB disconnect, device number 37 [76867.446933] gs_usb 1-1.4:1.0 can0: Couldnt shutdown device (err=-19) [76867.787311] usb 1-1.4: new full-speed USB device number 38 using dwc_otg [76867.933716] usb 1-1.4: New USB device found, idVendor=1d50, idProduct=6177, bcdDevice= 1.00 [76867.933741] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [76867.933749] usb 1-1.4: Product: stm32f446xx [76867.933755] usb 1-1.4: Manufacturer: katapult [76867.933761] usb 1-1.4: SerialNumber: 350053000851313133353932 [76867.938929] cdc_acm 1-1.4:1.0: ttyACM0: USB ACM device
Wie immer brauchen wir die tty… Angabe. In diesem Fall ist is ttyACM0 wie man in der letzten Zeile sehen kann.
cd ~/klipper
make -j4 flash FLASH_DEVICE=/dev/ttyACM0
sudo systemctl start klipper.service
Diese Punkte sind nicht immer Bestandteil vom YouTube Video, aber nützlich
Das Board verfügt über einen SWD Port. Mit einem entsprechenden ST-Link kann das Board auch direkt geflasht werden.
Der interne Temperatur Sensor des STM32 kann mit folgendem Konfig Schnibsel ausgelesen werden:
[temperature_sensor Levi] sensor_type : temperature_mcu sensor_mcu : mcu