Fast jedes mal, wenn man ein neues Projekt plant, stellt man sich die selbe Frage: Welcher Microcontroller passt am besten in zu dem Projekt? Über diese Entscheidungsfindung hielt ich am 23. Januar 2021 einen Vortrag auf der “Pi and More 12¼“: Wann sollte man welche Entwicklungsplattform einsetzen, damit das Projekt auf einer guten Basis entwickelt werden kann?

Die Optionen scheinen grenzenlos zu sein: Allein die Arduino-Familie umfasst 34 Produkte, die Raspberry Pi Foundation hat seit 2012 immerhin 12 Raspberrys für den Otto Normalverbraucher (also ohne die speziellen Compute Modules) auf den Markt gebracht. Daneben gesellen sich eine dreistellige Anzahl an weiteren Entwicklungsboards, die von vielen verschiedenen Herstellern vertrieben werden. Also ist es dringend an der Zeit, in diesem Jungel zumindest für ein bisschen Ordnung zu sorgen.

Die Möglichkeiten

Als erstes sollte man sich entscheiden, ob man zu einem Entwicklungsboard mit Microprozessor (MPU, z.B. die Raspberry Pi-Serie) oder mit Microcontroller (MCU, z.B. die Arduino-Familie) in das Projekt einbinden will. Beide Optionen haben Vor- und Nachteile in der Integration.

Allgemein gilt folgendes: Wer auf ein vollwertiges Betriebssystem (Linux, BSD, Windows 10 IOT Core, …) angewiesen ist und/oder viel Speicherplatz benötigt, sollte am besten zum Microprozessor greifen. Für wen jedoch ein niedriger Stromverbrauch und niedrige Kosten eine größere Rolle spielen, der sollte sich lieber in der Landschaft der Microcontroller umschauen. Genauere Beweggründe finden sich in den Folien der Präsentation. Außerdem kann ich einen sehr guten Artikel von der Firma Atmel empfehlen zu diesem Thema, dort werden auch nochmal die genaueren Beweggründe aufgeschlüsselt und zusätzlich Beispiele gegeben:

Wenn es dann um die konkrete Auswahl der Plattform geht, wird die Sache nochmal zusätzlich schwieriger: Mehrere hundert Entwicklungsboards stehen zur Verfügung, viele dutzend Hersteller überbieten sich mit verschiedenen Funktionen und Preisen in allen Segmenten. Deshalb will ich hier die beliebtesten Boards behandeln, die circa 95% des Marktes ausmachen: Die Entwicklungsplattform Arduino, die Raspberry Pi-Familie und die Microprozessoren der Firma espressif (ESP32 und ESP2866) sowie die Teensy-Boards und die BeagleBoards (von Texas Instruments, Digi-Key und Newark element14).

Ein Arduino Uno.

Der Arduino

Die Arduino-Produktfamilie sollte den meisten ein Begriff sein, als ein Grundstein der Makerbewegung und einer der ältesten Hersteller für Microcontroller-Entwicklungsboards hat sich die italienische Firma einen Namen gemacht. Für Einsteiger besonders gut geeignet ist die sog. Arduino IDE, die Entwicklungsumgebung für Arduino-Boards. Die Arduinos werden meistens mit einem Atmel-Microcontroller ausgestattet, eine lebendige Add-On-Landschaft (auch “Librarys” genannt) unterstützt auch bei der Kommunikation mit komplexeren Sensoren.

Die Arduino-Boards lassen sich grob in zwei Kategorien aufteilen:

Einsteiger-Boards:

  • Arduino Uno, ein auf dem ATmega328P basierendem Microcontrollerboard. Kein gigantischer Speicher und nicht sehr viele I/O-Pins, doch sehr erschwinglich und super für Einsteiger geeignet.
  • Arduino Nano, Technisch ähnlich zum Arduino Uno, nur deutlich kleiner und direkt auf Breadboards steckbar. Gut geeignet für Projekte, die keinen gigantischen Funktionsumfang bieten müssen und gleichzeitig platzmäßig limitiert sind.
  • Arduino Nano Every, wie der Arduino Nano, nur mit größerem Speicher
  • Arduino Leonardo, optisch ähnlich zum Arduino Uno, nur mit der Möglichkeit, sich als Tastatur und Maus auszugeben und somit z.B. Spielecontroller-Projekte umzusetzen.

Boards mit erweiterten Funktionen:

  • Arduino Mega 2560, ein Microcontroller mit größerem Speicher und viel mehr I/O-Pins. Perfekt für größere Projekte, die auf viele Erweiterungsmöglichkeiten setzen.
  • Arduino Mega 2560 Pro, vergleichbar mit dem Arduino Mega 2560, nur auf deutlich kleinerem Fußabdruck. Kein offizelles Produkt der Arduino LLC, jedoch technisch identisch zum Arduino Mega 2560.
  • Arduino Pro Mini, das kleineste Board in dieser Liste. Ohne eingebauten USB-Anschluss gut für Projekte, bei denen es auf jeden Millimeter ankommt.
  • Aruino Zero, ein Board mit einem 32-Bit-Prozessor sehr viel Rechenleistung und mehr Speicherplatz. Außerdem ist eine Debug-Schnittstelle vorhanden, die die Fehlersuche erleichtert.
  • Arduino Due, der Arduino Mega 2560 kombiniert mit dem Ardino Zero (32-Bit Prozessor, mehr Speicher)

