User Tools

Site Tools


klipper_faq:klipper_0_auf_100:mellow_u-lite2.1_3.5_tft_micro4

This is an old revision of the document!


Mellow µ-lite2.1, 3.5" TFT, Micro4

Hinweis
Diese Anleitung beschreibt das Einrichten der aufgeführten Komponenten (siehe Equipment). Die Anleitung kann nicht 1:1 für andere Hardware Konstellationen verwendet werden!

YouTube Video #150


Equipment

  • Mellow Fly µ-lite2.1
  • Mellow TFT Display 3,5“
  • Mellow Micro4 Board

OS Versionen

FlyOS-Fast

  • Anfängerfreundliche Version in der alle vorkonfiguriert ist
  • basierend auf BuildRoot
  • keine direkten Updates möglich für Klipper & Co
  • alle Pakete vorinstalliert
  • keine direkten Systemupdates möglich
  • für eine neue Version muss das Image neu geflasht werden
  • keine FLY TOOLS
  • Wichtiger Hinweis aus der Mellow Doku : This system is a lightweight customized system. The built-in components and services such as klipper are not the official version, and users are not allowed to modify or upgrade them.

FlyOS-Armbian

  • offene Version für Fortgeschrittene
  • basierend auf Armbian
  • System Updates verfügbar
  • Klipper & Co updatebar
  • Debian / Armbian Pakete können nachinstalliert werden
  • FLY TOOLS verfügbar über <IP>:9999 (Bsp: 192.168.30.20:9999)
  • Image ist ein Bullseye - also eher etwas veraltet …
  • Kein neues Image für dieses MiniPad geplant

Image flashen

In der Anleitung von Mellow wird geschrieben, dass man zum Flashen die Software “Rufus” nutzen sollte. Das kann man sicherlich machen, allerdings könnte die Anwendung auch etwas verwirrend und technisch sein. Ich habe gute Erfahrungen damit gemacht, einfach den Raspberry Pi Imager zu verwenden:
https://www.raspberrypi.com/software/

Mellow hat gesagt das es mitunter zu OS Problemen führen kann. Wenn dem der Fall ist könnt ihr die Anleitung von Mellow versuchen mit Rufus:

FlyOS-Fast

FlyOS-Armbian

  • Aktuell ist das FlyOS_h3_3.3.4_fix_20241107.img.xz
  • FlyOS_h3_3.3.4_fix_20241107.img.xz wird dann einfach in Raspberry Pi Imager geladen (Eigenes Image)
  • SD Karte in den Leser und schreiben lassen.
  • WICHTIG Die Einstellungen in Raspberry Pi Imager können hier nicht angewendet werden!
  • Nach dem Fertigstellen der SD Karte sollte man gleich die Konfig Datei anpassen (Hinweis: Wenn das Laufwerk BOOT nicht erscheint - die SD Karte einmal aus dem Leser und wieder rein …)
    • Die Datei FlyOS-Env.txt öffnen
    • board=fly-minipad
    • screen=fly-minipad-c
    • rotate=270
    • Speichern und schließen
    • Für Wifi die Datei flyos_net.txt.template öffnen
    • FR_net_wifi_ssid='MySSID' → anpassen
    • FR_net_wifi_key='MyWiFiKEY' → anpassen
    • FR_net_wifi_countrycode='DE'
    • Speichern und schließen
  • SD Karte in das Mini Pad und starten

Logins

  • User : root
  • Passwort : mellow
    • Login als root ist ausgeschaltet. Siehe sudo cat /etc/ssh/sshd_config | grep PermitRootLogin

Der Standard User fly ist nur bei dem Armbian Image verfügbar !

  • Standard User : fly
  • Passwort : mellow

Updates & Konfig

FlyOS-Armbian

  • sudo nano /etc/apt/sources.list
    Mirror auskommentieren :
    #deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free
  • 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 minicom joystick i2c-tools speedtest-cli iotop fio ir-keytable curl inxi && mkdir -p ~/.local/share && tldr -u
  • Wifi Konfig über nmtui
  • Fly Tools aufrufen über
    http://u-LITE-IP:9999/ (Hier muss die IP vom Mini Pad eingetragen werden!)

HINWEIS BULLSEYE Das Image ist mit Bullseye als Debian Grundversion ziemlich veraltet. Bullseye ist auch aus dem Support und wird nicht mehr aktiv unterstützt.

FlyOS-Armbian Bookworm

