1. Forum
    1. Letzte Einträge
    2. Discord Server
    3. Unifi - Shop
    4. Unifi - EOL
    5. Unifi - Firmware
    6. Members
      1. Recent Activities
      2. Users Online
      3. Staff
      4. Search Members
  2. Lexicon
    1. UniFi Talk Templates
  3. Filebase
  4. Marketplace
    1. Terms Of Condition
    2. Reviews
  5. Gallery
    1. Albums
  6. Donations
  • Login
  • Register
  • Search
Shell / SSH - Tutorials
  • Everywhere
  • Shell / SSH - Tutorials
  • Pages
  • Gallery
  • Forum
  • Lexikon
  • Marketplace Item
  • Files
  • More Options
Ubiquiti-Networks-Forum.de
  1. ubiquiti - Deutsches Fan Forum
  2. Lexicon
  3. Shell / SSH - Tutorials

LiteX-CNC Firmware kompilieren

  • JaXnPrivate
  • December 27, 2025 at 10:37 AM
  • December 27, 2025 at 11:52 AM
  • 145 times viewed
  • In diesem Tutorial wird gezeigt, wie man eine LinuxCNC-kompatible Firmware namens LiteX-CNC für günstige China-LED-Treiberboards (Modell 5a-75b) flasht. Mit dieser Methode kann man auf teure CNC-Motion-Cards verzichten und dennoch ein voll funktionsfähiges CNC-System auf Basis eines FPGA-Boards betreiben.

    1 LiteX-CNC Firmware kompilieren

    In diesem Tutorial wird gezeigt, wie man eine LinuxCNC-kompatible Firmware namens LiteX-CNC für günstige China-LED-Treiberboards (Modell 5a-75b) flasht. Mit dieser Methode kann man auf teure CNC-Motion-Cards verzichten und dennoch ein voll funktionsfähiges CNC-System auf Basis eines FPGA-Boards betreiben.

    Das genannte Treiberboard gibt es für unter 25€ auf AliExpress zu kaufen, es beinhaltet eine Menge I/Os, die sich mit wenigen Schritten auch als Inputs umwandeln lassen, das Board ist eine günstige Alternative zu teuren Motion Cards, bietet jedoch nur Digitale Pins.

    1.1 Repository klonen:

    Code
    git clone https://github.com/Peter-van-Tol/LiteX-CNC.git
    cd LiteX-CNC

    Lädt den LiteX-CNC-Quellcode von GitHub herunter und wechselt ins Projektverzeichnis.

    1.2 Python-Umgebung einrichten:

    Code
    mkdir venv
    python3 -m venv ./venv/
    ./venv/bin/pip install litexcnc

    Erstellt eine isolierte Python-Umgebung und installiert das LiteX-CNC-Paket.

    1.3 Treiber und Toolchain installieren:

    Code
    ./venv/bin/python -m litexcnc install_driver
    ./venv/bin/python -m litexcnc install_toolchain

    Installiert die benötigten Treiber und die FPGA-Toolchain für die Firmwareentwicklung.

    1.4 Zusätzliche Tools für FPGA:

    Code
    sudo apt install yosys nextpnr-ecp5 build-essential cmake clang bison flex libreadline-dev \
        gawk tcl-dev libffi-dev git python3 python3-dev libboost-all-dev \
        libeigen3-dev libqt5opengl5-dev qtbase5-dev

    Installiert Open-Source-Tools für FPGA-Synthese und Routing.

    1.5 Firmware-Konfiguration herunterladen:

    Code
    wget https://raw.githubusercontent.com/Gamer08YT/ByteCNC/refs/heads/main/litexcnc/5a-75b_v8.0_i12o14p6s6e6.json

    Lädt die JSON-Konfigurationsdatei für die gewünschte CNC-Hardware.

    1.6 Firmware bauen:

    Code
    ./venv/bin/python -m litexcnc build_firmware ./5a-75b_v8.0_i12o14p6s6e6.json --build

    Kompiliert die Firmware für das FPGA-Board, basierend auf der Konfiguration.

    Der Prozess kann 10–15 Minuten oder mehr dauern, je nach Leistung des Computers.


    1.7 Firmware flashen:

    Code
    ./venv/bin/python -m litexcnc flash_firmware --permanent --programmer ftdi/esp32_devkitj_v1 ./5a-75b_v8.0_i12o14p6s6e6/gateware/colorlight_5a_75b.svf

    Die Firmware kann nach Abschluss des Kompilierprozesses über einen Flasher in das FPGA programmiert werden, in diesem Fall nutze ich den ESP-Programmer als FTDI Adapter.

    External Content raw.githubusercontent.com
    Content embedded from external sources will not be displayed without your consent.


    Der Upload läuft über folgende Pins des JTAG Interfaces ab:

    GPIOHeader PinFunktionLED Karte
    1636TCKJ27
    631TMSJ31
    1935TDIJ32
    2637TDOJ30

    Weitere Pinouts / Hardware Revisionen: chubby75/5a-75b at master · q3k/chubby75

    1.8 Karte testen

    Derzeit ist nur ein NIC-Interface implementiert, hierfür wird LAN1 mit der Ethernetschnittstelle am PC verbunden.

    Die Karte spricht kein DHCP, daher muss eine statische IP-Adresse festgelegt werden (10.0.0.10 / 255.255.255.0).

    Mit der halrun CLI können Funktionen von dem HAL Treiber getestet werden.

    Code
    loadrt litexcnc connections="eth:10.0.0.10"
    show pin
    show param
    show function


    Disclaimer:

    Alle Anleitungen/Tutorials sind nach bestem Wissen und Gewissen verfasst, gehen immer von den definierten Software/Firmware-Versionen aus und sind auf das englische GUI ausgelegt.

    Es gibt keine Garantie auf Erfolg. Im Falle eines Misserfolges hilft aber die Community hier sicherlich weiter.

    Keiner der Autoren oder der Betreiber des Forums ist für die aus der Nutzung resultierenden Probleme/Herausforderungen verantwortlich.

    Jegliche hier beschriebenen Schritte erfolgen ausnahmslos in eigener Verantwortung des Durchführenden.

    Eltern haften für ihre Kinder.

    • Firmware
    • linux
    • ubuntu
    • cnc
    • c++
    • compile
    • shell
    • Quote

Share

  • Previous entry LinuxCNC unter Ubuntu kompilieren
  • Next entry manuelles Firmware-Upgrade oder -Downgrade durchführen
  • Changelog
  • PDF

Auswählen:

Gültige Software-Version
Keine Firmware-Relevanz!

Table of Contents

  • 1 LiteX-CNC Firmware kompilieren
    • 1.1 Repository klonen:
    • 1.2 Python-Umgebung einrichten:
    • 1.3 Treiber und Toolchain installieren:
    • 1.4 Zusätzliche Tools für FPGA:
    • 1.5 Firmware-Konfiguration herunterladen:
    • 1.6 Firmware bauen:
    • 1.7 Firmware flashen:
    • 1.8 Karte testen

Categories

  1. Basics 58
  2. Controller - Tutorials (Einsteiger) 7
  3. Controller - Tutorials (Fortgeschritten) 29
  4. Shell / SSH - Tutorials 38

Contributors in this entry

  1. JaXnPrivate 11 changes
  1. Privacy Policy
  2. Legal Notice
Lexicon, developed by www.viecode.com
Powered by WoltLab Suite™