Übersicht Programmiersprachen für den LEGO SPIKE Roboter

Wichtiger Hinweis zu dieser Seite:
Der SPIKE Prime Hub ist technisch identisch mit dem Hub des mittlerweile eingestellten LEGO MINDSTORMS Robot Inventor 51515. Beide Hubs lassen sich mit denselben Programmen und Umgebungen nutzen. Im weiteren Verlauf sprechen wir immer vom SPIKE, aber alle Programmierumgebungen können genauso für den Robot Inventor genutzt werden.
Der LEGO SPIKE Roboter wurde von LEGO 2026 eingestellt und wird seitdem nicht mehr von LEGO verkauft. Diese Seite bietet dennoch einen Überblick über noch verfügbare Programmierumgebungen, mit denen der SPIKE weiter genutzt werden kann. Bei der WRO sind grundsätzlich alle Roboter und alle Programmiersprachen erlaubt. Diese Seite gibt lediglich einen Überblick mit dem Schwerpunkt auf den LEGO SPIKE Roboter und stellt keine abschließende Liste dar.


Suchst du eine neue Herausforderung mit deinem LEGO-Roboter?

Auf dieser Seite haben wir einen Überblick über die verschiedenen Programmiersprachen zusammengestellt, mit denen ihr euren SPIKE-Roboter programmieren könnt. Bei der WRO gibt es keine Einschränkungen, welche Roboter oder Programmiersprachen ihr verwendet. Ihr könnt euch also für die Sprache entscheiden, die euch am besten gefällt und mit der ihr am besten programmieren könnt.

Ihr könnt den SPIKE also mit der offiziellen LEGO-Software programmieren – oder mit einer der zahlreichen Alternativen, die teilweise deutlich mehr Möglichkeiten bieten. Wer aus dem EV3-Bereich kommt, findet fast alle vertrauten Konzepte wieder – nur die Namen der Werkzeuge haben sich geändert. Der kleinere SPIKE Essential Hub wird von vielen, aber nicht allen Umgebungen unterstützt.

Hinweis zur Firmware: Einige Umgebungen (vor allem Pybricks) ersetzen die LEGO-Firmware auf dem SPIKE-Hub. Das ist reversibel, d. h. es kann auch die offizielle LEGO-Firmware wieder aufgespielt werden. Solange ihr das Vorgehen kennt, ist das kein Risiko für den Wettbewerb.

Allgemeine Empfehlung

Grafische Programmiersprachen, zum Beispiel auf Basis von Blöcken (SPIKE App, NEPO, Pybricks Blocks), eignen sich gut für den Einstieg in die Roboterprogrammierung. Sie besitzen eine reduzierte Komplexität, Syntaxfehler sind nicht möglich und durch eine vereinfachte Entwicklungsumgebung ist ein Fokus auf die wichtigen Funktionen möglich. Wer noch gar keine Programmiererfahrung hat, kann mit diesen grafischen Programmiersprachen schnelle Erfolge erzielen. Wer schon erste Erfahrung hat, komplexere Programme umsetzen möchte oder einfach mal etwas Neues ausprobieren will, der sollte den Schritt Richtung textbasierter Programmierung wagen.

Grafikbasierte Programmiersprachen

Die LEGO Education SPIKE App ist die offizielle und aktuellste Programmierapp von LEGO. Sie soll laut LEGO noch bis zum 30. Juni 2031 mit Updates versorgt werden. In der App kann mit Symbolblöcken, Textblöcken und Python programmiert werden. Informationen zu Python gibt es weiter unten im Abschnitt "Textbasierte Programmiersprachen".

Die Symbolblöcke sind als Einstieg für die Jüngsten gedacht und bieten daher nur begrenzte Möglichkeiten der Programmierung, ganz ohne Text. So ist es möglich, den Roboter zu programmieren, ohne dafür lesen zu müssen. Die Blöcke werden von links nach rechts aneinandergereiht und ergeben so den Programmablauf. So können einfach die Grundlagen der Robotik vermittelt werden. Für die WRO-Wettbewerbe ist der Funktionsumfang aber in der Regel zu gering.

