Inhaltsverzeichnis

Swift ist in Augen vieler die schönste Programmiersprache. Doch bisher hat man, wenn man an diese denkt, eher iPhone und iPad im Kopf als Mirkocontroller wie den Raspberry Pi Pico. Bei diesen denkt man eher an Old-School C. Wie dies dank GitHub Copilot nicht so sein muss, erfahrt ihr im folgenden Beitrag.
Wieso, weshalb, warum?
Wer Dr. Windows und mich schon länger verfolgt, weiß, dass ich in den vergangenen Jahren sehr viele Projekte mit dem Raspberry Pi umgesetzt habe. Seien es kleiner Daten-Logger oder ganze Roboter mit Display auf Basis von .NET. Der klassische Raspberry Pi war für mich so etwas wie das Schweizer Taschenmesser der Bastelwelt: leistungsfähig genug für kleine Server, Smart-Home-Steuerungen oder Medienprojekte und gleichzeitig gut dokumentiert, mit einer riesigen Community im Rücken. Doch in letzter Zeit hat sich die Situation spürbar verändert. Die Preise für aktuelle Raspberry-Pi-Modelle sind deutlich gestiegen und liegen inzwischen auf einem Niveau, das ich für viele Hobbyprojekte nicht mehr verantworten kann. Selbst ältere Modelle sind oft nur zu überhöhten Preisen oder gar nicht mehr sinnvoll verfügbar.
Hinzu kommt ein zweites Problem, das sich erst mit der Zeit so richtig bemerkbar gemacht hat: Der langfristige Hardware-Support von Drittanbietern, die Erweiterungsmodule, HATs und Shields für den Raspberry Pi anbieten, lässt stark zu wünschen übrig. Viele Produkte werden zwar einmal veröffentlicht, aber danach kaum gepflegt. Dokumentation ist veraltet, Treiber werden nicht aktualisiert, und bei neuen Raspberry Pi-Versionen ist oft unklar, ob ein bestimmtes Modul überhaupt noch zuverlässig funktioniert. An die sich immer ändernden Python-Versionen denken wir jetzt schon mal erst gar nicht. Für jemanden, der gerne experimentiert, ist das frustrierend, denn man möchte sich auf seine Hardware verlassen können.
Aus dieser Kombination aus steigenden Preisen und nachlassendem Ökosystem ist bei mir die Frage entstanden, ob es nicht einen anderen Weg gibt. Einen Weg, der günstiger ist, weniger von großen Plattformen abhängt und trotzdem Spaß macht. Die Antwort darauf habe ich in kleinen Mikrocontrollern gefunden, allen voran stehen ESP32-er und Raspberry Pi Pico mit seinem RP2040-Chip. Ein solches Board kostet ab rund drei Euro, ist robust, gut dokumentiert und eignet sich hervorragend für Experimente. Aus dieser Idee ist mein Projekt Swift Embedded Garden entstanden.
Was ist Swift Embedded Garden?
Swift Embedded Garden ist ein kleines Projekt meinerseits, das frei verfügbar auf GitHub liegt und als eine Art Spielwiese für Swift auf dem Raspberry Pi Pico dient. Die Grundidee ist, zu zeigen, dass man mit einer modernen Sprache wie Swift auch auf einem Mikrocontroller arbeiten kann, ohne sich tief in C oder Assembler einarbeiten zu müssen. Das Repository enthält eine klare Struktur mit Bereichen für die Anwendung, die Board-Unterstützung und die Hardware-Anbindung. Es nutzt das offizielle Raspberry Pi Pico SDK und bindet es über CMake ein, sodass man den Code sauber bauen und auf den Pico flashen kann.
Ein einfaches Beispiel ist ein LED-Blinkprogramm, das über eine sauberes und Swift-freundliches Interface auf die GPIO -Pins des RP2040 zugreift. Dazu kommen Skripte für macOS, die den Build- und Flash-Prozess automatisieren, sodass man nicht jedes Kommando von Hand eintippen muss. Das Projekt ist bewusst so angelegt, dass es als Ausgangspunkt für eigene Ideen dienen kann. Wer möchte, kann weitere Treiber hinzufügen, etwa für WS2812B-LEDs, Sensoren oder Motorsteuerungen, und sich Schritt für Schritt in die Welt der Mikrocontroller vorarbeiten.
Auch wenn man dieses „mehr“ an Funktionen nicht benötigt, beinhaltet das Swift Embedded Garden Repository auch ein Script, mit dem man eine einfachere Version des Programmes schön sauber sich aufsetzen lassen kann. Inklusive dem Herunterladen aller benötigender Dateien und Bibliotheken, dem setzen von Terminal-Befehlen und anderen Dingen, die man grundlegend machen muss, bevor man überhaupt an die Entwicklung eigener Programme denken kann.
Raspberry Pi 5 versus Raspberry Pi Pico: Ein einfacher Vergleich
Um zu verstehen, warum ein Projekt wie Swift Embedded Garden überhaupt interessant ist, lohnt sich ein einfacher Vergleich zwischen einem Raspberry Pi 5 und einem Raspberry Pi Pico. Der Raspberry Pi 5 ist ein vollwertiger Einplatinencomputer. Er hat einen leistungsstarken Prozessor, mehrere Gigabyte Arbeitsspeicher, unterstützt ein komplettes Betriebssystem wie Raspberry Pi OS, bietet Anschlüsse für HDMI, USB, Netzwerk und vieles mehr. Man kann ihn wie einen kleinen Desktop-Rechner verwenden, Programme installieren, Browser öffnen und komplexe Anwendungen ausführen. Entsprechend hoch ist aber auch der Preis und der Energiebedarf.
Der Raspberry Pi Pico ist dagegen ein Mikrocontroller-Board. Es gibt kein vollwertiges Betriebssystem, sondern nur den Code, den man selbst darauf flasht. Der RP2040-Chip hat deutlich weniger Speicher und Rechenleistung, dafür aber sehr direkte Kontrolle über die Hardware. Man arbeitet näher an den Pins, steuert Signale, liest Sensoren aus und reagiert in Echtzeit. Der Pico ist extrem stromsparend, sehr günstig und ideal für Aufgaben, bei denen man keine grafische Oberfläche oder komplexe Software benötigt, sondern einfache, zuverlässige Steuerlogik. Während der Raspberry Pi 5 eher ein kleiner Computer ist, ist der Pico eher ein präzises Werkzeug für konkrete Aufgaben.
Für viele klassische Bastelprojekte, bei denen es um das Schalten von LEDs, das Auslesen von Sensoren oder das Steuern kleiner Motoren geht, ist ein Mikrocontroller wie der Pico vollkommen ausreichend. Man spart Geld, reduziert die Komplexität und lernt gleichzeitig mehr über die eigentliche Hardware. Projekte wie Swift Embedded Garden zeigen, dass man dabei nicht auf moderne Sprachen verzichten muss. Statt Python auf einem großen Pi kann man Swift auf einem kleinen Pico verwenden und trotzdem strukturierten, gut lesbaren Code schreiben.
GitHub Copilot als Schlüssel zum Projekt
Das eigentlich Spannende an Swift Embedded Garden ist für mich nicht nur die Technik, sondern die Art und Weise, wie der Code entstanden ist. Ich habe keine tiefgehenden Embedded-Kenntnisse und bin auch kein geübter C-Programmierer. Ohne GitHub Copilot wäre dieses Projekt in dieser Form schlichtweg nicht in dieser (Frei-)Zeit möglich gewesen. Copilot hat mir geholfen, Brücken zwischen Swift und C zu bauen, die richtigen Funktions-Pointer zu finden und die nötigen C-Header einzubinden. Es hat Vorschläge für CMake-Konfigurationen gemacht, die ich alleine wahrscheinlich nur mit viel Recherche hinbekommen hätte.
Besonders deutlich wurde das bei Themen wie Memory-Mapped I/O. Anstatt jedes Register im Datenblatt des RP2040 mühsam nachzuschlagen, konnte ich Copilot mit klaren Prompts dazu bringen, passende Zugriffe zu generieren und diese dann zu überprüfen. So hätte ich nie eine „warte auf abfallende Flanke“ des GPIO-Pins aus dem Stegreif hinbekommen. So entstand nach und nach ein funktionierendes Beispiel, das ich verstehen und anpassen konnte, ohne selbst alle Details von Anfang an zu kennen. Dadurch hat sich für mich eine völlig neue Art eröffnet, mit Mikrocontrollern umzugehen. Man muss nicht mehr alles wissen, bevor man anfängt. Man kann loslegen, ausprobieren und sich von der KI durch die unbekannten Bereiche führen lassen.
Wo die KI an ihre Grenzen stößt
So positiv das klingt, es wäre falsch, den Eindruck zu erwecken, dass GitHub Copilot alle Probleme magisch löst. Es gab durchaus Situationen, in denen sich die KI verrannt hat. Manchmal wurden falsche I2C oder SPI Schnittstellen vorgeschlagen, manchmal entstanden CMake-Dateien, die zwar plausibel aussahen, aber nicht kompilierten. In anderen Fällen hat Copilot hartnäckig Codevarianten vorgeschlagen, die für eine andere Plattform gedacht waren oder nicht zum RP2040 passten. In solchen Momenten musste ich sehr viel Zeit und damit auch viele Tokens investieren, um Copilot wieder auf den richtigen Weg zu bringen.
Fazit
Das bedeutet konkret, dass man trotz KI-Unterstützung nicht einfach blind alles übernehmen sollte. Es bleibt wichtig, die Vorschläge zu prüfen, Fehlermeldungen zu lesen und im Zweifel doch einen Blick in die offizielle Dokumentation zu werfen. Die Kombination aus menschlicher Kontrolle und KI-Hilfe ist hier entscheidend. Copilot kann den Einstieg enorm erleichtern und viele Hürden abbauen, aber es ersetzt nicht das Verständnis. Gerade bei Mikrocontrollern, wo falsche Registerzugriffe im schlimmsten Fall die Hardware beschädigen können, ist ein kritischer Blick unverzichtbar.
DrWindows News per WhatsApp: Abonniere unseren Kanal.
Über den Autor

Tobias Scholze
Bayrischer Open Source- und Community-Enthusiast, Verfechter des neuen Microsoft und Wandler zwischen den Betriebssystemwelten. #communityrocks
Von Herzen ein Nerd mit der festen Überzeugung, dass man gemeinsam und durch den Einsatz von moderner IT die Welt für jeden ein Stückchen besser machen kann.
Wenn Ihnen der Artikel gefallen hat, vergessen Sie nicht, ihn mit Ihren Freunden zu teilen. Folgen Sie uns auch in Google News, klicken Sie auf den Stern und wählen Sie uns aus Ihren Favoriten aus.
Wenn Sie weitere Nachrichten lesen möchten, können Sie unsere Technologie kategorie besuchen.