Raspberry Pi: CircuitPython
Ein Raspberry Pi ist bekanntlich kein Mikrocontroller, sondern ein Einplatinen-Computer. Manche Modelle sind jedoch so klein, dass man sie auf den ersten Blick leicht mit einem Mikrocontroller-Board verwechseln kann.
CircuitPython ist ein Fork von MicroPython und damit eine Software-Implementierung der Programmiersprache Python 3 für Mikrocontroller. CircuitPython ist eine Laufzeitumgebung, die normalerweise auf einer Mikrocontroller-Hardware ausgeführt wird.
Um Programmcode für CircuitPython auf einem Raspberry Pi auszuführen, gibt es zwei Möglichkeiten.
- CircuitPython als klassischer Interpreter
- Bare Metal CircuitPython wie einem Mikrocontroller
CircuitPython als klassischer Interpreter
Wie bei Python und MicroPython kann man den CircuitPython-Interpreter als Anwendung installieren und den Programmcode über die Konsole bzw. eine Entwicklungsumgebung ausführen.
Bare Metal CircuitPython, wie bei einem Mikrocontroller
Bare Metal (oft fälschlich als „Bar Metal“ geschrieben) bedeutet in der IT, dass Software direkt auf der Hardware läuft. Normalerweise befindet sich zwischen einem Anwendungsprogramm und der Hardware ein Betriebssystem oder eine zusätzliche Virtualisierungsschicht.
Bare Metal bedeutet, dass der Programmcode direkt auf der Hardware läuft. Das ist typisch bei Mikrocontrollern und Embedded Systems.
Bei Bare Metal CircuitPython für den Raspberry Pi wird der Einplatinen-Computer sozusagen als Mikrocontroller-Board verwendet. Darauf läuft der CircuitPython-Interpreter ohne Betriebssystem, der den Programmcode ausführt.
Dabei profitiert man von der hohen Rechenleistung und vom größeren Speicher, den der Raspberry Pi im Vergleich zu einem Mikrocontroller hat.
Einer der Hauptvorteile von Bare Metal CircuitPython auf dem Raspberry Pi ist jedoch die einfache Verwendung der HDMI-Schnittstelle, was kein typischer Mikrocontroller unterstützt.
Einschränkungen
Leider werden nicht alle Bestandteile von CircuitPython auf dem Raspberry Pi unterstützt. Beispielsweise fehlen wichtige Module wie „analogio“, „pwmio“, „wifi“ und weitere, weshalb manche Dinge einfach nicht realisierbar sind. Konkret bedeutet das bei diesen 3 Modulen, dass die Unterstützung für ADC, PWM und WLAN nicht vorhanden sind. Und wegen der Hardware-Nähe lässt sich auch nicht einfach Software nachinstallieren. Wir haben hier kein Betriebssystem.
Fazit
CircuitPython auf einem Raspberry Pi zu nutzen ist nur eingeschränkt sinnvoll. Grundsätzlich profitiert man von der hohen Rechenleistung, dem größeren Speicher und zusätzlichen Schnittstellen wie HDMI. Allerdings ist die Unterstützung von Hardwarefunktionen eingeschränkt, da wichtige Module wie ADC, PWM oder WLAN fehlen und sich auch nicht einfach nachrüsten lassen.
Raspberry Pi als Mikrocontroller mit CircuitPython programmieren
Zum Programmieren eines Raspberry Pi mit der Bare-Metal-Version von CircuitPython eignet sich die Entwicklungsumgebung Thonny Python IDE. Sie bietet eine einfache Oberfläche, um Code zu schreiben, zu speichern und auszuführen.
Weitere verwandte Themen:
- Raspberry Pi: Bare Metal CircuitPython
- Raspberry Pi: Linux-Distributionen und Betriebssysteme
- Raspberry Pi OS
- Raspberry Pi: Linux-Distributionen für kleine Speicherkarten (Minimal-Image)
- Raspberry Pi: Welches Betriebssystem?
Frag Elektronik-Kompendium.de
Produktempfehlungen
Elektronik-Set Raspberry Pi Edition
Elektronik erleben mit dem Raspberry Pi mit Python und GPIO Zero
- Leichter Einstieg ins Hardware-nahe Programmieren mit Python und GPIO Zero
- Experimentieren und Programmieren ohne Vorkenntnisse
- Sofort Loslegen mit All-in-one-Set
Elektronik-Fibel
Elektronik einfach und leicht verständlich
Die Elektronik-Fibel ist ein Buch über die Grundlagen der Elektronik, Bauelemente, Schaltungstechnik und Digitaltechnik.