Die Textblöcke bieten mehr Funktionen und basieren auf Scratch 3. Die Blöcke werden, wie bei Scratch üblich, von oben nach unten verbunden. Die deutschsprachige Oberfläche ermöglicht einen einfachen Einstieg und ebenfalls komplexe Programme. So können zum Beispiel auch eigene Blöcke ("Meine Blöcke") und wiederverwendbare Unterprogramme erstellt werden.

Die App ist für Windows, macOS, iPad, Android und Chromebook verfügbar. Zusätzlich gibt es auch eine Web-Version der Software im Internetbrowser, wodurch sie auch ohne Installation nutzbar ist. Das Programm kann per USB-Kabel oder Bluetooth auf den Controller übertragen werden. Neben kostenlosem Unterrichtsmaterial von LEGO gibt es auch viele Tutorials und Informationen aus der Community.

Aus diesen Gründen ist die SPIKE App mit den Textblöcken die meistverwendete Programmierumgebung für den SPIKE bei unseren Wettbewerben.

Download der LEGO Education SPIKE App
Web-Version der App im Browser

NEPO ist eine Open-Source-Programmiersprache der Roberta-Initiative des Fraunhofer IAIS, die mit Unterstützung von Google.org entstanden ist. Damit lassen sich einfache, aber auch anspruchsvolle Programme für unterschiedliche Roboter erstellen. Die NEPO-Programmierblöcke lassen sich nach dem Baukastenprinzip im Open Roberta Lab per Drag-and-drop zusammensetzen. Eine Source-Code-Ansicht erleichtert außerdem das Verständnis textbasierter Programmiersprachen wie Java oder Python.

Die Plattform kann auf lab.open-roberta.org ohne Installationsaufwand von jedem Gerät mit gängigem Internetbrowser kostenfrei genutzt werden – egal ob auf PC, Mac oder Tablet. So werden die technischen und fachlichen Hürden sowohl für Lehrkräfte als auch für Schülerinnen und Schüler reduziert. Das Lab bietet zudem die Möglichkeit, NEPO-Programme über die Galerie mit der Welt zu teilen.

Das Open Roberta Lab ist in unterschiedlichen Sprachen verfügbar und unterstützt stetig mehr Roboter- und Hardware-Systeme. Den Einstieg ins spielerische Programmieren erleichtert die Roberta-Initiative des Fraunhofer IAIS zudem mit zahlreichen kostenfreien Lernmaterialien sowie unterhaltsamen Video-Tutorials: roberta-home.de

Seit 2023 werden der SPIKE Prime und auch der Robot Inventor Hub unterstützt. Für die Übertragung der Programme auf den SPIKE gibt es zwei Möglichkeiten:

  • Per USB-Kabel: Funktioniert mit der originalen LEGO-Firmware und in allen gängigen Browsern, benötigt aber ein Zusatzprogramm namens Open Roberta Connector.
  • Per Bluetooth: Dafür muss die Pybricks-Firmware auf dem SPIKE-Controller installiert sein. Außerdem wird, wie bei Pybricks, ein Browser mit Web-Bluetooth benötigt (Chrome oder Edge auf Computer/Laptop, Bluefy auf dem iPad).

Open Roberta Lab
Anleitung: SPIKE Prime / Robot Inventor im Open Roberta Lab einrichten

Pybricks ist primär dafür ausgelegt, LEGO-Roboter mit Python zu programmieren (siehe auch den Eintrag zu Pybricks in den textbasierten Programmiersprachen). Zusätzlich gibt es mit Pybricks Blocks aber auch eine Blockoberfläche mit der gleichen Firmware und den gleichen Möglichkeiten wie Pybricks Python. Während die textbasierte Programmierung mit Pybricks kostenfrei ist, ist Pybricks Blocks nicht kostenfrei: Die Blockprogrammierung ist Unterstützern des Projekts vorbehalten.
Da sowohl Pybricks Blocks als auch Python die gleichen Bibliotheken nutzen, fällt ein späterer Umstieg von der Blockprogrammierung auf eine Textprogrammierung mit Python leichter.

Hinweis: Pybricks hat eine eigene Firmware, die auf dem SPIKE-Controller installiert werden muss. Andernfalls kann Pybricks nicht mit dem SPIKE kommunizieren oder Programme ausführen.

Pybricks-Webseite

