Suchen

Software-Entwickler an die Hardware, Teil 3 Alternativen zur Arduino IDE

| Autor / Redakteur: Mirco Lang / Stephan Augsten

Für kleinere Arduino-Projekte genügt die hauseigene IDE. Allerdings verlangt es vermutlich vor allem Software-Entwickler nach der Hardware-Schlacht nach etwas Komfort – und vielleicht einer anderen Programmiersprache.

Firma zum Thema

Die Arduino IDE ist recht einsteigerfreundlich, es gibt allerdings auch gute Alternativen.
Die Arduino IDE ist recht einsteigerfreundlich, es gibt allerdings auch gute Alternativen.
(Bild: nicklbaert / Unsplash)

Die offizielle Arduino-IDE ist für Einsteiger im Grunde perfekt: Ein simpler Editor mit Syntax Highlighting, eine Bibliotheksverwaltung, ein serieller Monitor, viele eingebaute Beispiele, simple Upload-Optionen und noch ein paar Kleinigkeiten – mehr braucht es zu Beginn nicht.

Die Arduino IDE in der Webversion.
Die Arduino IDE in der Webversion.
(Bild: Lang / Arduino.cc)

Der C++-mäßige Code lässt sich außerdem nicht nur in der Desktop-IDE unter Windows, Linux und macOS verarbeiten, sondern auch in der Online-Version direkt im Browser. Und wer es besonders schlank haben möchte, kann auch auf die noch in der Entwicklung befindliche offizielle Kommandozeilenversion ausweichen: Arduino CLI gilt offiziell noch als instabil und bietet bislang im Wesentlichen die Funktionen der grafischen IDE, inklusive der Bibliotheksverwaltung.

Aber vielleicht möchte der erfahrene Software-Entwickler etwas mehr Komfort, eine gewohnte Arbeitsumgebung, eine andere Sprache oder erweiterte Editor-Funktionen wie komplexes Suchen-und-Ersetzen, Autovervollständigung und so weiter nutzen – und dafür gibt es einige Alternativen.

Sloeber

