This is an old revision of the document!
Table of Contents
BTT SKR MINI E3 V3.0
ANLEITUNG AKTUELL NICHT GÜLTIG
Leider musste ich das Video “82 - Flash Guide - SKR Mini E3 V3.0 (USB)” offline nehmen.
Ich musste heute bedauerlicherweise feststellen, dass die Flashmethode bei mir zwar funktioniert, aber vermutlich bei kaum einem anderen. Ich habe nämlich bei meinem Board eine Controller-Einstellung geändert, die den Flashvorgang wie im Video beschrieben erst ermöglicht. Und diese Einstellung kann man nur mit einem speziellen Adapter erledigen.
Werde Teile des Videos neu aufnehmen und zeigen, wie man den ersten Flashvorgang (enttäuschenderweise doch) mit SD-Karte vornehmen muss. Hoffe das ich am WE dann ein Update Online stellen kann.
Sorry
ANLEITUNG AKTUELL NICHT GÜLTIG
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)!
Es gibt inzwischen auch ein Board mit der Version 3.0.1, welches einen anderen Controller verwendet (Controller STM32F401)!
YouTube Video #82
LEIDER OFFLINE
Hinweise
- SBC bedeutet in der Anleitung Single Board Computer. 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:
- (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:
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!
DFU Modus
Das Board lässt sich mit einem Stück Draht oder einem Jumperkabel sehr einfach in den DFU-Modus versetzen. Dieser Modus ermöglicht das direkte Flashen über den USB-Port (anstelle dem komplizierten SD Gehampel …). Das Board sollte dazu am besten ausgebaut vor euch lieben. Im Eingebauten und verkabelten Zustand geht es auch, ist dann aber ein wenig unhandlicher …
Den DFU-Modus kann man wie folgt aktivieren:
- USB Stecker vom Board abziehen
- Den Jumper SW_USB setzen, um das Board mit 5V vom USB-Port betreiben zu können. (Die 12V bzw. 24V brauchen wir dafür nicht)
- im Terminal
dmesg -HW
- Das Board per USB an den SBC anschließen
- Das Board meldet sich mit
Product: DFU in FS Mode
wenn der DFU-Modus aktiviert wurde:
pi@Pi3Test:~/katapult $ dmesg -HW [Nov11 07:34] usb 1-1.5: new full-speed USB device number 28 using dwc_otg [ +0.133358] usb 1-1.5: New USB device found, idVendor=0483, idProduct=df11, bcdDevice= 2.00 [ +0.000036] usb 1-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ +0.000016] usb 1-1.5: Product: DFU in FS Mode [ +0.000012] usb 1-1.5: Manufacturer: STMicroelectronics [ +0.000012] usb 1-1.5: SerialNumber: 205637865341
Warum funktioniert das?
Dieser “Hack” verbindet die 3,3V von Pin1 mit dem SWCLK Pin4.
SWCLK ist zufällig auch der Boot0 Pin den man für das Aktivieren des DFU-Modus braucht. Und glücklicherweise ist da auch noch der Pulldown Widerstand R27 der einen Kurzschluss zwischen 3,3V und GND verhindert.
Klipper flashen
Hinweis Original “SD”-Bootloader
Der originle Bootloader geht beim Einspielen von Klipper in diesem Fall verloren. Ein Update über SD-Karte ist damit also nicht mehr möglich. Für das Board kann man den “alten” Bootloader aber herunterladen und wieder flashen. Man kann den Urzustand also wieder herstellen - auch wenn das null Sinn macht
cd ~/klipper
make menuconfig
[*] Enable extra low-level configuration options Micro-controller Architecture (STMicroelectronics STM32) ---> Processor model (STM32G0B1) ---> Bootloader offset (No 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
undY
- Klipper kompilieren
make -j4
- Klipper flashen
dfu-util -R -a 0 -s 0x08000000:mass-erase:force -D ~/klipper/out/klipper.bin
Das Ergebnis sollte seinFile downloaded successfully
- Jetzt den Jumperwire wieder vom SWD Port abziehen!
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.
Konfig einspielen
cd ~/printer_data/config
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 flashen
make flash -j4 FLASH_DEVICE=/dev/ttyACM0
- Wie man an den Port (hier ttyACM0) kommt, ist 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
ADXL
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 |
- download
[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
→ https://www.reddit.com/r/klippers/comments/sazlvv/connecting_adxl345_to_skr_mini_e3_v20/
When you save and restart, make sure your ADXL is NOT connected yet. Wait for it to display “Klipper state: Ready” in the console on Mainsail or whatever you're using, then connect up the chip. You should then be able to run:
ACCELEROMETER_QUERY
And it should return something like this:
accelerometer values (x, y, z): -1110.308913, 1184.329507, 11414.822920
If you instead get something like this:
Invalid adxl345 id (got 0 vs e5).This is generally indicative of connection problems(e.g. faulty wiring) or a faulty adxl345 chipMake sure your wiring is still firmly connected.
I got this error and spent too much time trying to figure out where I went wrong only to find that my CS Pin wire had disconnected from the SKR. Once I restored that connection, everything worked as it should. Hopefully this helps someone. As a side note, this board does NOT support more than one ADXL345 chip unless you disconnect your LCD screen and use the EXP1 Port or something similar as the board only has 1 dedicated SPI port. You're on your own on that endeavor hehe…
Verbindungen
Type | Notes |
---|---|
USB | Default PA11/PA12 |
Seriell | UART1 PA10/PA9 UART2 PA2/PA3 |
CAN | PB8/PB9 |
Teaser USB/CAN Bridge
Links
- 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 - 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/