Skip to content

Technik Blog

Programmieren | Arduino | ESP32 | MicroPython | Python | Raspberry Pi | Raspberry Pi Pico

Menu
  • Smarthome
  • Arduino
  • ESP32 & Co.
  • Raspberry Pi & Pico
  • Solo Mining
  • Über mich
  • Deutsch
  • English
Menu

M5Stack Core2 – Vorstellung und erste Beispiele

Posted on 13. September 20219. März 2024 by Stefan Draeger

In diesem Beitrag möchte ich dir den Mikrocontroller M5Stack Core2 vorstellen und ein paar kleine Beispiele mit diesem aufzeigen.

  • Bezug
    • Lieferumfang
  • Technische Daten des M5Stack Core2
    • Eigenschaften des Core2 auf der Rückseite
  • Einrichten des M5Stack Core2 unter Microsoft Windows 10
  • Programmieren des M5Stack Core2 mit UIFlow
    • M5Burner
    • Einrichten von UIFlow für den Core2
    • Beispiele
      • Beispiel 1 – setzen der Hintergrundfarbe und anzeigen von Texten
      • Beispiel 2 – Buttons auf dem Display anzeigen und Funktion zuweisen
  • Ausblick & Fazit

Bezug

Den M5Stack Core2 kannst du über den offiziellen Shop unter M5Stack Core2 ESP32 IoT Development Kit für 46.9 $ zzgl. Versandkosten erwerben. Du bekommst diesen Mikrocontroller auch auf Plattformen wie aliexpress.com und banggood.com jedoch ist dieser dort etwas teurer.

Auf ebay.de* bekommst du diesen zu einer fast doppelt so hohen Preis, jedoch hast du dann den Vorteil das die Lieferdauer deutlich kürzer ist.

Hinweis von mir: Die mit einem Sternchen (*) markierten Links sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision, die dazu beiträgt, diesen Blog zu unterstützen. Der Preis für dich bleibt dabei unverändert. Vielen Dank für deine Unterstützung!

Lieferumfang

Zum Lieferumfang des M5Stack Core2 gehört neben dem Mikrocontroller noch ein passendes USB-Typ-C Datenkabel mit einer Länge von knapp 20 cm.

DAS beigelegte USB-Typ-C Datenkabel ist für die Verwendung am PC wirklich klein geraten und ich denke das dieses wohl eher dazu gedacht ist, den Mikrocontroller mit einer Powerbank zu verbinden.

Daher würde ich dir empfehlen, neben dem Mikrocontroller noch ein passendes Datenkabel in ausreichender länge zu bestellen (zbp. 2 m USB-Typ-C Datenkabel über ebay.de).

Technische Daten des M5Stack Core2

BezeichnungWert
MikrocontrollerESP32-D0WDQ6-V3
Taktgeschwindigkeit240 MHz dual core
600 DMIPS
Speicher
SRAM520 KB
PSRAM8 MB
Flash16 MB
Schnittstellen
WiFi, Bluetooth,
UART, I2C, Grove
Spannungsversorgung
interner Akku390mAh mit 3.7V
Eingangsspannung5V mit min. 500mA Leistung
Umgebungstemperatur0°C bis 60°C
verbaute Sensoren/Aktoren
Touch Screen – FT6336U
Lautsprecher – NS4168
Vibrationsmotor
Taster – Power, Reset,
drei virtuelle Schaltflächen auf dem Bildschirm
Mikrofon – SPM1423
sechs Achsen Lagesensor – MPU6886
RealTimeClock – BM8563
PowerManagementUnit – AXP192
Mini SD-Card Slot – 16 GB maximal
WiFi Antenne2.4G 3D
Gewicht
Netto Gewicht52 g
gesamt Gewicht70 g
Abmaße
M5Stack Core254 mm x 54 mm x 16 mm
Verpackung75 mm x 60 mm x 20 mm
GehäusematerialPlastik (PC – Polycarbonat)
Technische Daten des M5Stack Core2

Eigenschaften des Core2 auf der Rückseite

Auf der Rückseite des Core2 ist eine Abbildung mit den technischen Daten und Features des Core2.

technische Daten auf der Rückseite des M5Stack Core2
Technische Daten auf der Rückseite des M5Stack Core2

