Oxocard: Programmieren lernen mit einem Schweizer Minicomputer
Auf den kreditkartengrossen Computer lädst du eigene Programme oder mitgelieferte Beispiele. Er wird so zur Mini-Spielkonsole, zum Messgerät oder was immer du willst. Beim Ausprobieren hat es mir vor allem das teurere Modell angetan.
Oxocards sind programmierbare Minicomputer. Erfunden haben es die Schweizer, genauer die Oxon AG, eine kleine Bude aus dem Kanton Bern. Die Oxocards sind in erster Linie dazu gedacht, das Programmieren zu erlernen. Bislang gibt es vier Modelle. Eines davon, die Oxocard Blockly für Kinder ab zehn Jahren, lasse ich hier weg. Die anderen drei, um die es hier geht, werden ab 14 Jahren empfohlen. Mit ihnen lassen sich auch komplexe Programme realisieren und sie können auch für Erwachsene spannend sein.
Die Oxocard Science, Galaxy und Artwork haben die Grösse einer Kreditkarte und werden auch als Oxocard Mini bezeichnet. Darauf befindet sich ein quadratischer Bildschirm mit 240 × 240 Pixeln und 2,5 Zentimeter Seitenlänge. Dazu gibt es fünf Tasten – vier Richtungstasten und eine Taste in der Mitte. Strom beziehen die Karten über den USB-Anschluss auf der Unterseite.
Programmiert wird – zum Glück – nicht auf der Oxocard selbst, sondern in einem webbasierten Editor. Du kannst also dein Notebook oder deinen Desktop-Computer verwenden. Der Minicomputer ist über das WLAN mit dem Editor verbunden. Die Programme im Editor können jederzeit direkt auf die Oxocard übertragen und laufen gelassen werden. Falls du irgendwo kein WLAN verwenden kannst, ist auch eine Verbindung über das USB-Kabel möglich. Dazu braucht der Computer aber einmalig eine Treiberinstallation und die Karte unter Umständen ein Firmware-Update (was dann ohne WLAN nicht geht).
Wozu braucht es eine eigene Hardware?
Die erste Frage, die bei mir aufgetaucht ist: Wieso brauche ich überhaupt eine Karte, wenn ich sowieso auf meinem normalen Computer programmiere? Wäre es nicht besser, ich könnte auch gleich dort die Programme laufen lassen – auf einem schönen grossen 4K-Bildschirm?
Für die Existenz der Hardware gibt es eine Reihe von Gründen. Erstens: Die Programme lassen sich auf der Karte dauerhaft speichern, damit sie unabhängig vom Editor funktionieren. Durch die Programmierung von Spielen kann sie zum Beispiel zu einer kleinen, einfachen Handheld-Konsole werden.
Zweitens: Alle drei Karten haben einen 3D-Beschleunigungssensor eingebaut. So können zum Beispiel Geschicklichkeitsspiele programmiert werden, die auf deinem «normalen» PC nicht funktionieren würden.
Eine der drei Karten, die Oxocard Science, verfügt über zahlreiche weitere Sensoren. Sie können die Temperatur, den Luftdruck, die Luftfeuchtigkeit, den CO2-Gehalt, die Licht- und Infrarotstärke, den Schallpegel und die dominante Schallfrequenz messen.
Einrichten der Oxocard
Der Hersteller hat mir eine Powerbank namens Oxocharger und ein sogenanntes Gooseneck-USB-Kabel mitgeliefert. Ich finde vor allem das Kabel sehr praktisch. Es lässt sich in eine bestimmte Form biegen und hält diese Position dann – ähnlich wie der Arm einer Leselampe. Die Powerbank ist schwer genug, um die Karte mit dem USB-Kabel zu halten. Strom verbraucht die Karte sehr wenig, das Akkupack hält schätzungsweise mehrere Tage.
Das Gerät wird in zwei Schritten mit dem heimischen Netz verbunden. Zuerst fotografierst du einen QR-Tag vom Bildschirm der Karte ab, wodurch eine Wifi-Direct-Verbindung entsteht. Dann übermittelst du das WLAN-Passwort an die Karte. Die Karte verbindet sich darauf hin mit deinem WLAN und lädt bei Bedarf Firmware-Updates herunter.
Danach rufst du den Webeditor auf. Bevor du loslegen kannst, musst du den Editor mit der Karte verbinden. Dazu gibst du einen dreistelligen Code ein, den dir die Karte anzeigt. Diesen Schritt musst du nur einmal ausführen, es sei denn, du hast mehrere Oxocards am Start.
Zahlreiche Beispiele
Mit diesem Editor hast du Zugriff auf zahlreiche Beispielprogramme, die du alle mit einem Klick ausprobieren kannst. Das Lernprinzip besteht darin, diese Programme abzuändern und so zu verstehen, was die einzelnen Befehle und Werte bewirken. Zu vielen Programmen – vor allem den grundlegenden – gibt es ein Tutorial, das dir Schritt für Schritt das Programm erklärt.
Programmiert wird in Oxoscript. Tatsächlich hat Oxon eigens eine Programmiersprache für die Karten erfunden. Oxoscript ist stark an Python angelehnt. Wenn du Oxoscript lernst, wirst du später schnell auch mit Python zurechtkommen. Python selbst ist für die Minicomputer zu leistungshungrig.
Ich finde die Programmbeispiele im grossen Ganzen sehr gut gelungen. Zum Beispiel wird das trockene, aber wichtige Thema Zufallszahlen mit hübschen Kreisen visualisiert. Das Programm bleibt mit nur sieben Zeilen trotzdem sehr simpel.
Neben dem Grundlagenteil gibt es für die drei Karten weitere Programmbeispiele. Die Karte «Galaxy» ist auf Spiele ausgerichtet und enthält neben zahlreichen Demos die drei Spiele-Klassiker Asteroids, Lunar Lander und Miner. «Artwork» ist ähnlich, hat den Fokus aber auf grafischen Effekten. Für «Science» gibt es Beispiele, was du mit den Messdaten der Sensoren anstellen kannst. So gibt dir ein Programm Hinweise, ob die Wohnung gelüftet werden sollte. Oder eine Blume zeigt durch ihr Gesicht an, ob sie glücklich ist – sprich, ob sie genug Licht bekommt.
Grundsätzlich sind alle Programme für alle Karten verfügbar. Du kannst also auch mit der Science-Karte Asteroids spielen und abändern. Es wird bloss kein Sound ausgegeben, weil die Science-Karte als einzige keinen Lautsprecher hat. Die Programme, die Luftdruck, Temperatur und ähnliches auslesen, funktionieren hardwarebedingt nur mit der Science-Karte.
Schnelle Erfolge
Obwohl ich mit Python kaum vertraut bin, komme ich schnell voran – viel schneller etwa, als wenn ich auf dem C64 etwas in Basic programmiere. Python, respektive Oxoscript, ist eine moderne Programmiersprache, in der du eigene Funktionen und Objekte definieren kannst. Dank der vielen Beispiele muss ich kaum je bei null beginnen. Zudem hilft mir die durchsuchbare Dokumentation. Wenn ich mal wieder vergessen habe, wie eine for-Schlaufe in Python/Oxoscript geht, kann ich das im Editor nachschlagen.
Nicht zuletzt befindet sich auf der Karte ein moderner Chip. Der ESP32 mit 2 MB RAM ist speziell für Entwicklerboards wie die Oxocard gemacht. Für die simplen Programme reicht seine Leistung locker aus. Es dauert ungefähr eine Sekunde, um ein Programm auf die Karte zu beamen und zu starten.
Durch die Beispiele und die Dokumentation habe ich in etwa einer halben Stunde ein Skript fertig, das die Umgebungslautstärke anzeigt. Und zwar nicht nur den aktuellen Messwert, der sehr zufällig ist, sondern den Durchschnitt der letzten zehn Messungen.
Die Oxocards haben jedoch auch ihre Limiten. Ich hatte beispielsweise die Idee, ein Gitarrenstimmgerät zu programmieren. Schliesslich kann die Oxocard Science mit dem eingebauten Mikrofon die dominante Frequenz messen. Allerdings wird der Wert nur auf 125 Hz genau berechnet. Für ein Stimmgerät viel zu wenig.
Auch meinen Versuch, ein Musikstück zu programmieren, gab ich nach einiger Zeit auf. Zwar lassen sich auf den Modellen Galaxy und Artwork neben fünf vorgefertigten Sound-Effekten auch Einzeltöne abspielen. Und damit eine Melodie. Mehrstimmig geht allerdings nicht, und der Ton überschlägt sich sehr schnell. Auch stürzte das Gerät bei der Soundausgabe wiederholt ab. Wenn Sound und Musik für dich wichtig sind, ist die Oxocard nicht das ideale Gerät.
Grösste Limite: Der Bildschirm
Für Games ist der Bildschirm etwas gar klein. Insbesondere, wenn sich Figuren schnell bewegen sollen. Diese müssen eine gewisse Grösse haben, damit man sie überhaupt erkennt und auseinanderhalten kann. Dadurch wird es eng auf dem Bildschirm. Sehr gut ist das am Beispiel-Game Asteroids zu sehen. Sobald die Asteroiden ins Bild kommen, sind sie schon fast beim Raumschiff. Das Spiel muss daher langsam laufen, um überhaupt spielbar zu sein, und es macht trotz besserer Grafik weniger Spass als das Original von 1979.
Man kann das aber auch sportlich nehmen: Auf einem so kleinen Bildschirm ein Spiel mit gutem Gameplay zu machen, ist eine spannende Herausforderung. Frogger, ein weiterer mitgelieferter Klassiker, ist ein Beispiel, wie das gelingen kann. Das Spiel ist trotz Mikro-Bildschirm gut spielbar. Natürlich hast du auch Zugriff auf den Quellcode des Spiels.
Fazit: Leichter Einstieg, macht Spass
Es gibt zahlreiche andere Entwicklerboards, die bekanntesten dürften der Arduino und der Raspberry Pi sein. Aber die Oxocard ist mit eigenem Bildschirm, Tasten und weiterer Hardware ein vollständiges System. Nicht so leistungsfähig wie ein Raspberry Pi, dafür fällt der Einstieg leichter. Du bekommst alles mit, was du brauchst, inklusive nützlicher und teilweise ausführlich erklärter Programmbeispiele. Ich finde das Konzept sehr gelungen.
Unabhängig vom Alter: Wer Freude am Programmieren hat, dürfte Gefallen an den Minicomputern finden. Die Science-Variante ist für Erwachsene eindeutig am interessantesten. Mit ihren Sensoren hat sie das Potenzial für nützliche Anwendungen, die über blosse Spielereien hinausgehen. Schade ist nur, dass sie keinen Lautsprecher hat. So lässt sich kein Warnton ausgeben, wenn ein Messwert über- oder unterschritten wird.
Die beiden anderen Karten Galaxy und Artwork verfügen über eine Soundausgabe, ansonsten haben sie, abgesehen vom Preis, keine Vorteile. Ihre Beispielprogramme lassen sich auch auf der Oxocard Science ausprobieren und abändern. Die Soundmöglichkeiten sind zudem recht rudimentär. Meine Empfehlung für programmierinteressierte Erwachsene ist somit die Oxocard Science und das sehr praktische Gooseneck-USB-Kabel.
Titelbild: David LeeDurch Interesse an IT und Schreiben bin ich schon früh (2000) im Tech-Journalismus gelandet. Mich interessiert, wie man Technik benutzen kann, ohne selbst benutzt zu werden. Meine Freizeit ver(sch)wende ich am liebsten fürs Musikmachen, wo ich mässiges Talent mit übermässiger Begeisterung kompensiere.