WARNUNG
Das resultierende Image bitte gut testen. Ich habe es nicht in allen Einzelheiten durchgetestet!
Der Updateprozess dauert auch sicherlich so ~1-2 Stunden!

  • Armbian PGP-Key installieren/aktualisieren
    • sudo gpg --dearmor < key | sudo tee /usr/share/keyrings/armbian.gpg > /dev/null
    • sudo chmod go+r /usr/share/keyrings/armbian.gpg
    • sudo rm key
  • APT-Sources anpassen
    • sudo nano /etc/apt/sources.list
      deb http://deb.debian.org/debian bookworm main contrib non-free
      deb-src http://deb.debian.org/debian bookworm main contrib non-free
      
      deb http://deb.debian.org/debian bookworm-updates main contrib non-free
      deb-src http://deb.debian.org/debian bookworm-updates main contrib non-free
      
      deb http://deb.debian.org/debian bookworm-backports main contrib non-free
      deb-src http://deb.debian.org/debian bookworm-backports main contrib non-free
      
      deb http://security.debian.org/debian-security/ bookworm-security main contrib non-free
      deb-src http://security.debian.org/debian-security/ bookworm-security main contrib non-free
    • sudo sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list (ist mit der sources.list vom letzten Punkt im Grunde über …)
    • sudo sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list.d/*
    • sudo apt update
    • sudo apt upgrade --without-new-pkgs -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' -y
      Configuration file Änderungen mit N beantworten!
    • sudo apt --purge autoremove -y && sudo apt full-upgrade -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' -y
      • iperf3 Autostart → No
      • Restart services during package upgrades without asking? → Yes
      • sshd → keep the local version currently installed
    • sudo apt --purge autoremove -y
  • Reboot
    sudo reboot
  • cat /etc/os_version
    sollte jetzt Bookworm liefern … ;-)
  • Fix Pip …
    nano ~/.pip/pip.conf
    [global]
    timeout = 6000
    index-url = https://pypi.org/simple
    extra-index-url = https://www.piwheels.org/simple
  • cd ~
  • Kiauh starten und alles deinstallieren
    ./kiauh/kiauh.sh
    kiauh beenden
  • Reste von Klipper löschen
    sudo rm -rf klipp*
  • Kiauh starten und alles neu installieren
    ./kiauh/kiauh.sh
    • Klipper
    • Moonraker
    • MainSail
    • Klipperscreen
      Am Ende Install NetworkManager for the network panel → Y
  • sudo apt --purge autoremove -y

Mellow Micro4 (Bridge Modus)

Boot Modus

  • Das Board in den Boot Modus bringen
    • Im Terminal auf Meldungen warten
      dmesg -Hw
    • Jetzt die Boot Taste gedrückt halten und das Board per USB anschließen.
    • Das Board meldet sich mit Product: DFU in FS Mode
      fly@fly-lite2:~/katapult$ dmesg -Hw
      [  +9.021435] usb 5-1: new full-speed USB device number 13 using ohci-platform
      [  +0.229046] usb 5-1: New USB device found, idVendor=2e8a, idProduct=0003, bcdDevice= 1.00
      [  +0.000015] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
      [  +0.000009] usb 5-1: Product: RP2 Boot
      [  +0.000007] usb 5-1: Manufacturer: Raspberry Pi
      [  +0.000007] usb 5-1: SerialNumber: E0C9125B0D9B
      [  +0.002181] usb-storage 5-1:1.0: USB Mass Storage device detected
      [  +0.000624] scsi host0: usb-storage 5-1:1.0
      [  +1.039317] scsi 0:0:0:0: Direct-Access     RPI      RP2              3    PQ: 0 ANSI: 2
      [  +0.001563] sd 0:0:0:0: Attached scsi generic sg0 type 0
      [  +0.016474] sd 0:0:0:0: [sda] 262144 512-byte logical blocks: (134 MB/128 MiB)
      [  +0.009910] sd 0:0:0:0: [sda] Write Protect is off
      [  +0.000027] sd 0:0:0:0: [sda] Mode Sense: 03 00 00 00
      [  +0.011112] sd 0:0:0:0: [sda] No Caching mode page found
      [  +0.000029] sd 0:0:0:0: [sda] Assuming drive cache: write through
      [  +0.084717]  sda: sda1
      [  +0.051268] sd 0:0:0:0: [sda] Attached SCSI removable disk
    • STRG+C drücken, um die Meldungen zu beenden

Katapult flashen

Hinweis:
Katapult wird über USB (Boot-Mode) eingerichtet!
  • 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
  • Wegen zu altem Image muss hier eine etwas ältere Katapult Version verwendet werden!
    git checkout 3e23332
    arm-none-eabi-gcc –version → arm-none-eabi-gcc (15:8-2019-q3-1+b1) 8.3.1 20190703
  • make menuconfig
        Micro-controller Architecture (Raspberry Pi RP2040/RP235x)  --->
        Processor model (rp2040)  --->
        Flash chip (W25Q080 with CLKDIV 2)  --->
        Build Katapult deployment application (Do not build)  --->
        Communication Interface (USBSERIAL)  --->
        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
    (gpio8) Status LED GPIO Pin
  • Wichtig: Hier wird als Communication interface USB ausgewählt, nicht CAN!
  • Sonst ist später kein Update möglich!
  • Katapult kompilieren
    make -j4
  • Katapult flashen (das Board muss im Boot Mode sein !)
    make flash FLASH_DEVICE=2e8a:0003
  • Wichtig ist am Ende File downloaded successfully bei der Ausgabe im Terminal
  • Das Board einmal stromlos machen
  • Die Status LED sollte jetzt blinken

Port ermitteln

  • Board stromlos machen
  • dmesg -Hw starten und wieder Strom auf das Board geben
    biqu@BTT-CB1:~/katapult$ dmesg -Hw
    [ 4557.123616] usb 5-1: new full-speed USB device number 17 using ohci-platform
    [ 4557.358454] usb 5-1: New USB device found, idVendor=1d50, idProduct=6177, bcdDevice= 1.00
    [ 4557.358472] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    [ 4557.358481] usb 5-1: Product: rp2040
    [ 4557.358487] usb 5-1: Manufacturer: katapult
    [ 4557.358495] usb 5-1: SerialNumber: E66430A64B6B8C24
    [ 4557.360821] cdc_acm 5-1: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

Klipper flashen

  • cd ~/klipper
  • make menuconfig
    [*] Enable extra low-level configuration options
        Micro-controller Architecture (Raspberry Pi RP2040/RP235x)  --->
        Processor model (rp2040)  --->
        Bootloader offset (16KiB bootloader)  --->
        Communication Interface (USB to CAN bus bridge)  --->
    (4) CAN RX gpio number
    (5) CAN TX gpio number
        USB ids  --->
    (1000000) CAN bus speed
    [*] Optimize stepper code for 'step on both edges'
    (gpio8) GPIO pins to set at micro-controller startup
  • Es kann im folgenden Schritt zu einem Fehler kommen (vor allem mit dem CB1 Board):
    Python´s pyserial module is required to update. Install
    with the following command:
       /usr/bin/python3 -m pip install pyserial
     
    make: *** [src/stm32/Makefile:111: flash] Error 255

    In dem Fall einfach folgendes ausführen
    sudo apt install python3-serial

  • Klipper kompilieren und flashen (über USB / seriell!)
    make -j4 flash FLASH_DEVICE=/dev/ttyACM0
    biqu@BTT-CB1:~/klipper $ make -j4 flash FLASH_DEVICE=/dev/ttyACM0
      Creating symbolic link out/board
      Building out/autoconf.h
      Compiling out/src/sched.o
    ...
      Compiling out/src/stm32/hard_pwm.o
      Preprocessing out/src/generic/armcm_link.ld
      Building out/compile_time_request.o
    Version: v0.12.0-102-g9f41f53c
      Linking out/klipper.elf
      Creating hex file out/klipper.bin
      Flashing out/klipper.bin to /dev/ttyACM0
    Entering bootloader on /dev/ttyACM0
    Device reconnect on /sys/devices/platform/soc/5200000.usb/usb2/2-1/2-1.4/2-1.4:1.0
    /usr/bin/python3 lib/canboot/flash_can.py -d /dev/serial/by-path/platform-5200000.usb-usb-0:1.4:1.0 -f out/klipper.bin
     
    Attempting to connect to bootloader
    CanBoot Connected
    Protocol Version: 1.0.0
    Block Size: 64 bytes
    Application Start: 0x8020000
    MCU type: stm32h723xx
    Flashing '/home/biqu/klipper/out/klipper.bin'...
     
    [##################################################]
     
    Write complete: 1 pages
    Verifying (block count = 477)...
     
    [##################################################]
     
    Verification Complete: SHA = 381BC7BAE3D7B8717F7169CEDB8EA08E4D59A4CA
    CAN Flash Success
  • Die LED sollte jetzt nicht mehr blinken!

SBC

  • Da wir von Bullseye kommen ist ifupdown immer noch aktiv und kann genutzt werden.
    Ansonsten siehe hier: https://www.drklipper.de/doku.php?id=klipper_faq:can:neue_can_konfiguration
  • 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: <NOARP,UP,LOWER_UP,ECHO> 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

Can Query

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:

  • 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-CB1:~/klipper$ ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
    Found canbus_uuid=fa5ad324b369, Application: Klipper
    Total 1 uuids found
    • Die UUID (canbus_uuid=fa5ad324b369) notieren !
    • Wird bei diesem Schritt kein Board gefunden, hilft oft ein Reset am Board (entweder über den Reset Taster oder 1x Strom weg und wieder dran)

Konfiguration Micro4

  • cd ~/printer_data/config
    • Achtung: Gcode falsch eingerückt!
  • nano ~/printer_data/config/printer.cfg
    [mcu]
    canbus_uuid: 668b50171aea
    • Unterhalb [mcu] die Zeile mit serial löschen oder auskommentieren
    • Unterhalb [mcu] die Zeile canbus_uuid entsprechend mit der ermittelten UUID von oben einfügen
  • Klipper starten
    sudo systemctl start klipper.service

Sonstiges

Verkabelung

Ganz normale CAN Verkabelung:

  • CAN H auf CAN H
  • CAN L auf CAN L
  • GND & 12 bzw. 24V

CAN Bus Terminierung

  • Am U2C Board den Jumper 120R setzen
  • Am EBB Board den Jumper 120R setzen
  • Wer will, kann im ausgeschalteten Zustand den Buswiderstand mit einem Ohmmeter messen. Es müsste zwischen CAN H und CAN L ca. 60 Ω ergeben.

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

Klipper Update

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.
  • Klipper Dienst stoppen
    sudo systemctl stop klipper.service
  • Alle CAN UUID's ermitteln
    grep canbus_uuid ~/printer_data/config/* -n
    biqu@BTT-CB1:~$ grep canbus_uuid ~/printer_data/config/* -n
    /home/biqu/printer_data/config/BTT_EBB.cfg:10:canbus_uuid: 44d860c9632b
    /home/biqu/printer_data/config/printer.cfg:162:canbus_uuid: fa5ad324b369
  • Das Manta Board per flshtool.py resetten. Welche UUID das Manta Board hat kann man bei mehreren Busteilnehmern leider nicht ohne weitere erkennen.
    ~/klippy-env/bin/python ~/katapult/scripts/flashtool.py -i can0 -u <MANTA UUID> -r
    biqu@BTT-CB1:~$ ~/klippy-env/bin/python ~/katapult/scripts/flashtool.py -i can0 -u fa5ad324b369 -r
    Sending bootloader jump command...
    Bootloader request command sent
    Flash Success
    • Die Status LED sollte jetzt anfangen zu blinken
  • Den Port ermitteln
    dmesg |tail -n 10
    biqu@BTT-CB1:~$ dmesg |tail -n 10
    [  296.579125] gs_usb 2-1.4:1.0 can0: Couldn`t shutdown device (err=-19)
    [  296.959524] usb 2-1.4: new full-speed USB device number 5 using ehci-platform
    [  297.190002] usb 2-1.4: New USB device found, idVendor=1d50, idProduct=6177, bcdDevice= 1.00
    [  297.190028] usb 2-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    [  297.190034] usb 2-1.4: Product: stm32h723xx
    [  297.190040] usb 2-1.4: Manufacturer: katapult
    [  297.190045] usb 2-1.4: SerialNumber: 1E0043001051313236343430
    [  297.208551] cdc_acm 2-1.4:1.0: ttyACM0: USB ACM device
    [  297.208666] usbcore: registered new interface driver cdc_acm
    [  297.208673] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters

    Wie immer brauchen wir die tty… Angabe. In diesem Fall ist is ttyACM0 wie man in der drittletzten Zeile sehen kann.

  • cd ~/klipper
  • make menuconfig
    → Die Einstellungen sind dieselben wie oben unter Klipper flashen angegeben.
  • Klipper flashen
    make -j4 flash FLASH_DEVICE=/dev/ttyACM0
    Den ermittelten Port halt am Ende ggf. anpassen.
  • Klipper starten
    sudo systemctl start klipper.service

Mini Config (Test)

HINWEIS
Diese Konfiguration ist nur für einen einfachen Test! Bitte entpsrechend anpassen!

[include mainsail.cfg]
[virtual_sdcard]
path: /home/fly/printer_data/gcodes
on_error_gcode: CANCEL_PRINT
 
[mcu]
serial : /dev/serial/by-id/usb-Klipper_stm32f446xx_3D002A000350563046353420-if00
 
[mcu host]
serial : /tmp/klipper_host_mcu
 
[printer]
kinematics: none
max_velocity: 1000
max_accel: 1000

Klipperscreen

  • In dem CB1 Full Image ist Klipperscreen schon entahlten und kann über MainSail auf den neusten Stand gebracht werden.
  • Wenn man ein anderes Image verwendet muss Klipperscreen über kiauh nachinstalliert werden.
klipper_faq/klipper_0_auf_100/mellow_u-lite2.1_3.5_tft_micro4.1760165070.txt.gz · Last modified: by dominik

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki