Raspberry Pi Pico: CircuitPython

CircuitPython ist ein vollständiger Python-Compiler und eine Laufzeitumgebung, die auf einer Mikrocontroller-Hardware ausgeführt wird. CircuitPython ist ein Fork von MicroPython und damit eine Software-Implementierung der Programmiersprache Python 3 für Mikrocontroller.

Die Entwicklung von CircuitPython wird von Adafruit Industries vorangetrieben. Die Abspaltung von MicroPython kam durch Konflikte zwischen den Entwicklern. Die Idee von CircuitPython ist, eine Programmiersprache anzubieten, die auf allen unterstützten Mikrocontroller-Boards gleichermaßen funktionieren sollte. Außerdem sollten die unterstützten Python-Bibliotheken in CircuitPython identisch sein. Im Gegensatz dazu weisen die MicroPython-Implementierungen zwischen den Boards Unterschiede auf und auch manche Python-Bibliotheken haben einen unterschiedlichen Funktionsumfang.
Es ist nicht auszuschließen, dass sich CircuitPython und MicroPython wieder annähern.

CircuitPython enthält neben der für Benutzer wichtigen interaktiven Eingabeaufforderung (die REPL), eine Auswahl von Python-Kernbibliotheken und Module, die dem Programmierer Zugriff auf die Low-Level-Hardware, sowie Bibliotheken auf höherer Ebene ermöglichen.

Unterstützung für CircuitPython gibt es für manche Mikrocontroller-Boards mit Mikrocontrollern von Atmel, Nordic nRF52840, Adafruit, SparkFun, Arduino und den Raspberry Pi Pico.

Dokumentation

Besonderheiten von CircuitPython

  • CircuitPython hat eine fast konsistente API über alle unterstützten Mikrocontroller-Boards. Das bedeutet, dass ein in CircuitPython geschriebener Programmcode fast auf allen CircuitPython-Boards läuft. Außer den Pin-Nummern und bestimmter Mikrocontroller-Besonderheiten sind keine Anpassungen erforderlich.
  • CircuitPython hat einige Bibliotheken und Funktionen fest integriert, für die für MicroPython noch nicht einmal eine externe Bibliothek existiert.
  • Für CircuitPython existiert eine umfassende Bibliothek von Treibern für Sensoren, Displays und andere externe Geräte und Module.
  • CircuitPython gibt es in unterschiedlichen Sprachversionen. Neben Englisch existiert auch Deutsch und viele weitere Sprachen. Wählt man die deutsche Sprachversion, dann sind Fehlermeldungen und deren Beschreibung in deutscher Sprache.
  • CircuitPython bindet den Mikrocontroller standardmäßig als Laufwerk ins Dateisystem ein.

Warum mit CircuitPython programmieren?

  • Für CircuitPython gibt es von Adafruit eine umfassende Dokumentation mit vielen Beispielen, praxisnahen Anwendungen und kommerziellen Projekten.
  • CircuitPython hat eine insgesamt umfassendere Unterstützung für externe Geräte als MicroPython. Zum Beispiel lassen sich mit nur wenigen Zeilen Programmcode mit dem Raspberry Pi Pico eine USB-Tastatur oder -Maus emulieren.
  • CircuitPython kann nicht nur digitale Ausgänge schalten, sondern auch Signale emulieren.
  • CircuitPython integriert regelmäßig neue MicroPython-Versionen. Manche MicroPython-Programmcodes funktionieren deshalb auch mit CircuitPython.

Raspberry Pi Pico: CircuitPython oder MicroPython?

Zum Programmieren von Raspberry Pi Pico wird MicroPython empfohlen. Es ist eine Programmiersprache, die ganz speziell für Programmier-Anfänger gemacht ist, die ihre ersten Schritte mit Hardware-naher Programmierung machen möchten.
Demgegenüber ist CircuitPython nicht so viel anders. Es weist an manchen Stellen Vereinfachungen und Verbesserungen gegenüber MicroPython auf, auf die man irgendwann nicht mehr verzichten mag. Somit kann man CircuitPython als Geheimtipp bezeichnen.

Muss man jetzt die eigenen MicroPython-Programmcodes auf CircuitPython umschreiben? Nein, sicherlich nicht. Wenn was mit MicroPython läuft, dann sollte das auch so bleiben.
CircuitPython ist immer dann interessant, wenn etwas mit MicroPython nicht realisierbar ist. Weil es nicht unterstützt oder noch nicht unterstützt wird und man einfach nicht warten möchte, bis es irgendwann eine Lösung oder Integration gibt.

CircuitPython installieren

Um einen Raspberry Pi Pico mit CircuitPython programmieren zu können, muss zuerst die CircuitPython-Firmware heruntergeladen und auf den Pico kopiert werden.

Programmieren mit CircuitPython

Zum Programmieren des Raspberry Pi Pico mit CircuitPython wird der Mu-Editor empfohlen. Wenn man schon Erfahrung mit der Thonny Python IDE hat, dann geht das auch mit dieser Editor sehr gut.

Zum Ausführen von Programmen muss die Datei mit dem Namen „code.py“ gespeichert werden. Nach dem Speichern wird die Datei automatisch ausgeführt.

Weitere verwandte Themen:

Frag Elektronik-Kompendium.de

Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython

Elektronik-Set Pico Edition

Das Elektronik-Set Pico Edition ist ein Bauteile-Sortiment mit Anleitung zum Experimentieren und Programmieren mit MicroPython.

  • LED: Einschalten, ausschalten, blinken und Helligkeit steuern
  • Taster: Entprellen und Zustände anzeigen
  • LED mit Taster einschalten und ausschalten
  • Ampel- und Lauflicht-Steuerung
  • Elektronischer Würfel
  • Eigene Steuerungen programmieren

Elektronik-Set jetzt bestellen Online-Workshop buchen

Online-Workshop: Programmieren mit dem Raspberry Pi Pico

Programmieren mit dem Raspberry Pi Pico

Gemeinsam mit anderen und unter Anleitung experimentieren? Wir bieten unterschiedliche Online-Workshops zum Raspberry Pi Pico und MicroPython an. Einführung in die Programmierung, Sensoren programmieren und kalibrieren, sowie Internet of Things und Smart Home über WLAN und MQTT.

Online-Workshop buchen

Besuchen Sie unser fast monatlich stattfindendes Online-Meeting PicoTalk und lernen Sie uns kennen. Die Teilnahme ist kostenfrei.

Termine und Newsletter-Anmeldung

 

Elektronik-Sets für das Hardware-nahe Programmieren