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

Vorstellung des M5Stamp Pico

Posted on 28. Januar 20229. März 2024 by Stefan Draeger

Was der kleine M5Stamp Pico kann und wie du diesen in der Entwicklungsumgebung UI-Flow programmiert wird, zeige ich dir in diesem Beitrag.

M5Stamp Pico
M5Stamp Pico
M5Stamp Pico
M5Stamp Pico
M5Stamp Pico
M5Stamp Pico

Ich habe dir bereits einige Mikrocontroller von der Firma M5Stack auf diesem Blog vorgestellt, dieser ist jedoch etwas Besonderes und das liegt nicht daran das dieser nur knapp so groß ist wie eine Briefmarke.

  • Bezug des M5Stamp Pico
    • Lieferumfang
  • Technische Daten des M5Stamp Pico
  • Aufbau
    • Grove Schnittstelle
    • Pinout
  • Programmieren des M5Stamp Pico
  • Flashen des M5Stamp Pico Mate im M5Burner
  • Programmieren in der Arduino IDE
  • Beispiel – „Hello World!“
  • Interne RGB LED programmieren
  • Fazit & Ausblick

Bezug des M5Stamp Pico

Den M5Stamp Pico bekommst du auf ebay.de schon ab 13 € inkl. Versandkosten* oder aber im offiziellen Shop von M5Stack für 16 $ zzgl. Versandkosten nach Deutschland. Leider ist das Angebot im offiziellen Shop von M5Stack immer sehr begrenzt und daher muss man recht schnell sein.

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!

Ein guter Shop jedoch mit sehr langer Lieferzeit ist aliexpress.com dort zahlt man teilweise nur 5,50 € zzgl. 4,43 € Versandkosten.

Verpackung des M5Stamp Pico
Verpackung des M5Stamp Pico

Lieferumfang

Zum Lieferumfang des M5Stamp Pico gehört:

  • der Mikrocontroller M5Stamp Pico,
  • eine 9polige Stiftleiste,
  • eine 6polige Stiftleiste,
  • eine 9polige Buchsenleiste,
  • eine 6polige Buchsenleiste,
  • einen Grove Adapter,
  • einen Sechskantschlüssel,
  • einen farbigen Aufkleber mit Pinbelegung
Lieferumfang des M5Stamp Pico
Lieferumfang des M5Stamp Pico

Technische Daten des M5Stamp Pico

MikrocontrollerESP32-PICO-D4
Speicher4 MB FLASH
Eingangsspannung5 V bei max. 500 mA Stromaufnahme
StromaufnahmeStandby – Idle : 29 mA,
Wi-Fi STA Mode: 60 mA,
Bluetooth senden: 84 mA,
Deep-Sleep: 0.35 mA
Eingabe/Ausgabeeinen frei programmierbarer Taster,
frei programmierbare RGB LED (Typ SK6812)
Wi-Fi Antenne2.4 G 3D Antenne
Wi-Fi802.11 b/g/n (bis zu 150 Mbps bei 802.11n)
BluetoothBluetooth 4.2
SchnittstellenADC, DAC, Touch Sensor, SD/SDIO/MMC Host Controller, SPI, SDIO/SPI Slave Controller, EMAC, Motor PWM, LED PWM, UART, I2C, I2S, IR remote Controller, GPIO, Pulse Counter
GPIOsG0, G1, G3, G26, G36, G18, G19, G21, G22, G25, G32, G33
Betriebstemperatur0°C bis 60°C
Gewicht2,6 g (inkl. Stiftleisten und Gehäuse 12g)
Abmaße (L x B x H)18 mm x 24 mm x 4,4 mm
Technische Daten des M5Stamp Pico

Aufbau

Bevor wir mit der Programmierung beginnen können, müssen wir den kleinen Mikrocontroller erstmal aufbauen.

Ich wähle für den Aufbau die Stiftleisten und stecke diese auf ein 170 Pin Breadboard und kann so die Platine mit den Stiftleisten verlöten, ohne dass diese wackeln und ggf. im falschen Winkel stehen.

M5Stamp Pico auf Breadboard
M5Stamp Pico auf Breadboard

Auf dem Foto erkennt man neben dem Mikrochip ESP32-PICO-D4 einen Printtaster sowie die RGB LED vom Typ SK6812.

Grove Schnittstelle

Des Weiteren verfügt der Pico Mate über eine Grove Schnittstelle, über welche man die Pins 32 & 33 abgreifen / programmieren kann.

Grove Schnittstelle am M5Stamp Pico Mate (Ansicht von oben)
Grove Schnittstelle am M5Stamp Pico Mate (Ansicht von oben)
Grove Schnittstelle am M5Stamp Pico Mate (Ansicht von unten)
Grove Schnittstelle am M5Stamp Pico Mate (Ansicht von unten)

