Anders als der Name vermuten lässt, handelt es sich bei der Hex-Datei zunächst um eine Textdatei: Die Adresse und Bytes sind als Text ausgeschrieben (Listing 5). Das File schrumpft deshalb, sobald das System den ASCII-Text in Binärzahlen umwandelt. Das erklärt, warum die Hex-Datei mit mehr als 500 KByte in den Micro:bit-Speicher mit einer Speicherkapazität von 256 KByte passt.
Listing 5
:020000040000FA :1000000000400020218E01005D8E01005F8E010006 :1000100000000000000000000000000000000000E0 [...]
Das Flashen des Micro:bit über einen angeschlossenen Rechner ist elegant gelöst: Das Modul meldet sich als USB-Stick im Dateisystem des Rechners an, sodass es genügt, die Hex-Datei dorthin zu kopieren. Erkennt der Micro:bit das Format, wandelt er den Inhalt in eine Byte-Sequenz und schreibt diese sofort in den Flash-Speicher des Mikrocontrollers. Andernfalls verbleibt die Datei im USB-Speicher, wie bei einem normalen Speicherstick.
Zwar überschreibt jedes Flashen die alten Daten, doch beim Abklemmen der Spannungsversorgung bleiben sie erhalten. Der Micro:bit führt das einmal aufgespielte Programm aus, sobald Sie das Modul wieder mit Strom versorgen.
Ausblick
Zwar ist die MicroPython-Software ausführlich dokumentiert [4], nicht aber die Hardware des Micro:bit. Vermutlich sind die Ausgänge kurzschlussfest, möglicherweise begrenzen sie auch den Strom auf 10 oder 90 mA. Darüber finden sich aber keine belastbaren Aussagen. Deshalb sollten Sie beispielsweise Leuchtdioden nur über einen Schutzwiderstand anschließen.
Der Mikrocontroller verfügt intern über eine breite Palette von Interfaces, er beherrscht neben I2C, SPI, LIN sowie UART auch USB und USB OTG. Viele der 23 Ein-/Ausgänge wurden auch nach außen geführt, allerdings nur als einfache Platinensteckkontakte, die Sie nur über einen Spezialstecker nutzen können.
Das von der Calliope gGmbH betreute deutsche Projekt Calliope Mini [5] sieht sich als Weiterentwicklung des Micro:bit. Schaltpläne und Software des Calliope Mini stehen als Open Hardware beziehungsweise Open Source zur freien Verfügung, daneben gibt es mehrere Anleitungen als Open Educational Resources.
Das Board verfügt über zusätzliche Sensoren wie Mikrofon und Lautsprecher sowie über vier I/O-Kontakte für Krokodilklemmen statt drei wie beim Micro:bit. In der Größe des Speichers unterscheiden sich beide Module nicht. Alle weiteren Interface-Kontakte führen die Calliope-Entwickler über einen leicht zugänglichen Pfostenstecker nach außen.
Fazit
Der BBC Micro:bit folgt einem wohl durchdachten Konzept, um Anfänger zielgerichtet an die Programmierung von Mikrocontrollern heranzuführen und ihnen den Umgang mit modernen Hochsprachen wie Python beizubringen.
Allerdings verschlingt der MicroPython-Interpreter Speicher und kostet Geschwindigkeit. Wer aber einen Mikrocontroller bis zur Leistungsgrenze ausreizen möchte, greift ohnehin besser zu einem Arduino und der dazugehörigen Programmierumgebung. In einem Folgeartikel werden wir die Möglichkeiten eines Calliope unter MicroPython untersuchen.
Glossar
- BBC
-
British Broadcasting Corporation. Die 1927 gegründete öffentlich-rechtliche britische Rundfunkanstalt betreibt eine Reihe von Hörfunk- und Fernsehprogrammen sowie einen Internet-Nachrichtendienst.
- gGmbH
-
Gemeinnützige GmbH. Von der Körperschafts- und Gewerbesteuer befreite Gesellschaft mit beschränkter Haftung. Alle Gewinne müssen für den gemeinnützigen Zweck verwendet werden.
Infos
- BBC Micro:bit: https://www.microbit.org
- Arduino: https://www.arduino.cc
- Programmieren mit dem Python-Editor Mu: Roland Pleger, “Ganz ohne Gift”, RPG 08/2019, S. 18, http://www.raspi-geek.de/42236
- MicroPython-Dokumentation: https://microbit-micropython.readthedocs.io/en/latest/index.html
- Calliope: https://calliope.cc





