CircuitPython in Version 7: Die einfachste Art, Microcontroller zu programmieren
CircuitPython wurde geschaffen, um Maker-Boards einfach für Lehre und Hobby zu programmieren. Version 7 erweitert es um viele Boards und weitere Hardware.
- Carsten Wartmann
Mit Version 7 seiner Firmware für Python-fähige Maker-Boards unterstützt der Hersteller Adafruit viele neue Boards. Die selbstbewusste Aussage "The easiest way to program microcontrollers!" (Die einfachste Art, Microcontroller zu programmieren) kommt nicht von ungefähr – die hervorragende Dokumentation, weite Verbreitung und der gute Hardware-Support sorgen tatsächlich für Erfolgserlebnisse.
CircuitPython ist ein Abkömmling von MicroPython und wurde primär von Adafruit für die eigenen Boards geschaffen, um den Kunden eine sichere Umgebung für Experimente zu bieten. Mittlerweile ist CircuitPython aber über die Grenzen des Herstellers gewachsen – die beiden Dialekte unterstützen ähnliche Hardware und befruchten sich gegenseitig. Viel Wert wird bei Adafruit darauf gelegt, dass die unterstützte Hardware von den Libraries (Module in Python) vollständig und dokumentiert abgebildet wird.
Am einfachsten lädt man die für sein Board passende Firmware von der Download-Seite bei Adafruit, wo man sein Board direkt auswählen kann und so die richtige Version bekommt. Eine Besonderheit bei CircuitPython ist, dass sich die Boards als Laufwerk anmelden und man die Python-Sources dort direkt editieren kann. Das Installieren einer neuen Firmware geschieht bei modernen Boards auf ganz ähnliche Weise, indem man den Reset-Taster zweifach tippt oder das Board mit gehaltenem Boot-Taster ansteckt. Auf das nun eingebundene Laufwerk legt man dann die neue Firmware (.UF2) ab.
Die Neuerungen in CircuitPython Version 7 sind unter anderem:
- CircuitPython-Entwicklung im Browser (Chrome) über BLE
- Kamera-Unterstützung auf ESP32S2
- qrio: QR-Code lesen
- Tastatur-Scanning-Modul
- Laufzeit-Konfiguratuion für USB-Geräte
- MicroPython-Features und -Fehlerbehebungen von MicroPython 1.16
- Viele neue Module/Libraries
- board.LED für alle Boards mit LED
- Unicode-Dateinamen
- Board-ID in boot_out.txt und als board.board_id abrufbar
- und vieles mehr.
(caw)