M5Stack – Prototyping mit ESP32
Wissenswertes zum M5Stack-Entwicklungssystem
M5Stack ist ein modulares, stapelbares Entwicklungssystem, ausgestattet mit dem leistungsstarken ESP32 Microcontroller.
Anders als bei den bekannten Entwicklungs-Plattformen wie Arduino oder Raspberry Pi, ist in der M5Stack-Entwicklungsumgebung sämtliche Peripherie in einem robusten Gehäuse aus Kunststoff verbaut. So sind der integrierte LCD-Display und die empfindliche Elektronik auf der Platine gegen äußere Einflüsse geschützt.
Der Mikrocontroller ESP32 ist ein WLAN- und Bluetooth-Chip mit Dual-Core-Prozessor und 4 MB SPI-Flash. Zusammen mit über 30 stapelbaren Modulen, über 40 erweiterbaren Einheiten und den unterschiedlichsten Programmiersprachen wie Arduino, C++, MicroPython u.v.m., lässt sich der M5Stack schnell, einfach und gezielt für jeden Anwendungsfall konfigurieren.
M5Stack ist die perfekte Lösung für schnellstes IoT-Prototyping.
Cores
Die M5Cores sind die Herzstücke der M5Stack-Entwicklungsumgebung.
Sie beinhalten die Hauptplatine und das TFT-Display.
Auf dem Board befinden sich alle nötigen Bauteile um den M5Stack betreiben zu können: ESP32-Mikrocontroller, Lautsprecher, microSD-Card-Reader, viele verschiedene Schnittstellen, eine WLAN-Antenne und - je nach Ausführung - verschiedene Sensoren.
Die Bodenplatte der M5Cores beinhaltet den Akku und weitere Schnittstellen.
Modules
Mit den Modules lässt sich der Funktionsumfang der M5Cores spielend leicht erweitern.
Es handelt sich dabei um Module mit den exakt gleichen Außenmaßen wie die M5Cores, somit können die Bauteile einfach zwischen Hauptplatine und Bodenplatte ins Gehäuse eingebaut werden.
Die Daten werden per integrierter Stiftleiste übertragen.
So lassen sich ohne Mühen GPS-Modul, Prototyping Board, Servomotor-Treiber u.v.m. integrieren.
Units
Units sind kleine Sensor- und Aktor-Elemente die per I²C-Schnittstelle an den M5Core angeschlossen werden können.
Mit Hub-Units lassen sich so viele verschiedene Einheiten kombinieren und über einen einzigen I²C-Anschluss abfragen.
Die M5Cores sind in drei unterschiedlichen Hardware-Ausstattungen erhältlich: “Basic”, “Gray” und “Fire”. Sie unterscheiden sich sowohl im Arbeitsspeicher, als auch in der integrierten Peripherie. Die jeweilige Version ist ganz einfach an der Gehäusefarbe erkennbar:
Basic = Schwarz, Gray = Grau, Fire = Rot. (Der M5Core im weißen Design ist nur als Sonderedition im IoT-Starter-Kit erhältlich und ist baugleich mit dem M5Core Fire).
Technische Daten in der Übersicht:
M5Core Basic | M5Core Gray | M5Core Fire | |
---|---|---|---|
Arbeitsspeicher RAM | 520 kB | 520 kB + 4 MB | 520 kB + 4 MB |
Flash-Speicher | 4 MB | 16 MB | 16 MB |
Akku | 150 mAh | 150 mAh | 600 mAh |
Mikrofon BSE3729 | Nein | Ja | Ja |
Lagesensor MPU6886 | Nein | Ja | Ja |
RGB-LED-Leisten | Nein | Nein | Ja |
Zubehör | USB-C-Kabel | USB-C-Kabel | USB-C-Kabel & magn. Ladestation |
Dank dem offenen Entwicklungssystem kann mit M5Stack in nahezu allen gängigen Programmiersprachen entwickelt werden. M5Stack bietet mit “UIflow” eine eigene Entwicklungsumgebung, die auf Scratch und MicroPython basiert.
Es können aber auch die beliebte Arduino IDE, sowie C++ und andere Programmiersprachen verwendet werden. Auf der Dokumentationsplattform docs.makerfactory.io finden Sie viele weitere hilfreiche Informationen und Installationsanleitungen für den M5Stack.
Häufig gestellte Fragen zum Thema M5Stack
M5Stack – Wozu brauche ich das?
Vielen Tüftler gelingt es sehr schnell, einen funktionsfähigen Prototyp zu entwickeln. Dank Breadboard, Steckbrücken und Breakout Boards lässt sich die Hardware recht einfach aufbauen. Doch sobald man dann noch Bildschirm, Tasten zur Bedienung, Akku und andere Bauteile integriert, wird der Aufbau sehr schnell unübersichtlich und fehleranfällig. Außerdem sind Development Boards wie Arduino, Raspberry PI und Co. immer nur blanke Platinen, die grundsätzlich erstmal gegen unsachgemäße Berührung geschützt werden sollten. Bei M5Stack ist dies alles nicht notwendig, da der Inhalt bereits vorinstalliert und gut geschützt im Gehäuse verbaut ist. Trotzdem sind alle wichtigen Schnittstellen nach außen geführt, um zusätzliche Peripherie einfach anschließen zu können, ohne dass das Gehäuse geöffnet werden muss.
Ist M5Stack auch mit anderen Komponenten kompatibel?
Ja. Im M5Stack-Universum sind zwar viele Sensoren, Aktoren und andere Teile enthalten, die direkt angeschlossen werden können. Der Vorteil besteht aber darin, dass es auch genauso gut möglich ist, Breakout Boards und andere Zubehörteile zu verwenden. So können bereits im Besitz befindliche Bauteile einfach weiter verwendet werden. Ähnlich gestaltet es sich mit der Programmiersprache: Dank der offenen Entwicklungsumgebung muss keine neue Programmiersprache erlernt werden. Egal ob C++, Arduino, MicroPython oder Scratch, es lassen sich nahezu alle gängigen Sprachen verwenden.
Welche Software muss ich installieren?
Der Vorteil von M5Stack liegt darin, dass man über viele verschiedene Entwicklungsumgebungen programmieren kann. Die gängigsten Systeme sind die von M5Stack entwickelte Programmierumgebung „UIflow“ und die bekannte Arduino IDE. Beide Tools können sowohl als Software zur Installation auf dem Rechner heruntergeladen werden oder online, direkt über den Browser verwendet werden. Beide Tools findet man als Freeware im Internet.
Kann M5Stack mit anderen Geräten kommunizieren?
Es bieten sich viele verschiedene Möglichkeiten eine Kommunikation zwischen M5Stack und einem weiteren Gerät, wie z.B. Raspberry Pi, aufzubauen. Dank der Wifi Konnektivität des M5Stack ESP32 Chips lassen sich Protokolle wie P2P oder MQTT zur Übermittlung von Informationen verwenden. Interessant ist auch die Möglichkeit, Werte und Variablen per App (z.B. Blynk) an den M5Stack zu senden. Gerade zur Fernsteuerung von Robotern oder zum Ablesen von Messdaten ist dies eine einfache und unkomplizierte Lösung. Mit der M5Stack Kamera ist es sogar möglich Bild und Video per Wifi zu übertragen.