====== BTT SKR MINI E3 V3.0 (USB) ====== Schrittweise Anleitung, um das Bigtree Tech SKR Mini E3 **V3.0** Board über **USB** in Betrieb zu nehmen. > **Hinweise** \\ Diese Anleitung gilt **für das Board mit der Version 3.0** (Controller STM32G0B1 / STM32G0B0)! \\ Es gibt inzwischen auch ein Board mit der [[klipper_faq:flash_guide:stm32f401:btt_skr_mini_e3_v3.0.1|Version 3.0.1]], welches einen anderen Controller verwendet (Controller STM32F401)! **SKR MINI E3 V3.0** \\ {{klipper_faq:flash_guide:stm32g0b1:pasted:20220924-090211.png}} ===== YouTube Video #82 ===== {{youtube>r0-uLBtp6Wo?half}} \\ ===== Hinweise ===== * **SBC** bedeutet in der Anleitung **S**ingle **B**oard **C**omputer. Also meistens wohl ein Raspberry Pi. * Es wird davon ausgegangen das auf dem SBC Klipper und MainSail eingerichtet ist. * Ein Zugang zum SBC über SSH ist notwendig! ===== Version ermitteln ===== > **Wichtig** \\ Die Versionen 3.0 und 3.0.1 haben unterschiedliche µController verbaut und sind von der Konfig teilweise nicht kompatibel! Die Version kann man relativ einfach auf der Vorderseite nachsehen: \\ {{:klipper_faq:flash_guide:stm32g0b1:pasted:20240110-113211.png}} * (1) Der µController muss ein STM32G0B1 sein * (2) Es gibt nur einen Button (Reset) auf dem Board * (3) Der Aufdruck zeigt V3.0 ===== Stromversorgung ===== Auf dem Board gibt es einen Jumper, den man für die 5V USB Versorgung setzen kann: \\ {{:klipper_faq:flash_guide:stm32g0b1:pasted:20240110-113640.png}} ^ Jumper (SW_USB) ^ Stromversorgung Controller ^ Verwendung ^ | gesetzt | 5V Stromversorgung über USB Anschluss | Board liegt "auf dem Tisch" | | NICHT gesetzt | 5V Stromversorgung über 12/24V Stecker | Board ist im Drucker eingebaut | > **Faustregel** \\ Im Betrieb den 5V Jumper (SW_USB) immer abziehen! ===== Verkabelung ===== * Ganz normale USB Verkabelung * GND & 12 bzw. 24V extra zum Board führen * Im Betrieb den SW_USB Jumper ziehen! ===== Klipper flashen ===== > **Achtung** \\ Es gibt wohl auch SKR Mini V3.0 mit einem **STM32G0B0** Controller! Also vorher genau auf den Controller schauen. \\ {{:klipper_faq:flash_guide:stm32g0b1:pasted:20240119-173044.png}} * ''cd ~/klipper'' * ''make menuconfig'' \\ :!: **Auf den verbauten Controller auf dem Board achten!** \\ [*] 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 (USB (on PA11/PA12)) ---> USB ids ---> () GPIO pins to set at micro-controller startup * beenden mit ''Q'' und ''Y'' * Klipper kompilieren \\ ''make -j4'' * Eine SD-Karte mit FAT32 formatieren. Eine 32GB Karte hat bei mir funktioniert. Sollte eure Karte nicht funktionieren, versucht es mit einer Karte <= 4GB. * Die Datei ''~/klipper/out/klipper.bin'' vom SBC auf die SD-Karte kopieren. * Am einfachsten geht das mit MobaXTerm. * Die Datei umbenennen von ''klipper.bin'' in ''firmware.bin'' * Das Board muss ausgeschaltet sein! * SD-Karte in das SKR Board stecken und das Board wieder einschalten. Ob über die normale Stromversorgung oder USB spielt keine Rolle. * Die Status LED blinkt kurz und nach ~10 Sekunden sollte Klipper geflasht sein. * Das Board wieder stromlos machen * Ggf. den SW-USB Jumper entfernen * Die SD-Karte entnehmen und prüfen, ob die Datei umbenannt wurde in ''FIRMWARE.CUR''. Wenn dem so ist, sollte der Flashvorgang geklappt haben. * Prüfen kann man das ebenfalls im SSH Terminal mit ''dmesg -HW'' \\ pi@Pi3Test:~ $ dmesg -HW [Jan12 19:54] usb 1-1.5: new full-speed USB device number 7 using dwc_otg [ +0.134564] usb 1-1.5: New USB device found, idVendor=1d50, idProduct=614e, bcdDevice= 1.00 [ +0.000026] usb 1-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ +0.000008] usb 1-1.5: Product: stm32g0b1xx [ +0.000007] usb 1-1.5: Manufacturer: Klipper [ +0.000006] usb 1-1.5: SerialNumber: 4D0020000450415339373620 [ +0.001254] cdc_acm 1-1.5:1.0: ttyACM0: USB ACM device ===== Port ermitteln ===== * Den USB Stecker abziehen * ''dmesg -HW'' starten \\ pi@Pi3Test:~/klipper $ dmesg -HW [ +0.296899] usb 1-1.5: new full-speed USB device number 33 using dwc_otg [ +0.134540] usb 1-1.5: New USB device found, idVendor=1d50, idProduct=614e, bcdDevice= 1.00 [ +0.000038] usb 1-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ +0.000017] usb 1-1.5: Product: stm32g0b1xx [ +0.000012] usb 1-1.5: Manufacturer: Klipper [ +0.000012] usb 1-1.5: SerialNumber: 4D0020000450415339373620 [ +0.001643] cdc_acm 1-1.5:1.0: ttyACM0: USB ACM device * Wir brauchen die Information mit **tty...** also in diesem Fall **ttyACM0** * ''STRG+C'' drücken, um die Meldungen zu beenden * Den zugehörigen Link ermitteln \\ ''ls -lR /dev/ | grep -v '\%%->%%\s../tty' | grep -e 'tty%%[[:%%alpha%%:]]%%' -e serial'' * Wir brauchen die Info unter ''/dev/serial/by-id:'' : \\ ''lrwxrwxrwx 1 root root 13 Nov 11 15:15 **usb-Klipper_stm32g0b1xx_4D0020000450415339373620-if00** -> ../../ttyACM0'' * Achte darauf das am Ende die gleiche tty Bezeichnung steht wie sie im vorherigen Schritt ermittelt wurde (hier also ttyACM0) * Was für für die Konfig brauchen ist dann am Ende: \\ ''/dev/serial/by-id/usb-Klipper_stm32g0b1xx_4D0020000450415339373620-if00'' ===== kurzer 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_stm32g0b1xx_4D0020000450415339373620-if00'' > **Wichtig** \\ 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. \\ {{:klipper_faq:flash_guide:stm32g0b1:pasted:20231111-152555.png}} ===== Konfig einspielen ===== * ''cd ~/printer_data/config'' * ''wget https://raw.githubusercontent.com/bigtreetech/BIGTREETECH-SKR-mini-E3/master/firmware/V3.0/Klipper/SKR-mini-E3-V3.0-klipper.cfg -O printer.cfg'' * ''nano ~/printer_data/config/printer.cfg'' * Die Zeile mit ''serial'' entsprechend mit dem ermittelten Pfad von oben anpassen \\ [mcu] serial: /dev/serial/by-id/usb-Klipper_stm32g0b1xx_4D0020000450415339373620-if00 * ''[include mainsail.cfg]'' oben einfügen * Speichern mit **STRG+X**, dann **Y** und **Enter** ===== Klipper Update ===== Das Update der Klipper Firmware wird normal ja im eingebauten Zustand durchgeführt. Da das Board dann eh mit einer Versorgungsspannung betrieben wird, ist der **SW-USB Jumper nicht nötig**! * Klipper Dienst stoppen \\ ''sudo systemctl stop klipper.service'' * ''cd ~/klipper && make menuconfig'' * Die Einstellungen sind genauso wie im Kapitel [[klipper_faq:flash_guide:stm32g0b1:btt_skr_mini_e3_v3.0#klipper_flashen|Klipper flashen]] * ''make flash -j4 FLASH_DEVICE=/dev/ttyACM0'' * Wie man an den Port (hier ttyACM0) kommt, ist [[klipper_faq:flash_guide:stm32g0b1:btt_skr_mini_e3_v3.0#port_ermitteln|hier]] beschrieben * Am Ende kann es zu einem Fehler kommen. Davon nicht irritieren lassen. Wichtig ist diese Zeile: \\ ''File downloaded **successfully**'' * Einmal Reset-Taste drücken am Board hilft :-) * Klipper Dienst starten \\ ''sudo systemctl start klipper.service'' ===== Sonstiges ===== ==== Bootloader wiederherstellen ==== * st-flash --connect-under-reset write SKR-MINI-E3-V3.0-bootloader-and-firmware.bin 0x8000000 ==== ADXL345 (Input Shaper) ==== Ein ADXL345 Sensor für Input Shaper kann direkt an das Board angeschlossen werden. * Anschluss am Expansion Port ^ ADXL345 Pin ^ SKR E3 v3.0 SPI Port Pin ^ | GND | GND | | VCC | +5V | | CS | NSS | | INT1 | N/A | | INT2 | N/A | | SDO | MISO | | SDA | MOSI | | SCL | CLK | * Konfig Anpassung \\ [adxl345] axes_map : x,y,z cs_pin : PD9 spi_bus : spi1 [resonance_tester] accel_chip : adxl345 probe_points : 150, 150, 20 # Center of your bed, raised up a little * **Test** in der MainSail Konsole mittels \\ ''ACCELEROMETER_QUERY'' \\ Als Ergebnis sollte in etwa sowas kommen: \\ ''accelerometer values (x, y, z): -1110.308913, 1184.329507, 11414.822920'' * Sollte der Test folgenden Fehler bringen ist die Verkabelung falsch! \\ ''Invalid adxl345 id (got 0 vs e5)'' ==== Verbindungen ==== ^ Type ^ Notes ^ | USB | Default PA11/PA12 | | Seriell | UART1 PA10/PA9\\ UART2 PA2/PA3 | | CAN | PB8/PB9 | ==== Teaser USB/CAN Bridge ==== * 3,3V Buskoppler verwenden * Beispiel: SN65HVD23x * {{:klipper_faq:flash_guide:stm32g0b1:pasted:20240110-181130.png}} * {{:klipper_faq:flash_guide:stm32g0b1:pasted:20240110-181151.png}} * {{:klipper_faq:flash_guide:stm32g0b1:pasted:20240110-181217.png}} ===== Links ===== * https://github.com/bigtreetech/EBB * https://docs.vorondesign.com/build/software/miniE3_v30_klipper.html * https://www.youmaketech.com/how-to-install-klipper-on-the-skr-mini-e3-v3/ * https://github.com/bigtreetech/BIGTREETECH-SKR-mini-E3/tree/master/hardware/BTT%20SKR%20MINI%20E3%20V3.0 * How to use Klipper on SKR-mini-E3-V3.0 \\ https://github.com/bigtreetech/BIGTREETECH-SKR-mini-E3/tree/master/firmware/V3.0/Klipper * Schaltplan \\ https://github.com/bigtreetech/BIGTREETECH-SKR-mini-E3/blob/master/hardware/BTT%20SKR%20MINI%20E3%20V3.0/Hardware/BTT%20E3%20SKR%20MINI%20V3.0_SCH.pdf \\ https://raw.githubusercontent.com/bigtreetech/BIGTREETECH-SKR-mini-E3/master/hardware/BTT%20SKR%20MINI%20E3%20V3.0/Hardware/BTT%20E3%20SKR%20MINI%20V3.0_SCH.pdf * Pinout \\ https://github.com/bigtreetech/BIGTREETECH-SKR-mini-E3/blob/master/hardware/BTT%20SKR%20MINI%20E3%20V3.0/Hardware/BTT%20E3%20SKR%20MINI%20V3.0_PIN.pdf \\ https://raw.githubusercontent.com/bigtreetech/BIGTREETECH-SKR-mini-E3/master/hardware/BTT%20SKR%20MINI%20E3%20V3.0/Hardware/BTT%20E3%20SKR%20MINI%20V3.0_PIN.pdf * Bootloader Kopien \\ https://github.com/GadgetAngel/BTT_SKR_13_14_14T_SD-DFU-Bootloader/tree/main/bootloader_bin/backed_up_original_bootloaders/SKR%20mini%20E3%20V3.0 * Firmware flashen \\ https://github.com/bigtreetech/BIGTREETECH-SKR-mini-E3/tree/master/firmware/V3.0/Klipper * BTT SKR Mini E3 V3 Einrichtungsanleitung \\ https://www.makenprint.uk/3d-printing/3d-printing-guides/3d-printer-mainboard-installation-guides/btt-skr-mini-e3-v3-guides/btt-skr-mini-e3-v3-setup-guide/ * ADXL345 Input Shaper Infos \\ https://www.reddit.com/r/klippers/comments/sazlvv/connecting_adxl345_to_skr_mini_e3_v20/