Für viele Entwickler dürfte die Suche nach der passenden IDE an dieser Stelle schon beendet sein: Sloeber [http://eclipse.baeyens.it/index.shtml] ist eine Erweiterung für Eclipse beziehungsweise dessen Plug-in CDT (C/C++ Development Tooling). Sloeber spendiert Eclipse im Grunde die komplette originale Arduino-IDE-Erfahrung bis hin zu übernommenem Button-Design.

Allerdings gibt es einige weitreichende Pluspunkte: Zunächst steht freilich die ganze Macht von Eclipse zur Verfügung. Sloeber bringt zudem reichhaltige Suchmöglichkeiten mit sich, erlaubt das Bearbeiten von mehreren Dateien oder gar Projekten gleichzeitig sowie umfangreichere farbliche Hervorhebungen im Code. Zudem bekommen Sie auch direkten Zugriff auf den Quellcode des Arduino-Cores und der Bibliotheken – Aspekte, die die Standard-IDE vor Nutzern verbirgt, da sie vor allem auf Einsteiger und Nicht-Profis zugeschnitten ist.

Die IDE-Erweiterung gibt es schon seit einigen Jahren und auf den Github-Projektseiten zu Sloeber sind auch aktuelle Beiträge zu verzeichnen. Perfekt ist Sloeber – natürlich – nicht, was sich vor allem in den Punkten zeigt, die in der offiziellen IDE funktionieren, in Sloeber jedoch nicht. Erfreulicherweise wird all jenes transparent über GitHub Issues dokumentiert und gegebenenfalls durch Workarounds ergänzt.

PlatformIO IDE

PlatformIO mit eigener Toolleiste in VSC.
PlatformIO mit eigener Toolleiste in VSC.
(Bild: Lang / Microsoft / PlatformIO)

PlatformIO ist eine Plattform für die Entwicklung von Embedded-Projekten hat durchaus beeindruckende Zahlen vorzuweisen: Unterstützt werden 37 Plattformen, 22 Frameworks und 885 Boards, zu Verfügung stehen zudem 222 Beispielanwendungen und 10.239 Bibliotheken. Und zu den unterstützten Systemen gehört eben auch Arduino samt etlicher Boards.

Die IDE ist wie auch Sloeber als Erweiterung angelegt, in diesem Fall für Microsofts quelloffenen Editor Visual Studio Code. Nach der Installation stehen die PlatformIO-Funktionen über dessen eigene Toolbar am unteren Bildschirmrand zur Verfügung. Die Vorteile ähneln denen von Sloeber: Anpassung der Arbeitsumgebung, Code-Vervollständigung, mehr Build-Optionen, besserer Zugriff auf den Code und so weiter.

Der Umstieg ist für Einsteiger allerdings nicht ganz so simpel wie bei Sloeber, da sich optisch nicht so sehr an die Original-IDE angelehnt wird. PlatformIO ist die erste Wahl für VSC-Nutzer und für alle, die nicht nur mit Arduino, sondern auch weiteren Embedded-Plattformen arbeiten wollen.

Johnny-Five

Der Name dürfte jedem nicht mehr ganz so jungen Entwickler schon verraten, um was es geht: Robotics. Johnny-Five ist keine IDE, sondern ein Framework, um insbesondere Robotern per JavaScript Leben einzuhauchen, basierend, wie so oft, auf Node.js. Das Framework kann in beliebigen IDEs genutzt werden oder auch schlicht in einem Texteditor.

Über Variablen wird die Bibliothek samt Vorgaben geladen, das Board-Setup läuft automatisch und schon können Sie Arduino-Anwendungen via JavaScript statt C++ schreiben. Im Sinne der Robotik genügt ein Arduino-Board freilich nicht, Johnny-Five lässt sich aber auch auf dem Raspberry Pi nutzen – in Kombination mit einem Arduino die typische Hardware-Basis für Projekte rund um größere oder kleinere Roboter und komplexe Geräte.

Alternativ können Sie auch auf das Johnny-Five Inventor's Kit zurückgreifen, das statt auf das Duo Arduino/Raspberry Pi auf einen Tessel 2 setzt, ein speziell für IoT-Projekte auf Node.JS-Basis entwickeltes Board.

pyFirmata

Arduino mit Python? Kein Problem! Das Kernstück heißt hier pyFirmata und ähnelt im Grunde dem Johnny-Five-Framework insofern, dass es mit beliebigen IDEs und Editoren genutzt werden kann und eine Alternative zur Standardprogrammiersprache anbietet.

Der Name verrät es, das Open-Source-Werkzeug basiert auf dem Firmata-Protokoll, das die Kommunikation mit diversen Microcontrollern ermöglicht und selbst auf dem MIDI-Format basiert. Nach der Installation über ein übliches ...

pip install pyfirmata

... können Sie in Ihrem Python-Skript schlicht die Arduino-Funktion von pyFirmata importieren und fast schon loslegen mit der Python-Logik.

Zumindest beinahe, denn das Board-Setup ist hier nicht vollautomatisch, zumindest den gewünschten Port müssen Sie manuell festlegen. Bei vom Standard abweichenden Layout dürfen Sie zusätzlich festlegen, wie viele digitale und analoge Anschlüsse es gibt, wo PWM verfügbar ist, welche IOs deaktiviert/resierviert sind und so weiter.

Xcode

Apple-Nutzer dürften in der Regel auch an die Programmierung mit Xcode gewohnt sein – und müssen sich für Arduino-Projekte auch nicht davon verabschieden. Mit der Vorlage embedXcode arbeiten Sie einfach in der simplen Xcode-Oberfläche, bekommen im Gegensatz zur Arduino IDE Dinge wie Autovervollständigung, Syntaxchecks, Warnungen, Tool-Tipps und einen Objekt-Browser. EmbedXcode bringt somit wenige, aber durchaus nützliche spezifische Funktionen mit sich, der Hauptzweck ist, bei Xcode bleiben zu können.

Es gibt embedXcode auch in einer kostenpflichtigen Plus-Variante, die zum Beispiel weitere Plattformen unterstützt (Adafruit, Microduino, Intel Curie, ESP32 und mehr), deutlich mehr vorkonfigurierte Boards beinhaltet (219 statt 56), mit Vorlagen umgehen kann, Targets über Build und Serial-Upload hinaus anbietet (Debug, Make, Distribute etc.) und weitere Vereinfachungen liefert (parallele Build-Prozesse, externer Debugger, vorkompilierte Bibliotheken und andere). Letztlich ist für die Plus-Version auch Support erhältlich.

KTechLab

Das Open-Source-Programm KTechLab fällt eher unter die Kategorie „eine Erwähnung wert“: Das offiziell nicht veröffentlichte Tool existiert scheinbar schon seit zwölf Jahren, wird sporadisch gepflegt und soll irgendwann auch mal eine Homepage bekommen.

Dennoch: KTechLab bezeichnet sich als IDE für Microcontroller und hat einen wirklichen USP: Es kann Boards samt Schaltkreisen komplett simulieren! Sie können also einen virtuellen Arduino Uno nehmen, mit etlichen virtuellen Kabeln, Aktoren, Sensoren, Widerständen etc. bestücken und letztlich eigene Sketches direkt in der IDE darauf testen.

Fritzing

Fritzing ist der Standard für Arduino-Projekte.
Fritzing ist der Standard für Arduino-Projekte.
(Bild: Lang / Fritzing)

Zu guter Letzt noch einen Software-Tipp für Hardware-Entwicklung, die, unabhängig von der genutzten IDE, für jeden Nutzer interessant ist: Fritzing ist ein wunderbares Programm zum virtuellen Basteln von Schaltungen, das vor allem einen riesigen Vorrat an Arduino-Boards, -Shields und -Zubehörteilen zur Verfügung stellt. Schaltungen können auf dem üblichen Steckbrett erstellt werden, aber auch Ansichten für einen regulären Schaltplan und Leiterplatten stehen zur Verfügung.

Als quasi experimentelles Feature verfügt Fritzing mittlerweile auch über einen Bereich für den Code: Sketches lassen sich in dieser Minimal-IDE erstellen und auf angeschlossene Boards hochladen. Der Gedanke dahinter: Code und Layout können in einem Projekt gespeichert werden. Fritzing ist zudem die Standardanwendung, wenn es um Workshops, Dokumentation, Vorträge und dergleichen geht.

Wenn Fritzing jetzt noch die KTechLab-Virtualisierung beherrschen würde, wäre das Paradies für Software-Entwickler, die sich an der Hardware-Entwicklung versuchen perfekt. Vielleicht in ferner Zukunft.

(ID:46833740)

Über den Autor

 Mirco Lang

Mirco Lang

Freier Journalist & BSIler