Wichtiger Hinweis: Die SPIKE Legacy App (SPIKE App 2) wurde von LEGO durch die aktuelle SPIKE App abgelöst. Sie wird nicht mehr weiterentwickelt und der Support wurde eingestellt. Für neue Teams empfehlen wir sie daher nicht mehr.

Die SPIKE Legacy App ist die Vorgängerversion der SPIKE App und wird noch von Teams genutzt, die Programme aus früheren Saisons weiterverwenden. Programmiert wird wie in der aktuellen App mit Blöcken, teilweise gibt es aber andere Blöcke (z. B. kombinierte Bewegungsblöcke oder Lautstärkeblöcke). Auch die Python-Bibliothek unterscheidet sich von der aktuellen App, sodass Programme nicht ohne Anpassung übertragen werden können.

Download der (veralteten) SPIKE Legacy App

Die Robot Inventor App gehört zum eingestellten LEGO MINDSTORMS Set 51515. Da der Hub baugleich ist, lässt sich damit auch ein SPIKE programmieren. Die Blockprogrammierung basiert wie die SPIKE App auf Scratch und ist dieser sehr ähnlich, zusätzlich gibt es einen Python-Modus.

Die App wird nicht mehr weiterentwickelt und ist teilweise nicht mehr in den App-Stores verfügbar. Sie ist daher nur dann sinnvoll, wenn ihr ohnehin mit MINDSTORMS-51515-Material arbeitet.

Anders als beim EV3 gibt es in Scratch keine offizielle Erweiterung für den SPIKE. Es existieren Community-Erweiterungen für die Bluetooth-Anbindung von LEGO-Hubs, diese sind aber nicht offiziell unterstützt und für Wettbewerbseinsätze nur bedingt zu empfehlen. Wer Scratch-Blöcke möchte, sollte sich die Textblöcke der SPIKE App anschauen – diese basieren ohnehin auf Scratch 3.

Scratch LEGO Bluetooth Extensions (Community)

Textbasierte Programmiersprachen

Neben der Block- und Scratchprogrammierung bietet die SPIKE App auch die Möglichkeit, den SPIKE mit Text zu programmieren. Die Programmiersprache basiert auf MicroPython. Der Editor bietet mit einer Autovervollständigung und einer Konsolenausgabe zum Debuggen nützliche Funktionen beim Programmieren. Durch die vertraute Umgebung fällt der Umstieg von einer grafischen auf eine textbasierte Programmiersprache leichter, ein zusätzliches Werkzeug ist nicht nötig. Außerdem gibt es eine große Community mit Tipps und Hilfestellungen.

Hinweis: Bei Tutorials aus dem Internet wird im Code teils eine "spike"-Bibliothek verwendet. Diese Bibliothek stammt aus der veralteten SPIKE Legacy App und existiert in der aktuellen SPIKE App nicht mehr. Die aktuelle App nutzt stattdessen Module wie hub, motor, runloop oder color_sensor. Achtet bei Tutorials also darauf, für welche App-Version sie geschrieben sind.

Python-Materialien von LEGO Education
Python-Lernmaterial auf Prime Lessons

Pybricks ist die meistverwendete Alternative zur LEGO SPIKE App. Es basiert auf MicroPython und kann als textbasierte Programmiersprache kostenlos genutzt werden. Pybricks ist Open Source und wird im Browser unter code.pybricks.com genutzt, eine Installation ist nicht nötig. Die Programme werden drahtlos per Bluetooth auf den Hub übertragen.

Gegenüber der LEGO-Software bietet Pybricks eine deutlich präzisere und schnellere Motorsteuerung, zum Beispiel durch eine saubere Regelung und Fahrbefehle in Millimetern und Grad. Das ist der Hauptgrund, warum viele ambitionierte Wettbewerbsteams zu Pybricks wechseln. Neben dem SPIKE Prime Hub werden auch der SPIKE Essential Hub, der Robot Inventor Hub und diverse ältere LEGO-Hubs unterstützt. Die Dokumentation ist sehr gut und die Community wächst stetig.

Hinweis: Pybricks benötigt eine eigene Firmware, die einmalig per USB-Kabel auf den SPIKE-Controller aufgespielt werden muss. Die LEGO-Firmware kann über den Editor jederzeit wiederhergestellt werden. Außerdem wird ein Browser mit Web-Bluetooth benötigt (Chrome oder Edge auf Computer/Laptop, Bluefy auf dem iPad).

