Designpraxis mit Maker-Tools Mikrocontroller nicht nur für die Schule!

Seit mehr als einem Jahr ist der BBC micro:bit genannte Mikrocontroller der BBC verfügbar. In Deutschland hat sich die gemeinnützige Calliope GmbH das Ziel gesteckt, mit dem Calliope mini einen für die Anforderungen der Grundschule geeigneten Mikrocontroller bereit zu stellen.

Um das erste Jahr zu feiern, hat die BBC Zahlen veröffentlicht, die die positiven Auswirkungen des BBC micro:bit unter Schülern und Lehrer in Großbritannien zum Gegenstand hatten [1]. Von Heise wurde bereits im letzten Herbst eine Variante des Calliope mini vorgestellt [2] und von zahlreichen Kommentaren begleitet. Nun sind auch die Unterstützer der Startnext-Kampagne, der größten Crowdfunding-Plattform in Deutschland, Österreich und der Schweiz an der Reihe, mit dem finalen Calliope mini v1.0 beliefert zu werden [3].

Ob man mit dem Calliope mini die vielleicht größtmögliche Umwälzung des deutschen Schulsystems in der Hand hält, wie Patrick Beuth in der Zeit schreibt [4], kann ich nicht beurteilen. Ich möchte an dieser Stelle einen Blick auf die mit beiden Systemen zur Verfügung stehende Technik werfen sowie Gemeinsamkeiten und Unterschiede verdeutlichen. 

Mikrocontroller-Boards 

Beide Mikrocontroller-Boards sind technisch vergleichbar ausgestattet und weisen als Kern einen nRF51822 Mikrocontroller von Nordic Semiconductors auf. Der nRF51822 ist ein Multiprotokoll-System-on-Chip (SoC), das sich ideal für Bluetooth Low Energy (BLE) und Ultra-Low-Power-Wireless-Anwendungen bei 2,4 GHz eignet. Kern des nRF51822 SoC ist eine 32-bit-ARM-Cortex-M0-CPU mit 256 KB Flash-Speicher und 16 KB RAM. Ein eingebetteter 2,4-GHz-Transceiver unterstützt sowohl BLE als auch den Nordic Gazell 2,4-GHz-Protokoll-Stack. Zusätzlich ist noch ein NXP MKL26Z (Cortex-M0+) auf den Boards, der als Interface-Prozessor für den USB-Port dient.

Die Stromversorgung der beiden Boards erfolgt über einen Micro-USB-Anschluss, der auch zur Datenübertragung genutzt wird, oder einen JST-Anschluss für eine Batterie. 

Wenn auch im Kern sehr vergleichbar, kommen die beiden Mikrocontroller-Boards doch in sehr unterschiedlicher Form daher. Bild 1 zeigt beide Boards im direkten Größenvergleich.

Beim BBC micro:bit ist an der Unterkannte eine Platinensteckerleiste mit GPIO-Anschlüssen vorhanden, von denen drei eine Verbindung mittels Krokodilklemmen oder Bananensteckern ermöglichen. Verschiedene dieser Anschlüsse sind über einen Analog-Digital-Umsetzer (ADC) als analoge Eingänge sowie für eine Kommunikation über I²C oder SPI nutzbar. Zwei weitere über Krokodilklemmen beziehungsweise Bananenstecker zugängliche Kontakte (3 V/GND) stellen eine Stromversorgung für externe Hardware bereit.

Diese Platinensteckerleiste ermöglicht eine einfache Verbindung mit Erweiterungsboards. Das BBC micro:bit Edge-Connector-Breakout-Board ist eine solche Erweiterung. Es gibt aber weitere, auf die ich noch verweisen werde.

Beim Calliope mini wurde diese Platinensteckerleiste nicht übernommen, da wegen der viel zu eng liegenden Kontakte im Schuleinsatz mit ständigen Kurzschlüssen durch die Schüler gerechnet werden müsste. Außerdem konnten bei einer notwendigen Anpassung noch Bauteile vorgesehen werden, die gerade im Schuleinsatz tolle Experimente erlauben. Hier sind insbesondere der Lautsprecher, eine RGB-LED, ein Mikrophon und ein Motortreiber (H-Brücke) zu nennen. Zusätzlich stellen die beiden Grove-Connectoren einen I2C-Bus, einen UART-Anschluss sowie einen analogen Eingang zur Kontaktierung von Sensoren oder Aktoren des umfangreichen Grove-Systems zur Verfügung. Eine gute Übersicht zum Grove-System bietet [5].

