M5Stack

Eine ganz interessante Plattform ist der M5Stack, welcher eigentlich auch nur ein ESP32 ist. Allerdings ist die Zusammenstellung mit Display, Gehäuse, Tasten und der modulare Ansatz sehr pfiffig gelöst. Lange fliegende Aufbauten können oft entfallen und Mobil ist das Gerät auch.

Bausteine

Zuerst gibt es die Basiseinheiten, die nicht nur einen ESP32 enthalten, sondern schon umfangreich ausgestattet sein. Je nach Version ist ein Akku, drei Tasten und ein LCD-Farbdisplay samt kleinem Lautsprecher und SD-Kartenleser gleich enthalten und passende Sensoren können über entsprechende Kabel als I2C-Bus (Grove) direkt angebunden werden. Passende Kabel und Steckerbinder ersparen Löten und verhindern Verbindungsfehler. Zusätzlich gibt es "Stack"-Module, die unter die Basiseinheit eingefügt werden können, z.B. weitere Sensoren aber auch Servo-Steuerungen.

Gegenüberstellung

Damit wird es Zeit für zumindest eine einfache Gegenüberstellung der verschiedenen Module. Alle basieren natürlich auf dem ESP32 und haben daher WLAN und Bluetooth. Zudem haben auch alle einen Groove-Port, USB-C-Anschluss, TFCard-Slot (bis 16MB, Reset-Button) aber unterschiedliche sonstige Ausgänge.

Modell M5Stack
Basic
M5Stack
Grey
M5Stack
Fire
M5StickC Atom
Matrix
Atom
Lite

Preis

28 US$

34 US$

50 US$

10 US$

9 US$

6 US$

RAM

4 MByte flash
520K RAM

16 MByte flash
520K RAM

16 MByte flash
520K RAM
4M PSRAM

4 MByte flash
520K RAM

4 MByte flash
520K RAM

4 MByte flash
520K RAM

Sensoren

Nein

MPU6886
BMM150

MPU6886
BMM150

MPU6886 (6-Axis)

MPU6886

4 MByte flash
520K RAM

TF Card

bis 16MB

bis 16MB

bis 16MB

Nein

Nein

Nein

Grove (I2C)
Ports

1

1

3

1

1

1

Pins

 

 

 

3

6

6

Batterie

150mA

150mA

500 mAh

80mA

Nein

Nein

Buttons

3

3

3

2

1

1

Display

320*240 LCD

320*240 LDC

320*240 LCD

0.96 inch LCD

5x5 RBG LED

1 RGB LED

Speaker

Ja

Ja

Ja

Nein

Nein

Nein

Sonst

 

 

M5GO Base
diverse Lego

IR-LED
Rote LED

IR LED

IR LED

Module

Über mehr als 20 verschiedene Module lassen sich die Basiseinheiten als "Stack" erweitern. Hier nur eine Auswahl.

Über Grove Connector (I2C) gibt es mehr als 60 Units:

What is M5Stack?
https://www.youtube.com/watch?v=cQWkIHxQoCY

M5Stack Review (ESP32, Arduino, MicroPython)
https://www.youtube.com/watch?v=ThuaCke6c34

Programmierung mit ...

Den M5 Stack kann man über mehrere Wege programmieren. Bislang habe ich selbst folgendes genutzt:

Plattform Links

ArduinoIDE
PlatformIO

Durch den ESP32 sind die Beispiele und Libraries hier genauso nutzbar wie mit anderen Boards.

Achtung:
Bitte die Internet Anleitung nutzen, denn die beigelegte Papieranleitung ist nicht immer aktuell

UIFlow

Diese Umgebung ähnelt dem Programmieren mit Blockly. Mit einem Browser "programmieren" Sie quasi durch Anordnen von Blöcken.

Natürlich werden auch alle anderen Umgebungen funktionieren, die den ESP32 unterstützen.

M5Stack und LoraWan

Achtung: Das erste LoRaWan-Modul, welches als Stack gibt, nutzt 433MHz und ist daher nicht in Europa erlaubt

Mittlerweile gibt es aber auch eine Version mit 868 MHz

M5Stack und Azure IoT

Die M5Stack-Serie ist sogar im Azure IoT Katalog aufgeführt.

M5Stack Grove Port

Auch wenn es sehr viele Module für die M5Stack Service gibt, so ist der Grove genannte Anschluss durchaus für eigene Geräte vorgesehen. Die Schnittstelle ist keine Entwicklung von M5Stack, sondern gibt es schon relativ lange und die Quellen für Sensoren und Kabel ist auch in Deutschland umfangreich. Sie müssen nur mal bei Reichelt und Co nach Grove suchen, um entsprechende Taster, LED-Anzeigen, Fühler, Servo-Motoren etc. zu finden

What is Grove
https://cdn-reichelt.de/documents/datenblatt/A300/INTRODUCTION_TO_GROVE.pdf.

Grove ist aber erst einmal nur ein Stecker aber es gibt Anschlüsse, die einfache analoge oder digitale Eingänge sind. Es gibt aber auch I2C-Bus-Systeme, bei der jedes Gerät eine Adresse hat, über die ein Master dann die Geräte abfragen kann. Alle Geräte hängen dabei an einem gemeinsamen Bus.

Ein Master gibt den Takt (SCL) vor und sendet über SDA seriell dann die Adresse und die Daten an den Slave. Der angesprochene Slave kann dann wieder seriell Daten zurücksenden.

Grove kommt daher mit vier Ports aus und die Buchse ist verdrehsicher ausgeführt.

Am Beispiel des M5STICK-C sehen Sie auch die Pin-Belegung

Gerät Pin1: Links Pin 2 Pin 3 Pin4 rechts
 

Ground

Vcc

SDA

G33
SCL

M5Stack-C

Masse

Bei M5Stack ist das die Versorgungsspannung.
Das können 5 Volt oder mehr sein, z.B. zur Ansteuerung von Motoren.

G32, 3,3 Volt
Mit Pullup-Widerstand

G33, 3,3 Volt
Mit Pullup-Widerstand

M5Stack

Masse

Bei M5Stack ist das die Versorgungsspannung.
Das können 5 Volt oder mehr sein, z.B. zur Ansteuerung von Motoren.

G21, 3,3 Volt

G22, 3,3 Volt

Der M5Stack-C nutzt dabei G32/G33 als Signalports, die intern mit einem PullUp auf 3,3V angehoben werden. G32/33 sind aber ADC-Ports und könnte natürlich auch einfache analog/digital-Signale senden und empfangen. Der normale Einsatz wird aber I2C sein. Beim M5Stack Core ist es wohl G21/G22.

Denken I2C ist ein auf Spannungspegeln basierender Bus und keine Ströme. Seine Störfestigkeit ist daher gering (wenige Meter) und eignet sich nicht für eine Übertragung über mehrere Meter.

M5Stack und WLAN

Weitere Links