Einrichten des M5Stack Core2 unter Microsoft Windows 10

Wenn der Core2 mit dem Computer verbunden wird, sollte eigentlich der passende Treiber gleich installiert werden. Wenn bei dir unter Windows 10 im Geräte-Manager ein gelbes Ausrufezeichen vor dem Eintrag „CP2104 USB to UART Bridge Controller“ steht, dann ist dieser Vorgang leider nicht erfolgreich gewesen

Treiber für den UART Bridge Controller  nicht installiert
Treiber für den UART Bridge Controller nicht installiert

Wie du in diesem Fehlerfall den passenden Treiber per Hand nachinstallierst, habe ich im Beitrag Einrichten des M5Stack Core2 unter Microsoft Windows 10 ausführlich erläutert.

Programmieren des M5Stack Core2 mit UIFlow

Den Mikrocontroller kannst du mit der Software UIFlow programmieren. Dieses Tool ist ebenso von der Firma M5Stack erschienen und kann kostenfrei genutzt werden.

Du bekommst UIFlow als Version für das Web und als installierbare IDE. Wobei die Betriebssysteme MacOS, Linux und Microsoft Windows unterstützt werden.

Bevor du jedoch den Core2 in UIFlow programmieren kannst, muss dieser zunächst mit einer speziellen Firmware geflasht werden. Dazu nutzt du den M5Burner (ebenso auf der Downloadseite zum kostenfreien Download verfügbar).

M5Burner

Für diesen Beitrag verwende ich den M5Burner in der Version 2.4.0.

Zunächst wähle ich den COM Port (1) an welchem der Core2 angeschlossen ist. (ggf. muss man hier im Geräte-Manager schauen)

Danach die Version des Flashfiles (2) hier belasse ich es jedoch auf der neuesten Version und betätige die Schaltfläche „Download“ (3).

M5Burner - herunterladen des Flashfiles für den Core2
M5Burner – herunterladen des Flashfiles für den Core2

Wenn der Download abgeschlossen ist, dann kann über die Schaltfläche „Configuration“ die Zugangsdaten zum Wi-Fi Netzwerk eingegeben und geschrieben werden.

In meinem Fall wähle ich zunächst lediglich die Schaltfläche „Burn“ und schreibe das zuvor geladene Flashfile auf den Core2.

Das Aufspielen des Flashfiles dauerte in meinem Fall knapp 4 min. Und wir mit nachfolgender der Meldung, bei Erfolg quittiert.

=================
Start Burn
=================
--chip esp32 --port COM6 --baud 115200 --before default_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect 0x7ff000 E:\9999_Arduino\M5Burner\packages\fw\other\wifi.bin 0x1000 E:\9999_Arduino\M5Burner\packages\fw\core\UIFlow_Core2-v1.8.3-core2.bin
=================
esptool.py v2.5.0
Serial port COM6
Connecting...
.
.
.
.

Chip is ESP32D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse
MAC: 08:3a:f2:44:f1:a4
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Auto-detected Flash size: 16MB
Compressed 100 bytes to 53...

Writing at 0x007ff000... (100 %)

Wrote 100 bytes (53 compressed) at 0x007ff000 in 0.0 seconds (effective 77.9 kbit/s)...
Hash of data verified.
Compressed 8376320 bytes to 3546383...

Writing at 0x00001000... (0 %)
...
Writing at 0x00361000... (100 %)

