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

Ein erster Blick auf den Melopero Cookie RP2040: Raspberry Pi Pico meets micro:bit

Posted on 6. November 20236. November 2023 by Stefan Draeger

In diesem Beitrag möchte ich mit dir zusammen einen ersten Blick auf den Melopero Cookie RP2040 werfen. Dieser Mikrocontroller ist ein Mix aus Raspberry Pi Pico, BBC micro:bit und auch der Calliope Mini findet sich irgendwie hier wieder.

Diesen Mikrocontroller habe ich im Onlineshop von Botland.de für knapp 16 € zzgl. Versandkosten erstanden. In diesem Shop bekommst du diesen Mikrocontroller derzeit zum besten Preis.

Inhaltsverzeichnis

  • Warum noch ein Klon?
  • Pins & Anschlüsse
  • Batterieanschluss & USB-C Schnittstelle
  • Features des Melopero Cookie RP2040
    • Technische Daten des RP2040 Chips
  • Pinout & Aufbau des Melopero Cookie RP2040
    • Qwiic / Stemma Anschluss
  • Einrichten und Programmieren des Melopero Cookie RP2040
    • Flashen des Mikrocontrollers für MicroPython
  • Programmieren in der Thonny IDE
  • Programmieren der Taster & LED
  • Programmieren der 5×5 RGB LED Matrix

Warum noch ein Klon?

Die große Frage, welche man sich zunächst stellen kann, ist „Warum noch ein Klon?“. Diese Frage ist berechtigt, denn, dieser Mikrocontroller mit dem RP2040 Chip, einigen Anschlüssen und einer LED-Matrix ist jetzt nicht das neueste und bringt auch nicht soviel zusätzlichen Spaß. Theoretisch könnte hier der Beitrag enden, jedoch möchte ich diesem eine Chance geben und einmal ins Detail schauen.

Pins & Anschlüsse

Vor allem, wenn man sich das Format etwas genauer betrachtet, dann finden wir die Pins rings um den Mikrocontroller angeordnet, welche man mit Krokodilklemmen oder Bananenstecker (3 mm) abgreifen kann.

Batterieanschluss & USB-C Schnittstelle

Am Mikrocontroller findest du den Pin VBAT über diesen kannst du deinen Mikrocontroller via Batterie zu betreiben. Der Hersteller gibt hier an, dass die gleichzeitige Verwendung beider Stromanschlüsse dazu führen kann, dass entweder deine Batterie oder dein PC zerstört werden kann. Ich würde sogar so weit gehen, dass eher der Mikrocontroller zerstört wird!

Features des Melopero Cookie RP2040

Der Mikrocontroller bietet wie erwähnt einige Features, welche wir bei anderen bereits finden. Zu diesen Features zählen:

  • eine 5×5 RGB LED Matrix,
  • zwei Taster,
  • eine USB-C-Schnittstelle,
  • einen Qwii-Anschluss,
  • Kontakte Abgreifbar via Krokodilklemme& Bananenstecker,
  • zwei Löcher zur Montage

Abmaße des Mikrocontrollers sind Ø 50,8 mm.

Technische Daten des RP2040 Chips

Verbaut ist ein RP2040 Chip von der Raspberry Pi Foundation, welcher nachfolgenden technischen Daten hat:

MikrochipRP2040, Dual-Core Arm Cortex M0+ mit bis zu 133 MHz
Speicher 
SRAM264 KB
Flash2 MB
SchnittstellenUSB 1.1
 2x SPI, 2x I²C, 2x UART
 3x 12-bit ADC (Analog Digital Converter)
En/Ausgänge26 Pins
 16x PWM Channel
Sensoren & AktorenTemperatursensor
 Timer

Pinout & Aufbau des Melopero Cookie RP2040

Auf dem Mikrocontroller findest du diverse Aktoren, welche du recht einfach programmieren kannst. Die LED ist als einzige von diesen mit „21“ beschriftet.

Aufbau des Melopero Cookie RP2040
Aufbau des Melopero Cookie RP2040

Qwiic / Stemma Anschluss

Über den Qwiic / Stemma Anschluss kannst du spezielle Sensoren und Aktoren in Reihe schalten und einzeln adressieren. Die Kommunikation läuft dabei über I2C.

Jedoch sind derzeit die Sensoren & Aktoren für dieses Ökosystem recht teuer, sodass sich ein Wechsel, nach meiner Meinung noch nicht lohnt.

Einrichten und Programmieren des Melopero Cookie RP2040

Wie üblich, kannst du deinen Mikrocontroller in MicroPython, CircuitPython sowie in der Arduino IDE programmieren. Ich möchte im Nachfolgenden den Mikrocontroller in MicroPython programmieren.

Vorstellung & Einrichten des Melopero Cookie RP2040
Dieses Video auf YouTube ansehen.