Obwohl bei den Anpassungen großer Wert auf maximale Kompatibilität zum britischen Vorbild gelegt wurde, ist diese durch eine veränderte Pinbelegung nur bedingt erreicht worden.

Eine vergleichende Übersicht zu den technischen Daten der beiden Mikrocontroller-Boards zeigt Tabelle 1.

 BBC micro:bitCalliope mini
CPUNordic nRF51822
Clock16 MHz, 32.768 kHz
Flash
256 KB
RAM16 KB
Communication
BLE 2,4 GHz & Antenne
ButtonsA & B & Reset
LED Matrix5 × 5
LEDStatus-LED
RGB LED
IOP0 - P22 (I2C, SPI, UART)P0 - P25 (I2C, SPI, UART)
USBMicro-USB Plug 
BatterieLiPo Battery Plug 

Sensoren

Freescale MMA8652, 3-Achsen-Beschleunigungsmesser

Freescale MAG3110, 3-Achsen-Magnetometer

(On-Chip) Temperatursensor

LED als Lichtsensor

Bosch BMX055, 9-Achsen-Beschleunigungsmesser, Gyroscope und Magnetometer

Peripherie

-

-

-

Mikrofon, Lautsprecher

2 Grove-Verbinder (I2C, UART, Analog) TI Motortreiber DRV8837 zum Anschluss von zwei Motoren

Stromversorgung3,3 V, GND
Zubehör

Edge Conn. Breakout Board Servo:Lite Board AMP:BIT class D amplifier micro:pixel Edge 1×10 WS2812B SparkFun weather:bit SparkFun moto:bit Bit:2:Pi Bit:Bot Robot

nein
Communityvorhanden
im Aufbau
Programmiersprachen
JavaScript Blocks Editor, MicroPython, C++, NEPO

JavaScript Blocks Editor, NEPO, (MicroPython), (C++)

Preis (EXP-Tech)
EUR 16,85
EUR 35,00

 

Tabelle 1: Technische Daten BBC micro:bit & Calliope mini.

Neben dem bereits beschriebenen Formfaktor liegen die Unterschiede bei den eingesetzten Sensoren. Durch den Einsatz des BMX055 von Bosch auf dem Calliope mini konnten die beiden Freescale-Sensoren (MMA8652, MAG3110) auf dem BBC micro:bit abgelöst werden. Bei der Peripherie gibt es die durch den Anpassungsprozess gewünschten Erweiterungen, die beim BBC micro:bit so nicht vorhanden sind.

Allerdings ist beim Zubehör der BBC micro:bit mit seiner klassischen Platinensteckerleiste klar im Vorteil. Hier ist durch diese Form des Interfaces und die längere Zeit am Markt eine Vielzahl an Erweiterungsmodulen für die unterschiedlichsten Anwendungen entstanden. In Tabelle 1 sind davon nur einige beispielhaft gelistet.

Tabelle 2 zeigt die unterschiedliche Pinbelegung von BBC micro:bit und Calliope mini. Diese müssen bei der Portierung von Programmen entsprechend berücksichtigt werden. 


nRF51822

micro:bit

Calliope mini
P0.00SCLP0
P0.01P2P1
P0.02P1P2
P0.03P0P3 (MIC)
P0.04COL1P4 (LED_C1)
P0.05COL2P5 (LED_C2)
P0.06COL3P6 (LED_C3)
P0.07COL4P7 (LED_C4)
P0.08COL5P8 (LED_C5)
P0.09COL6P9 (LED_C6)
P0.10COL7P10 (LED_C7)
P0.11COL8P11 (LED_C8)
P0.12COL9P12 (LEDC_9)
P0.13ROW1P13 (LED_R1)
P0.14ROW2P14 (LED_R2)
P0.15ROW3P15 (LED_R3)
P0.16P16P16 (TAST_B)
P0.17BTN AP17 (TAST_A)
P0.18P18P18 (RGB LED)
P0.19TGT nRSTP19 (SCL)
P0.20P20P20 (SDA)
P0.21MOSIP21 (BMX055 INT)
P0.22MISOP22
P0.23SCKP23
P0.24TGT TxDP24 (TxD)
P0.25TGT RxDP25 (RxD)
P0.26BTN BP26 (Rx)
P0.27ACC INT2P27 (Tx)
P0.28ACC INT1P28
P0.29MAG INT1P29
P0.30SDAP30

 

Tabelle 2: Pinbelegung BBC micro:bit und Calliope mini.