Wrote 8376320 bytes (3546383 compressed) at 0x00001000 in 313.8 seconds (effective 213.6 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...
=================
 Burn Successfully 
=================

Der Core2 startet nun selbständig neu und zeigt beim Starten bereits das Logo von UIFlow an.

Startbildschirm - UIFlow auf dem M5Stack Core2
Startbildschirm – UIFlow auf dem M5Stack Core2
Dashboard auf dem Core2
Dashboard auf dem Core2

Im Dashboard kann man nun die aktuellen Einstellungen sehen und natürlich den API Key (im Tab „UIFlow“) welchen wir als Nächstes für die Entwicklung eigener Programme in UIFlow benötigen werden.

Einrichten von UIFlow für den Core2

Für die Programmierung in UIFlow benötigen wir einen geflashten Mikrocontroller und den API Key von diesem. Beim Core2 gibt es die Besonderheit das dieser Key vom Display abgelesen werden kann.

Im Fall von dem M5Stack ATOM Lite oder ATOM Matrix muss dieser aus der Anwendung M5Burner entnommen werden.

Konfiguration von UI Flow für den M5Stack Core2
Konfiguration von UI Flow für den M5Stack Core2

Bei mir hat die Verbindung zum M5Stack Core2 vom Computer über die Weboberfläche „UI Flow“ nicht funktioniert und ich bin zur IDE gewechselt. In der UI Flow IDE kann man alternativ die Verbindung vom USB-Kabel wählen und damit konnte die Verbindung erfolgreich hergestellt werden.

Beispiele

Hier jetzt ein paar Beispiele mit dem Core2 welche du programmieren kannst ohne zusätzliche Sensoren / Aktoren anschließen zu müssen.

Die nach folgenden Programme / Beispiele findest du auf meinem GitHub Repository StefanDraeger / m5Stack und kannst diese dort herunterladen.

Beispiel 1 – setzen der Hintergrundfarbe und anzeigen von Texten

Zunächst fangen wir mit einem einfachen Beispiel an. Es soll die Hintergrundfarbe in „grün“ geändert werden und der Text „Hallo Welt!“ auf dem Display angezeigt werden.

M5Stack Core2 - Anzeigen von Text auf dem Display
Dieses Video auf YouTube ansehen.

Beispiel 2 – Buttons auf dem Display anzeigen und Funktion zuweisen

Im zweiten Beispiel möchte ich dir nun zeigen wie du Buttons auf dem Display platzierst und diesem dann eine Funktion zuweist.

M5Stack Core2 - Buttons mit Funktionen auf dem Display
Dieses Video auf YouTube ansehen.

Ausblick & Fazit

Der M5Stack Core2 hat ein paar sehr nette Features und birgt durch seine viel zahl an zusätzlichen Modulen eine breite Spanne für viele Projektideen.

In den folgenden Beiträgen auf meinem Blog werde ich dir garantiert noch ein paar sehr nette Beiträge zu diesem zeigen.

7 thoughts on “M5Stack Core2 – Vorstellung und erste Beispiele”

  1. Rainer Pieper sagt:
    26. Oktober 2022 um 19:47 Uhr

    Super zu verstehende Erklärung samt Video. Ich habe auch mein erstes Programm über UIFlow geschrieben und immer die USB verbindung gewählt. Doch jedes Mal, wenn ich das Progamm auf den Core2 geladen habe und ihn ein weiters Mal über USB verbinden wollte, kam keine Verbindung zustande. Ich habe dann immer M5Burner neu flashen müssen, um die Verbindung zu UiFlow zu erstellen. Hast du hierzu eine Idee?
    Danke und Gruß, Rainer

    Antworten
    1. Stefan Draeger sagt:
      27. Oktober 2022 um 07:48 Uhr

      Hallo Rainer,

      dieses Phänomen habe ich mit einem M5Atom Lite, ich hatte mir dann einfach einen neuen geholt und da war der Fehler dann nicht mehr.
      Leider konnte ich den Fehler nicht weiter analysieren, da hier auch Google nicht wirklich weitergeholfen hat.

      Gruß,

      Stefan

      Antworten
      1. jachen sagt:
        2. März 2023 um 15:12 Uhr

        Man sollte sich bewusst sein, dass diese Geräte und deren Software in eine reine Spielzeugecke gehören. Dokumentationen und Foren tragen Ihre verwirrenden Einträge dazu bei.

        Ich benutze den StickC Plus und den Core2 mit verschiedenen Betriebssystemen. Am meisten Probleme bereiten mir die Verbindungen. Täglich präsentieren sich neue Treiber im Burner ohne vernünftige Dokus. Alles lässt sich nur mit Try and Error bewältigen. Habe von Mac zu Linux und W10 gewechselt und überall Probleme mit Verbindungen. Das ganze ist einfach zu wenig transparent und trägt zu grossem Zeitverlust bei. Aber zum Spielen sind die Gadgets echt super und man übt sich dabei auch noch etwas in Micropython oder Arduino Ide. Die Möglichkeit des Anschlusses verschiedener Sensoren (betreibe eine Wetterstation und Home Assistant) bewog mich zur Anschaffung der Geräte.

        Antworten
        1. Stefan Draeger sagt:
          3. März 2023 um 07:42 Uhr

          Hi,

          ja muss da etwas zustimmen, eine erfolgreiche Verbindung mit UIFlow ist schon sehr fummelig.
          Jedoch würde ich diese Geräte nicht als Spielzeug sehen, dazu sind diese einfach zu mächtig und können doch so einiges (wenn es mal läuft).

          Aber in meinem Fall ist es genau, das, was Spaß macht, das forschen, wie man es zum Laufen bringt.

          Gruß

          Stefan Draeger

          Antworten
    2. Alex sagt:
      30. Dezember 2022 um 21:46 Uhr

      Wenn man ein Program drauf lädt startet der m5stack dann immer mit dem Program, um in UIFLOW Modus wieder reinzukommen, muss man den m5stack neustarten und beim Bootvorgang kann man den UIFLOW Modus auswahlen, dan kann man die Verbindung zu der Software wiederherstellen ohne neu burnen zu müssen

      Antworten
  2. Klaus sagt:
    4. November 2022 um 22:44 Uhr

    Hi Stefan,
    benutze meinen neuen Core2 als intelligentes Thermostat mit Uhrzeit etc. und voreinstellbaren Temperaturen. Kann ich mit UIFLOW auch die Außentemperatur (aus dem Internet) erfassen ?

    Grüße Klaus

    Antworten
    1. Stefan Draeger sagt:
      5. November 2022 um 10:47 Uhr

      Hi,

      die außentemperatur bekommst du zbsp. vom Webservice OpenWeathermap als JSON, dieses habe ich bereits im Beitrag https://draeger-it.blog/arduino-lektion-69-openweathermap-daten-auf-oled-display-anzeigen/ gezeigt.

      Das sollte auch mit dem Core2 funktionieren.

      Gruß,

      Stefan

      Antworten

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Fragen oder Feedback?

Du hast eine Idee, brauchst Hilfe oder möchtest Feedback loswerden?
Support-Ticket erstellen

Newsletter abonnieren

Bleib auf dem Laufenden: Erhalte regelmäßig Updates zu neuen Projekten, Tutorials und Tipps rund um Arduino, ESP32 und mehr – direkt in dein Postfach.

Jetzt Newsletter abonnieren

Unterstütze meinen Blog

Wenn dir meine Inhalte gefallen, freue ich mich über deine Unterstützung auf Tipeee.
So hilfst du mit, den Blog am Leben zu halten und neue Beiträge zu ermöglichen.

draeger-it.blog auf Tipeee unterstützen

Vielen Dank für deinen Support!
– Stefan Draeger

Kategorien

Tools

  • Unix-Zeitstempel-Rechner
  • ASCII Tabelle
  • Spannung, Strom, Widerstand und Leistung berechnen
  • Widerstandsrechner
  • 8×8 LED Matrix Tool
  • 8×16 LED Matrix Modul von Keyestudio
  • 16×16 LED Matrix – Generator

Links

Blogverzeichnis Bloggerei.de TopBlogs.de das Original - Blogverzeichnis | Blog Top Liste Blogverzeichnis trusted-blogs.com

Stefan Draeger
Königsberger Str. 13
38364 Schöningen

Tel.: 01778501273
E-Mail: info@draeger-it.blog

Folge mir auf

  • Impressum
  • Datenschutzerklärung
  • Disclaimer
  • Cookie-Richtlinie (EU)
©2025 Technik Blog | Built using WordPress and Responsive Blogily theme by Superb
Cookie-Zustimmung verwalten
Wir verwenden Technologien wie Cookies, um Geräteinformationen zu speichern und/oder darauf zuzugreifen. Wir tun dies, um das Surferlebnis zu verbessern und um personalisierte Werbung anzuzeigen. Wenn Sie diesen Technologien zustimmen, können wir Daten wie das Surfverhalten oder eindeutige IDs auf dieser Website verarbeiten. Wenn Sie Ihre Zustimmung nicht erteilen oder zurückziehen, können bestimmte Funktionen beeinträchtigt werden.
Funktional Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt. Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.
Optionen verwalten Dienste verwalten Verwalten von {vendor_count}-Lieferanten Lese mehr über diese Zwecke
Einstellungen anzeigen
{title} {title} {title}