In diesem Beitrag möchte ich dir den neuen Mikrocontroller Ardu2040M von der Firma WisdPi vorstellen. Dieser Mikrocontroller kommt mit dem Chip RP2040 daher und du hast damit quasi einen Raspberry Pi Pico im Formfaktor eines Arduino UNO R3/R4 in der Hand.
Disclaimer: Ein Teil des Preises vom Ardu2040M Mikrocontrollers wurde großzügigerweise von der Firma WisdPi gesponsert. Dieser Beitrag wurde unterstützt, um dir den Mikrocontroller vorzustellen!
Inhaltsverzeichnis
- Aufbau des Mikrocontrollers Ardu2040M mit RP2040 Chip
- Kosten & Bezug des Mikrocontrollers Ardu2040M mit RP2040 Chip
- Programmieren des Mikrocontrollers
- Ideen für Projekte mit dem Ardu2040M
- Fazit & Ausblick
Aufbau des Mikrocontrollers Ardu2040M mit RP2040 Chip
Wie erwähnt ist der Mikrocontroller im Formfaktor eines Arduino UNO R3/R4. Du bekommst als Feature neben einem RP2040 Chip noch eine 5×5 RGB Matrix und viele zusätzliche digitale Pins für deine Projekte.
Zusätzlich verfügt dieser noch über eine USB-C Schnittstelle und einen Jack-Adapter
(2,1 mm center-positiv) für die Stromversorgung von 7 bis 15V.
Um die Firmware neu zu bespielen, musst du die Taste BOOTSEL Taste gedrückt halten und diesen mit dem Computer verbinden.
Technische Daten & Features des Ardu2040M
Auf dem Ardu2040M arbeitet ein RP2040 Chip, welchen ich dir bereits mit dem Raspberry Pi Pico / Pico W ausgiebig vorgestellt habe. Der Vollständigkeit halber hier jedoch trotzdem noch die technischen Daten:
MCU | RP2040, Dual ARM Cortex-M0+ mit bis zu 133 MHz |
Speicher | 264 kB SRAM, 2 MB Flash |
GPIOs | 29 GPIOs, davon 3x analog, 3fach SWD Pins |
Spannung | 2x 3.3V Pins, 1x 5 V Pins, 2x GND |
Taster | Bootsel, Reset |
Features | Formfaktor eines Arduino UNO R3/R4, 5×5 RGB Matrix |
Versorgungsspannung | 7 bis 15 V über Jack Adapter, 5 V über USB-C Schnittstelle |
Pinout des Ardu2040M
Nachfolgend das Pinout des Mikrocontrollers.
Kosten & Bezug des Mikrocontrollers Ardu2040M mit RP2040 Chip
Diesen Mikrocontroller bekommst du derzeit exklusiv im offiziellen Shop von WisdPi für knapp 12 $ zzgl. Versandkosten.
Du erhältst bei deiner Bestellung lediglich den Mikrocontroller, du musst dir also noch ein passendes USB-C Datenkabel separat erwerben. Dieses Datenkabel kannst du bei zum Beispiel ebay.de bereits ab 3 €* kaufen.
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!
Programmieren des Mikrocontrollers
Den RP2040 kannst du in der Arduino IDE sowie in Micropython / Circuitpython in Thonny oder
dem MU-Editor programmieren.
Das Gerät wird im Geräte-Manager als “Serielles USB-Gerät” erkannt und dort kannst du dann auch den COM-Port ablesen, an welchen dieser angeschlossen ist.
Auf dem Mikrocontroller findest du nicht nur die GPIOs, sondern auch eine 5×5 RGB Matrix und eine SMD LED, welche wir beliebig programmieren können.
Auf den Mikrocontroller kannst du diverse Shields stecken welche eigentlich für den Arduino UNO entwickelt wurden, jedoch musst du beachten, dass die GPIOs lediglich 3V liefern!
Diese Shields eignen sich vor allem für Anfänger, da man hier diverse Sensoren & Aktoren auf einer Platine bestückt erhält.
Wenn du den Ardu2040M das erste Mal mit dem Computer verbindest, dann läuft ein kleines Programm ab, welches die 5×5 RGB Matrix in den Farben Rot, Blau und Grün aufleuchten lässt. Dabei blinkt die kleine grüne SMD LED.
Arduino IDE
Bevor du den Ardu2040M programmieren kannst, musst du einen entsprechenden Boardtreiber installieren.
Im ersten Schritt klickst du auf das Boardsymbol links in der Menüleiste.
Danach suchst du nach “rp2040” und am Eintrag
“Arduino Mbed OS RP2040 Boards” klickst du auf die Schaltfläche “INSTALL”.
Wenn dieser Treiber erfolgreich installiert wurde, ändert sich diese Schaltfläche in “REMOVE”.
Du findest danach das Board unter Werkzeuge > Board: xyz > Arduino Mbed OS RP2040 Boards > Raspberry Pi Pico.
Wenn du das erste Mal ein Programm auf den Mikrocontroller aufspielen möchtest, dann wird das Gerät neu eingebunden und ist danach an einem anderem COM-Port erreichbar!
Als Testprogramm verwende ich gerne das Beispiel, welches für so ziemlich jede Programmiersprache genutzt wird, die Ausgabe von dem Text “Hello, world!”.
void setup() { Serial.begin(9600); } void loop() { Serial.println("Hello, world!"); delay(500); }
Auf dem seriellen Monitor der Arduino IDE siehst du dann die Ausgabe von dem Text.
Programmieren mit Micropython oder Circuitpython
Den Mikrocontroller bzw. die MCU RP2040 kannst du auch mit Micropython oder Circuitpython programmieren. Dafür musst du den Mikrocontroller für die entsprechende Programmiersprache flashen, d.h. du musst eine spezielle Firmware auf diesen aufspielen.
Nachfolgend findest du die Seiten, wo du die entsprechende UF2-Datei herunterladen kannst.
Wenn du diese Datei heruntergeladen hast, dann musst du deinen Mikrocontroller vom PC trennen und die Taste BOOTSEL gedrückt halten. Danach verbindest du diesen wieder mit dem PC und lässt dann die Taste BOOTSEL lost.
Thonny / MU-Editor
Mit den beiden Tools Thonny und MU-Editor kannst du deinen Ardu2040M auch in Micropython bzw. Circuitpython programmieren. Im Abschnitt zuvor habe ich dir gezeigt wie dieser geflasht wird, in den Tools musst du dann nur deinen Mikrocontroller auswählen und kannst dann mit der Programmierung starten.
Ob du nun Micropython oder Circuitpython verwendest, hängt meist davon ab, welche externen Sensoren / Aktoren oder Funktionen du verwenden möchtest, denn hier gibt es diverse Module, welche für jede Sprache spezielle Funktionen bieten.
Kleines Beispiel zum Programmieren der 5×5 RGB Matrix in Micropython
Die 5×5 RGB Matrix vom Typ WS2812 ist am GPIO13 angeschlossen und können wir in Micropython recht einfach programmieren.
#Importieren der benötigten Module from neopixel import NeoPixel from machine import Pin import time #Anzahl der NeoPixel Num_Pixels = 25 #Initialisieren eines Objektes vom Typ NeoPixel #am Pin GP13 als Ausgang pixel = NeoPixel(Pin(13, Pin.OUT), Num_Pixels) #Schleife über die NeoPixel for i in range(Num_Pixels): #setzen der Farbe Blau pixel[i] = (0, 0, 255) #schreiben / anzeigen pixel.write() #kleine Pause von 125 Millisekunden time.sleep(0.125) #setzen der Farbe schwarz / deaktivierne des NeoPixel pixel[i] = (0, 0, 0) #schreiben / anzeigen pixel.write()
Der Code lässt jedes NeoPixel einmal in Blau aufleuchten und danach wird dieses wieder deaktiviert.
Ideen für Projekte mit dem Ardu2040M
Durch die vielen GPIOs und die Möglichkeit der externen Stromversorgung von 7 bis 15V können wir so einige coole Projekte mit diesem machen. Und auch wenn diesem einen drahtlose Schnittstelle fehlt, kann diese recht günstig nachgerüstet werden.
Mögliche Projekte wären:
- ein Astroid Game auf der 5×5 RGB Matrix,
- Wetterstation mit Sensoren (Temperatur, rel. Luftfeuchtigkeit, Luftdruck, Helligkeit, etc.),
- steuern eines 2WD / 4WD Chassis
Fazit & Ausblick
Der Mikrocontroller Ardu2040M mit dem RP2040 ist ein guter Ersatz, wenn man mit dem Raspberry Pi Pico herumspielen möchte. Was diesem jedoch fehlt, ist die WiFi Schnittstelle, welche beim Pi Pico W dabei ist.
Der Preis mit knapp 12 $ zzgl. Versandkosten ist okay, jedoch auch nicht besonders günstig.