Der BBC micro:bit – Teil 1: erste Eindrücke

Der micro:bit ist ein Mikrocontroller Projekt für Schulen, entwickelt unter der Federführung der BBC. Nachdem 1 Million davon kostenlos an britische Schüler verteilt wurden, gibt es den Mikrocontroller seit einigen Wochen auch für normale Endanwender zu kaufen. Zeit für eine Einführung, was in dem kleinen Kerl steckt.

Bezugsquellen

In Deutschland ist der micro:bit derzeit noch nicht zu bekommen, aber britiche Online Shops liefern auch nach Deutschland. Dank des niedrigen £ und (noch) zollfrei sind die Sachen innerhalb einer Woche in Deutschland. Zu den Shops zählen:

  • Pimoroni 13 £ für den micro:bit zzgl. 4 £ Versandkosten
  • Kitronik 15 £ für den micro:bit

Dem micro:bit Board, das es in mehreren Farben gibt, liegt noch ein kurzes Micro-USB Kabel und ein Batteriefach mit 2 AAA Zellen bei. Somit kann man sofort loslegen.

Hardware

Auf dem Micro:Bit werkelt zwei ARM Cortex M0 CPUs, der Haupt Prozessor ist von Nordic Semiconductor, der nRF51822. Als USB Controller kommt ein NXP ARM Cortex M0 der Kinetis KL26 Serie zum Einsatz.
Im Gegensatz zu anderen Boards wie dem Arduino stecken auf dem Basisboard bereits eine Reihe an Sensoren und Aktoren.