Pybricks-Webseite
Pybricks-Editor im Browser
Offizielle Dokumentation

Für Teams, die bereits mit einer "richtigen" Entwicklungsumgebung arbeiten wollen, gibt es Erweiterungen für Visual Studio Code, zum Beispiel die "LEGO SPIKE Prime / MINDSTORMS Robot Inventor Extension". Damit wird VS Code direkt mit dem Hub verbunden: Programme werden in Python geschrieben und auf den Hub übertragen, auch die Konsolenausgabe lässt sich lesen. Für Pybricks gibt es ebenfalls Erweiterungen bzw. das Kommandozeilenwerkzeug pybricksdev.

Die Vorteile sind unter anderem eine Versionsverwaltung mit Git, bessere Editor-Funktionen und die Aufteilung von Programmen auf mehrere Dateien. Die Erweiterungen werden aber nicht offiziell von LEGO unterstützt und die Einrichtung erfordert etwas Erfahrung. Für komplette Einsteiger würden wir diesen Weg daher nicht empfehlen.

VS-Code-Erweiterung für SPIKE Prime / Robot Inventor

spike-rt ist das Gegenstück zu c4ev3 beim EV3 und die Option für Teams mit echter Programmiererfahrung. Programmiert wird in C und C++ auf Basis eines Echtzeitbetriebssystems (TOPPERS/ASP3), wofür die Firmware auf dem Hub ersetzt wird. Das bietet maximale Kontrolle und Geschwindigkeit, erfordert dafür aber einen deutlich höheren Einrichtungsaufwand.

Das Projekt befindet sich noch in Entwicklung, die Community ist klein und die Dokumentation überwiegend auf Englisch oder Japanisch. Wir würden spike-rt daher nur sehr erfahrenen Teams empfehlen.

spike-rt auf GitHub

Der SPIKE-Hub bringt einen MicroPython-Interpreter mit, auf den man auch ohne die LEGO-App zugreifen kann – über die serielle Schnittstelle (USB) oder Bluetooth mit Werkzeugen wie mpremote oder eigenen Skripten. Das erlaubt Experimente mit Funktionen, die die offizielle App nicht anbietet, und auch eine Fernsteuerung vom PC aus (z. B. um Sensordaten live auszuwerten).

Es gibt allerdings keine offizielle Unterstützung und das Verhalten kann sich mit Firmware-Updates ändern. Der direkte Zugriff ist daher eher etwas für Tüftler als für den Wettbewerbsalltag.

Dokumentation zu mpremote
Undokumentierte Python-Funktionen des SPIKE-Hubs (Anton's Mindstorms)

Empfehlung für WRO-Teams

  • Neu dabei: Startet mit den Textblöcken der SPIKE App. Alles ist aus einer Hand und es gibt viel Lernmaterial zum Einstieg.
  • Ihr kommt vom EV3 und mögt NEPO: Das Open Roberta Lab unterstützt den SPIKE – ihr behaltet eure gewohnte Umgebung.
  • Ihr wollt mehr als Textblöcke: Wechselt auf Python in der SPIKE App oder direkt auf Pybricks, wenn ihr präzisere Fahrten und Drehungen braucht.
  • Ihr wollt das Maximum aus dem SPIKE herausholen: Pybricks wird von einigen erfahrenen Teams verwendet; wenn ihr C/C++ mögt, nutzt spike-rt.

Denkt daran: Die beste Programmierumgebung ist die, mit der euer Team sicher arbeiten kann. Ein Wechsel mitten in der Saison kostet mehr Zeit, als er einbringt.

Schreibe deine Robotergeschichte

Wir freuen uns auf unsere 16. WRO-Saison, die Saison 2027.
Eine neue Future Engineers Challenge, das neue Starter / Mission Spielfeld „Ocean Deep Dive“, der WRO-Förderfonds und das Deutschlandfinale in München - dies sind nur einige spannende News. Informiert euch auf unserer Website zur neuen Saison.

Infos zur Saison 2027

Unser Verein wird von vielen Partnerinnen und Partnern aus Wirtschaft, Zivilgesellschaft und Politik unterstützt.
Informiere dich über alle Netzwerkpartner und über Möglichkeiten, uns zu unterstützen.