Die Raspberry Pi-Familie

Während die Arduinos fast ausschließlich auf sogenannten Microcontrollern aufbauen, sind Raspberry Pis ausschließlich Microprozessorboards, die mit Linux laufen. Eine Ausnahme da stellt der Raspberry Pi Pico vor, der diese Woche veröffentlicht wurde. Dieser hat zwar einen Microprozessor, er läuft aber ohne richtiges Betriebssystem eher vergleichbar mit einem Arduino.

Die Raspberry Pis, die mit Linux laufen und für Heimanwender gedacht sind, lassen sich in zwei Kategorien aufteilen:

Die Model B-Serie, die viel Leistung und Anschlüsse bieten, und die Zero-Serie, die auf minimalen Stromverbauch und geringer Größe für sich wirbt.

Ein Raspberry Pi 4 Model B, das aktuelle Flagschiff der Raspberry Pi Foundation.

Raspberry Pi Model B-Serie

Mit vielen Anschlüssen und hoher Leistung ist die klassische Serie der Raspberry Pi-Boards universell gut bei allen Projekten einsetzbar, die nicht grade Batteriebetrieben werden müssen. Auf den neueren Boards finden sich vier Cortex-A72 Kerne, die bei einer Taktung von 1,5 GHz in einer Verbindung mit einem Broadcom Dual Core VideoCore VI sogar zweimal 4K-Auflösungen über Micro-HDMI ausgeben können. Bis zu 8192 MB RAM können ausgerüstet werden, 26 GPIO-Pins bieten viel Platz für Erweiterungen (z.B. HiFiBerry). WiFi und Bluetooth ist seit der dritten Generation an Board. Ein Stromverbrauch von bis zu 7 Watt ist auch noch im Rahmen, vor allem im Bezug zur Leistung.

Raspberry Pi Zero-Serie

Die Zero-Serie ist inzwischen etwas in die Jahre gekommen (wird mal Zeit für eine Neuauflage :)), doch bietet mit dem besonders geringen Stromverbrauch trotzdem noch einen Reiz für bestimmte Projekte. Neben dem kleinen Stromverbrauch ist auch der Platzbedarf klein, ein Raspberry Pi Zero (und Zero W/WH) benötigt grade einmal 65 mm auf 30 mm. Die Technischen Daten des Boards sind Vergleichbar mit der ersten Raspberry Pi-Generation: Ein 32-Bit ARM11 Prozessor(-kern) kann auf 512 MB RAM zugreifen, ein Broadcom Dual Core VideoCore IV kann maximal 1080p bei 30 Hz ausgeben. Die W und WH-Auflage des Raspberry Pi Zeros unterstützen zudem WiFi und Bluetooth.

Espressif ESP2866 und ESP32-Microcontrollerboards

Mit dem Aufstieg von Smart Home und Sensoren, die ihre Daten ins Internet versenden, stieg auch ein Typ von Microcontrollern ganz besonders auf: Die chinesische Firma Espressif mit Ihren ESP2866er-Microcontrollern stellte schon früh 32-Bit Microcontroller her, die den Internetaspekt grundlegend mitgedacht hatten. Der ESP2866, der zu erst veröffentlicht wurde, wurde richtig bekannt erst 2014 durch ein Projekt der Firma Ai-Thinker (ESP-01 Modul). 2016 folgte dann der Nachfolger des ESP2866: Mit dem ESP32 fügte Espressif dem Gesamtpakt zusätzlich Bluetooth hinzu, außerdem wurde der Prozessor beschleunigt und der Speicher vergrößert.

In der Szene der Heimanwender werden meistens zwei Boarddesigns verwendet: Die der NodeMCU-Reihe und die der WEMOS-Reihe. Die NodeMCU-Reihe wird in der Version 2 und 3 verkauft, den WEMOS trifft man vor allem in der “D1 Mini” Variante an – einem der kleinsten Boards für ESPs heutzutage.

Empfehlenswert ist der Einsatz von den ESP-Boards vor allem, wenn Daten ins oder Informationen aus dem Internet gezogen werden sollen.

Teensy-Boards

Die Teensy-Boards, auf dem Bild in der Version 4.0 abgebildet, sind eine sehr leistungsstarke Platform: Ein 600 MHz ARM Cortex-M7-Prozessor kann sehr komplexe Rechenaufgaben in kurzer Zeit lösen, dazu bietet die Plattform sehr viele Anschlüsse und eine ganze Menge Möglichkeiten, komplexe Projekte zu realisieren: Viel Speicher und spezielle Kryptographie-Beschleunigungen sind nur ein Teil der Funktionen, die man in große Projekte einbauen kann.

BeagleBoards

Die BeagleBoards sind ein Urgestein der Einplatinencomputer, die mehr oder weniger regelmäßig mit neuen Funktionen von einer großen Community versorgt werden. Inzwischen gibt es BeagleBords für sehr viele verschiedene Anwendungszwecke, darunter ist auch ein Modell mit RISC-V Prozessorarchitektur.

Die Boards sind von der Geschwindigkeit nicht direkt mit den Raspberry Pis vergleichbar, haben jedoch einen kleinen RAM und, verfügen aber teilweise über einen größeren Speicher.

//Changelog:

22.04.2021: Schreibfehler behoben (danke Martin für den Hinweis!)