Hardware Übersicht

  • ARM Cortex M0 CPU, 16MHz, 16kB RAM, 256kB Flash, Nordic nRF51822
  • 3-Achsen Beschleunigungssensor NXP MMA8653
  • elektonischer Kompass NXP MAG3110
  • 2 Taster
  • 5×5 LED Matrix (rot, dimmbar)
  • Lichtsensor (über die LEDs der LED Matrix
  • Temperatursensor
  • Bluetooth BLE 4.0
  • USB Controller (seriell, Massenspeicher) ARM Cortex M0+ CPU, 128kB Flash, NXP MKL26Z128VFM4 (M26H7V)
  • SPI über den Erweiterungs Port
  • I2C über den Erweiterungs Port
  • 6..17 IO Pins (je nach Anwendung) über den Erweiterungs Port, 6x Analog, 17x Digital, 3x Touch (ähnlich dem Makey Makey)
IMG_5892.JPG

IMG_5891.JPG

Der Erweiterungs Stecker ist leider nicht sehr bastelfreundlich ausgelegt. Über 4mm Bananenstecker bzw. Krokoklemmen sind nur 3 IO Pins erreichbar dazu 3V und GND. Das reicht für einfache Experimente. Wer mehr möchte sollte bei der Bestellung gleich das Edge Connector Breakout Board mit bestellen oder eines der vielen Experimentiert Kits . Ich habe mich für das Prototyping Kit entschieden.

Pin Belegung

Die Pin Belegung des Erweiterungs Port:
xdossmmf.jpg

Quelle: microbit.co.uk

Wie man sieht, sind nicht alle 17 IO Pins verfügbar. Einige sind schon durch die LED Matrix und Taster belegt. So bleiben letztendlich je nach Anwendung nur 6 bis 17 Ports zur freien Verwendung. Dazu kommen noch die beiden Pins des I2C Bus dazu. Das sollte für viele Anwendungen ausreichend sein. Ansonsten gibt es diverse Port Expander ICs für I2C und SPI.

PinFunktionSonderfunktionBesonderheiten
P0analog, digital, touchfür Krokoklemmen, 4mm Bananenstecker
P1analog, digital, touchfür Krokoklemmen, 4mm Bananenstecker
P2analog, digital, touchfür Krokoklemmen, 4mm Bananenstecker
P3analog inLED Col. 1
P4analog inLED Col. 2
P5digitalButton A
P6digitalLED Col. 9
P7digitalLED Col. 8
P8digital
P9digitalLED Col. 7
P10analog inLED Col. 3
P11digitalButton B
P12digital
P13digital, SCKSPI Takt
P14digital, MISOSPI Data In
P15digital, MOSISPI Data Out
P16digital
P19SCLI2C Takt
P20SDAI2C Daten

Weiter Informationen zur micro:bit Hardware findet man:

Software

Programmiert werden kann der micro:bit mit einer Reihe von Online IDEs, die einfach im Browser gestartet werden. Dazu muss nichts installiert werden. Einfach im Browser den gewünschten Editor auswählen und loslegen. Das Programm wird online übersetzt und das compilierte Binary kann dann heruntergeladen werden. Per Drag & Drop werden die Binarys dann mittels File Manager auf den micro:bit Laufwerk geladen, dass beim Anstecken des micro:bit über ein Micro USB Kabel sichtbar wird. Der mcro:bit kann auch über Bluetooth vom Smartphone/Tablet aus progammiert werden. Dazu wird die micro:bit App für Android bzw. Apple iOS benötigt. Nach kurzer Zeit startet der Prozessor dann mit dem neuen Programm.

Alle Editoren basieren auf der Laufzeitumgebung micro:bit DAL (Device Abstraction Layer) der Universität Lancaster. Die Laufzeitumgebung wiederum basiert auf der ARM mbed IoT Device Plattform und der Nordic nRF51 Plattform.

Online Editoren

Es gibt eine ganze Reihe von Online Editoren, die Browser basiert arbeiten. Vorteil: man benötigt keine Cross Compiler Umgebung, muss nicht installieren.
Zu den derzeit verfügbaren Online Editoren gehören:

EditorProgrammier Sprachegrafisch/textbasiertBluetooth/Radio SupportServo/PWM Supportonline/offline IDESimulator
Code KingdomsJavaScriptj/jj/jn/j (Port 0,12)j/nj
Microsoft PXTJavaScriptj/jj/jj/j (Port 0,1,2,3,4,10)j/jj
Microsoft Block Editorläßt sich nach Microsoft Touch Develop portierenj/nj/jj/jj/nj
Microsoft Touch DevelopVisual Basicn/jj/jj/jj/nj
mbed C++C/C++n/jj/jj/j (Port 0,1,2,3,4,10)j/jn
MicroPythonPythonn/jn/jj/j (Port 0,1,2,3,4,10)j/jn

Wer noch keinen micro:bit besitzt, kann die Programme auch im Simulator testen. Der verhält wie das Original. Das virtuelle Board kann sogar gedreht und geschüttelt werden. So bekommt man einen Eindruck, wie sich das Programm später auf der echten Hardware verhält.

simulator.jpg

Anfangs war ich etwas skeptisch was die Online Editoren betrifft. Drag & Drop Programmierung a la Scratch liegt mir nicht sonderlich, aber oh Wunder: die Editoren lassen sich umschalten. Von rein grafischer Bedienung bis hin zum normalen Texteditor. Zwischen 4 Stufen vom Anfänger bis zum Pro kann man beim Code Kingdoms Editor wählen. Und man kann jederzeit zwischen den verschiedenen Ansichten hin und herwechseln. So lassen sich z.B. sehr im grafischen Editor kleine Grafiken zusammenklicken, die man auf der LED Matrix anzeigen möchte. Dann wechselt man in den Text Editor und schriebt weiter an seinen Programm.

Hier mal zum Vergleich ein Screenshot mit grafischer und Text Darstellung des selben Programm Codes.

BBC-microbit.jpg

Wenn man ein paar Tutorials durchprobiert hat, kommt man wirklich auf den Geschmack. Das kleine Teil macht echt Laune. Es ist kinderleicht, damit Programme zu erzeugen. wesentlich einfacher als mit Arduino & Co. Das ist auch das Hauptanliegen für die Entwicklung gewesen. In England sollen schließlich Schüler der 7. Klasse damit das Programmieren lernen.

Offline IDEs

Mit dem Microsot PXT, MicroPython und mbed C++ kann man auch offline arbeiten und übersetzen. Die Installation der IDEs ist nicht besonders schwierig aber auch nichts für Anfänger.

Über die Offline IDEs werde ich in den kommenden Teilen näher eingehen.

Der Microbot an deutschen Schulen

Auch an deutschen Schulen soll im nächsten Jahr eine Bildungsinitiative gestartet werden, basierend auf dem micro:bit. Zwei Kandidaten gehen dafür ins Rennen:

Bayduino

Der Bayduino ist Bayerns Antwort auf den Arduino. Basierend auf dem ATmega8U32, der auch auf dem Arduino Leonardo bzw. Micro steckt. Ein micro:bit kompatibler Erweiterungs Steckverbinder sollen micro:bit Erweiterungen nutzbar machen. Die Programmierung kann wahlweise mit der Arduino IDE oder OpenRoberta erfolgen. Statt 2 Tasten, wie beim micro:bit gibt es 4 Tasten. Die LED Matrix hat 8×8 LEDs. Dazu kommt noch ein Gesten Sensor. Bluetooth oder andere drahtlose Anbindung sind leider Fehlanzeige (soll über Erweiterungen möglich sein).

Calliope

Der Calliope kommt dem micro:bit schon näher. Neben dem gleichen Prozessor besitzt das Board noch über eine RGB LED, einen Dual Motor Treiber, Mikrofon und einem Lautsprecher. Statt der Spezial Steckerleiste gibt es 4 IOs für Bananenstecker, bzw. Krokoklemmen , dazu 3V und GND Klemmen an den Ecken des 6-eckigen Boards. An die weitern Pins erreicht man durch eine normale Stiftleiste. Insgesamt eine vielversprechende Lösung.

Fazit

Trotz oder gerade wegen des minimalistischen Ansatzes ist der micro:bit echt der Hammer. Da steckt sehr viel Potential drin. Gerade für Anfänger, denen der Einstieg mit dem Arduino zu hoch war, ist der micro:bit genau der richtige. Aber das Ding ist auch reizvoll für Leute, die bereits programmieren können und denen der Arduino nicht mehr neues bietet.

Einige Nachteile sollte man nicht verschweigen:

  • Bei Verwendung von Krokoklemmen, kann es leicht zu Kurzschlüssen kommen
  • Der Erweiterungsport ist nicht sehr bastlerfreundlich
  • Noch nicht ganz ausgereifte Online Editoren
  • Probleme mit Bluetooth, siehe auch Golem

Mehr dazu dann in den nächsten Teilen der micro:bit Serie:

2 Antworten auf „Der BBC micro:bit – Teil 1: erste Eindrücke“

  1. Mal eine kurze Frage, ich brauche tiefgehende Informationen über die Programmierung von Industrierobotern für ein Referat. Wo komme ich da an sehr spezielle Lektüre heran?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

20 + 20 =