Die PIOs lassen sich programmieren, richten sich aber völlig auf I/O aus. Das Designziel war Voraussagbarkeit, exaktes Timing und gute Zusammenarbeit mit den anderen, spezielleren Hardware-Einheiten des Chips, wie den I2C- und SPI-Blöcken. Dank der PIOs erledigt der RP2040 I/O-Aufgaben quasi nebenbei. Um exaktes Bit-Banging muss sich der Programmierer nicht mehr kümmern und er kann über die PIOs spezielle Protokolle abwickeln, etwa für DPI, VGA, Duplex-SPI oder WS2812-LEDs.
Der Vorteil für Bastler liegt auf der Hand, denn für spezielle Hardware-Lösungen (SD-Karten, VGA) gab es sofort bei Verfügbarkeit des Neulings oder kurz danach viele Beispiele und Implementierungen. Sogar wer PIOs nicht selbst programmieren will oder kann, profitiert deshalb davon.
Mehr als nur Hardware
Im Gegensatz zu diversen chinesischen Hardware-Schmieden, die interessante Mini-Rechner ohne Doku oder Software-Support auf den Markt werfen, hat die Foundation mit dem Launch auch umfangreiches und unverzichtbares Beiwerk veröffentlicht [1]. Dazu zählen nicht nur mehrere Hundert Seiten Dokumentation, sondern auch Entwicklungswerkzeuge, Beispiele und Tutorials.
Neben C-Programmen läuft auf dem RasPi Pico beziehungsweise RP2040 auch MicroPython und CircuitPython [2]. Die Foundation unterstützt Ersteres, Letzteres ist Adafruits Fork von MicroPython. Den haben die Entwickler auf Einfachheit und Unabhängigkeit von einer Plattform getrimmt und mit sehr vielen Bibliotheken für alle erdenkliche Peripherie flankiert.
Es gibt Unterschiede, aber für den schnellen Einstieg in die Hardware-nahe Programmierung eignen sich beide Python-Varianten gleich gut. Der Autor hat dies schon für ein Kondensatormessprogramm genutzt [3]. Nach Anpassung der Pin-Nummern lief die für den Trinket-M0 geschriebene CircuitPython-Anwendung ohne Mucken auch auf dem RasPi Pico.
Für C-Programmierer gibt es ein umfassendes Software Development Kit (SDK) mit guter Dokumentation, Tutorials und Beispielen. Das Thema ist im Vergleich zu Python naturgemäß etwas komplexer, deshalb werden wir uns in den nächsten Ausgaben auch dem SDK und der Programmierung für den RasPi Pico intensiver widmen.
Fazit
Die Foundation hat mit dem RP2040 fast alles richtig gemacht; es fehlt eigentlich nur noch eine Variante des Chips in einem Formfaktor für das Handlöten. Sofort nach dem Erscheinen hat sich ein Ökosystem rund um den Chip gebildet, und das nicht nur im Hardware-Bereich. Selbst Arduino hat angekündigt, den RP2040 mit seinen Core-Bibliotheken zu unterstützen. Damit laufen dann auf einen Schlag Tausende existierender Sketches mit minimalen Anpassungen auch auf dem RP2040.
Das Pin-Monster verdrängt aller Voraussicht nach keine anderen Mikrocontroller, dazu ist der Neuling für diese Klasse einfach zu teuer und physisch zu groß. Viele Projekte stellen geringere Anforderungen und kommen problemlos mit deutlich kleineren Chips aus. Aber zum Lernen und Entwickeln selbst großer Anwendungen bietet der RP2040 alles, was der Maker braucht. (jlu)
Der Autor
Bernhard Bablok arbeitet bei der Allianz Technology SE als SAP-HR-Entwickler. Wenn er nicht Musik hört oder mit dem Rad respektive zu Fuß unterwegs ist, beschäftigt er sich mit Themen rund um Linux, Programmierung und Kleincomputer. Sie erreichen ihn unter mailto:[email protected].
Infos
- Einstiegsseite: https://www.raspberrypi.org/documentation/rp2040/getting-started/
- CircuitPython für den Pico: https://circuitpython.org/board/raspberry_pi_pico/
- Kondensatormessgerät: Bernhard Bablok, “Nachgemessen”, RPG 05-06/2021, S. 48, https://www.raspi-geek.de/45654