Der Hersteller hat zu diesem Mikrocontroller eine offizielle, englische Dokumentation bereitgestellt, wo gezeigt wird, wie dieser geflasht und für MicroPython eingerichtet wird.

Flashen des Mikrocontrollers für MicroPython

Das Flashen des Melopero Cookie RP2040 für MicroPython ist sehr einfach, unterscheidet sich jedoch deutlich vom Raspberry Pi Pico. Denn man muss bei verbundenem Gerät die Taste „BT“ (grüner Kreis) & „RS“ (roter Kreis) drücken und die Taste „RS“ loslassen, dann wird das Laufwerk eingebunden und wir können die Taste „BT“ loslassen. Also eigentlich sehr einfach.

Wenn das Laufwerk eingebunden ist, dann musst du nun die entsprechende UF2-Datei mit der neuen Firmware auf diesen kopieren.
Die Firmware bekommst du unter http://www.melopero.com/Melopero_Cookie_RP2040.zip. In der ZIP-Datei findest du die Firmware für CircuitPython und MicroPython sowie eine Bibliothek mit Beispielen für C++.

Programmieren in der Thonny IDE

Den Mikrocontroller kannst du nach dem Flashen dann zum Beispiel in der Thonny IDE programmieren. Dazu musst du zunächst den Interpreter einrichten.

Im Programm klickst du unten rechts auf den derzeit ausgewählen Mikrocontroller und wählst aus dem Menü „Konfiguriere den Interpreter …“.

Im neuen Dialog wählst du dann als Erstes den Eintrag „MicroPython (RP2040)“ (1) aus. Danach den Port (2). Solltest du mehrere serielle Geräte an deinem PC angeschlossen haben, so schaue einmal in den Geräte-Manager, um den passenden zu finden.
Die Auswahl bestätigen wir mit der Schaltfläche „OK“ (3).

Wenn du nun in der Taskleiste auf die Schaltfläche „Stopp/Restart ausführen“ klickst, dann sollte in der Kommandozeile die nachfolgende Ausgabe erscheinen.

Programmieren der Taster & LED

Wie oben gezeigt findest du auf dem Mikrocontroller zwei Taster und eine kleine SMD LED. Als erstes möchte ich dir zeigen, wie diese programmiert wird. Mit den Tastern A & B möchte ich zunächst die LED AN & AUS schalten.

#aus dem Modul machine die Klasse Pin laden
from machine import Pin
#Modul time importieren
import time

#die LED ist am GPIO 21 angeschlossen
#und wird als Ausgang definiert
led = Pin(21, Pin.OUT)

#die Taster sind an den GPIOs 10 & 11
#angeschlossen und werden als Eingang
#definiert
buttonA = Pin(10, Pin.IN)
buttonB = Pin(11, Pin.IN)

#starten einer Endlosschleife
while True:
    #Wenn der Taster A gedrückt wird, dann...
    if buttonA.value() == 1:
        #LED aktivieren
        led.on()
        #einlegen einer kleinen Pause,
        #damit entprellen wir den Taster
        time.sleep(0.5)
    #Wenn der Taster B gedrückt wird, dann...
    if buttonB.value() == 1:
        #LED deaktivieren
        led.off()
        #einlegen einer kleinen Pause,
        #damit entprellen wir den Taster
        time.sleep(0.5)

Wenn wir den Code auf dem Mikrocontroller ausführen, dann können wir mit den beiden Tastern die kleine SMD LED Ein- und Ausschalten.

Programmieren der 5×5 RGB LED Matrix

Mit der Firmware zu MicroPython bekommst du Module zum Abfragen der Taster sowie für die RGB LED-Matrix. Diese Module müssen nicht zusätzlich installiert werden und du brauchst diese lediglich importieren und kannst diese verwenden.

Für die Programmierung der 5×5 RGB LED-Matrix hast du fertige, kleine Funktionen um entweder einzelne LEDs anzusteuern oder auch Scrolltext auf dieser auszugeben. Das finde ich besonders gut gelungen.

#Importen der Klasse Cookie_RP2040 aus dem Modul melopreo_cookie
from melopero_cookie import Cookie_RP2040

#Text für den Scrolltext
msg = "Hallo Welt!"

#erzeugen eines Objektes vom Typ Cookie_RP2040
cookie=Cookie_RP2040()
#LEDs löschen
cookie.clear_screen()
#setzen der Textfarbe als RGB Wert
#Der letzte Wert bildet die Helligkeit ab!
cookie.set_rgb_color(0, 0, 255,0.05)
#setzen der Hintergrundfarbe
cookie.set_rgb_background(0,0,0, 0.1)
#anzeigen / abspielen des Scrolltextes
cookie.show_message(msg)

Mit diesem kleinen Code erzeugen wir nun die Laufschrift „Hallo Welt!“ auf der LED-Matrix. Die Farbe für den Text habe ich in Blau gesetzt.

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}