Ich habe die Grove Schnittstelle von unten angelötet, dieses hat den Vorteil das man das Gehäuse inkl. Aufkleber für die Pinbelegung nicht zerschneiden muss, jedoch muss man einmal ein Grovekabel kreuzen damit man einen Sensor / Aktor anschließen kann.

  • Schwarz > Gelb
  • Weiß > Rot
  • Rot > Weiß
  • Gelb > Schwarz
Grove Kabel gekreuzt
Grove Kabel gekreuzt

Pinout

Auf dem beigelegten Aufkleber ist die Pinbelegung gedruckt und so lässt sich sehr einfach ablesen wie zbsp. der ESP32 Downloader angeschlossen werden muss.

Pinout des M5Stamp Pico Mate
Pinout des M5Stamp Pico Mate

Das Bild vom Pinout darf ich mit der Genehmigung von M5Stack für diesen Beitrag verwenden. Du findest weitere Informationen zu diesem Mikrocontroller unter M5Stamp Pico Mate with Pin Headers.

Pinout des M5Stamp Pico
Pinout des M5Stamp Pico

Leider ist der Kleber des Aufklebers sehr schlecht und dieser hält nicht wirklich lange.

BauteilPin
SK6812 RGB LEDGPIO27
ButtonGPIO39

Programmieren des M5Stamp Pico

Zum Programmieren des M5Stamp Pico benötigt man zusätzlich den ESP32 Downloader. Das liegt unter anderem daran, dass der Mikrocontroller über keinen eigenen USB-Serial Konverter (wie zbsp. einen CH340G oder ähnliches) verfügt.

ESP32 Downloader - Lieferumfang
ESP32 Downloader – Lieferumfang
Rückseite des ESP32 Downloaders mit Pinbelegung
Rückseite des ESP32 Downloaders mit Pinbelegung

Diesen ESP32 Downloader kannst du ebenfalls im offiziellen Shop von M5Stack für knapp 10 $ zzgl. Versandkosten beziehen. Es gibt aber auch ein Set welches neben dem Pico auch den ESP32 Downloader enthält und somit kann man dort etwas sparen.

Den ESP32 Downloader kannst du entweder mithilfe der beigefügten Breadboardkabel anschließen oder solltest du statt der Stiftleisten die Buchsenleisten gewählt haben direkt aufstecken.

Leider sind die Buchsenleisten und Stiftleisten von so mieser Qualität, sodass die Breadboardkabel nicht halten. Daher habe ich mir aus einer Lochrasterplatine und ein paar Buchsenleisten eine kleine Adapterplatine gelötet.

Der Vorteil ist, dass man den ESP32 Downloader direkt anschließen kann.

Lochrasterplatine für den M5Stamp Pico Mate
Lochrasterplatine für den M5Stamp Pico Mate
ESP32 Downloader verbunden mit dem M5Stamp Pico Mate
ESP32 Downloader verbunden mit dem M5Stamp Pico Mate

Flashen des M5Stamp Pico Mate im M5Burner

Bevor wir mit der eigentlichen Programmierung beginnen, flashen wir die aktuelle Firmware auf den M5Stamp Pico Mate über den M5Burner.

Den M5Burner kannst du von der Seite https://shop.m5stack.com/pages/download als ZIP-Datei herunterladen und musst du lediglich in ein beliebiges Verzeichnis entpacken.

Wenn das Programm M5Burner gestartet wurde, dann muss zunächst der M5Stamp aus dem linken Menü ausgewählt werden „STAMP“ (1). In meinem Fall muss ich zunächst das Flashfile herunterladen (2). Wenn dieses geschehen ist, so muss zunächst (soweit nicht bereits gesetzt) der COM-Port ausgewählt werden (3) und danach kann man auf die Schaltfläche „Configuration“ (4) klicken. Es sollte sich nun ein neues Fenster öffnen, in welchem man den Modus auswählen kann (5) (USB oder Internet) und die WiFi Einstellungen vornehmen kann (6) wenn wir die Einstellungen getroffen haben, speichern wir diese über die Schaltfläche „Save“ (7) und der Dialog wird automatisch geschlossen.

ACHTUNG: Während des Schreibens der Daten darf das USB-Kabel nicht getrennt werden!

M5Burner - download M5Stamp Pico Mate file
M5Burner – download M5Stamp Pico Mate file
M5Burner - Pico Mate konfigurieren
M5Burner – Pico Mate konfigurieren
M5Burner - Konfiguration für den M5Stamp Pico Mate
M5Burner – Konfiguration für den M5Stamp Pico Mate

Wenn der Vorgang abgeschlossen ist, kann mit der Programmierung begonnen werden.

Für die Programmierung des M5Stamp Pico Mate verwende ich die Arduino IDE. Die bereits in einigen Beiträgen gezeigte / verwendete IDE UIFlow kann für diesen Mikrocontroller nur bedingt verwendet werden. Die Offline Version UIFlow IDE, welche als ZIP-Datei ausgeliefert wird, unterstützt derzeit nicht den M5Stamp.

UI Flow - unterstützte Geräte in der offline IDE
UI Flow – unterstützte Geräte offline IDE

Möchtest du also den Mikrocontroller in UIFlow programmieren, so musst du die Online Version verwenden.

Programmieren in der Arduino IDE

Den M5Stamp Pico Mate kannst du über der Arduino IDE in C/C++ programmieren.

Dazu musst du jedoch den passenden Treiber über den Boardverwalter installieren. Zuvor musst du jedoch die nachfolgende zusätzliche Boardverwalter URL in den Voreinstellungen setzen.

https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/package_m5stack_index.json

Wenn du dieses getan hast, dann findest du im Boardverwalter unter dem Suchbegriff „M5Stack“ (1) den offiziellen Treiber, welchen du über die Schaltfläche „Installieren“ (2) kannst.

Arduino IDE - Boardverwalter installieren M5Stack Lib - Step 1
Arduino IDE – Boardverwalter installieren M5Stack Lib – Step 1

Beispiel – „Hello World!“

Fangen wir mit einem recht einfachen Beispiel an und geben die Zeichenkette „Hello World!“ auf der seriellen Schnittstelle aus.

void setup() {
  Serial.begin(9600);
}

void loop() {
  Serial.println("Hello World!");
  delay(500);

}

Wenn diese paar Zeile Code auf den Mikrocontroller übertragen wurden dann können wir über den seriellen Monitor der Arduino IDE die Ausgabe lesen.

Oder man verwendet ein anderes Terminalprogramm wie Putty oder MobaXterm.

Interne RGB LED programmieren

Auf dem Pico Mate ist eine RGB LED vom Typ SK6812 verbaut, welche nun programmiert werden und in diversen Farben aufleuchten soll.

Für das ansteuern der RGB LED verwende ich die Bibliothek FastLED, welche du recht bequem über den Bibliotheksverwalter der Arduino IDE installieren kannst. Auf dem GitHub Repository FastLED / FastLED kannst du dir alternativ diese Bibliothek als ZIP-Datei herunterladen.

Wie eine Bibliothek in der Arduino IDE installierst, habe ich dir im gleichnamigen Beitrag Arduino IDE, Einbinden einer Bibliothek ausführlich erläutert.

M5Stamp Pico Mate - onboard RGB LED programmieren
Dieses Video auf YouTube ansehen.

Hier nun der Sketch zum Video:

// Bibliothek zum ansteuern der RGB LED
#include <FastLED.h> 

// Anzahl der verbauten LEDs
#define NUM_LEDS 1

// Pin an welchem die LED angeschlossen ist
#define DATA_PIN 27

// Ein Objekt definieren mit den LEDs
CRGB leds[NUM_LEDS];

void setup() { 
    // definieren das eine RGB LED vom Typ SK6812 am DATA_PIN angeschlossen ist.
    // Wichtig ist hierbei das von RGB auf GRB geändert wird!
    FastLED.addLeds<SK6812, DATA_PIN, GRB>(leds, NUM_LEDS);
}
    

void loop() { 
  // LED an Position 0 auf die Farbe "rot" setzen
  leds[0]= CRGB::Red;
  // anzeigen der Farben
  FastLED.show();
  // eine Pause von 500 ms.
  delay(500);

  // deaktivieren der LED durch setzen der Farbe Schwarz (r=0, g=0; b=0)
  leds[0] = CRGB::Black;
  // anzeigen der Farben
  FastLED.show();
  // eine Pause von 500 ms.
  delay(500);
}

In dem Code wird die LED in der Farbe Rot zum blinken gebracht. Auf der Seite FastLED 3.1 CRGB Struct Reference findest du weitere Farbcodes welche du hier setzen kannst um deine LED in einer anderen Farbe zum leuchten zu bringen.

Alternativ kannst du auch einen RGB Wert eingeben.

  leds[0].red = 255;
  leds[0].green = 25;
  leds[0].blue = 50;

Fazit & Ausblick

Da der M5Stamp Pico Mate über eine Grove Schnittstelle sowie einige GPIOs verfügt kann man einige kleine Projekte mit diesem durchführen.

In den nächsten Beiträgen zu diesem Mikrocontroller erwarten dich somit ein kleines Geschicklichkeitsspiel sowie ein Beispiel wie man eine WiFi-Verbindung aufbaut in dort Sensordaten an einen IoT Service wie ThingSpeak sendet.

1 thought on “Vorstellung des M5Stamp Pico”

  1. Pingback: M5Stamp Pico Mate #7: Angle UNIT - Technik Blog

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}