Waveshare RP2040 Zero

RP2040 Zero von Waveshare (Original)

Der RP2040-Zero ist ein Mikrocontroller-Board mit dem Mikrocontroller RP2040, dass einen sehr kleinen Formfaktor hat. Das Board hat eine Länge von 25 mm inkl. dem USB-C-Anschluss und eine Breite von 18 mm. Es ist eine deutlich kleinere Variante des originalen Raspberry Pi Pico und verfügt über identische Leistungsmerkmale. Das heißt, alles was vom Raspberry Pi Pico bekannt ist, ist auch mit dem RP2040-Zero möglich. Der Flash-Speicher ist 2 MByte groß und die Stromversorgung übernimmt der Low-Dropout-LDO ME621 mit maximal 800 mA.
Weitere Besonderheiten, neben dem USB-C-Anschluss, sind der zusätzliche Reset-Taster, eine WS2812-RGB-LED (Neopixel-Ansteuerung) und dass die wichtigsten GPIO-Pins an drei Seiten der Platine herausgeführt sind.

RP2040-Zero: Pinbelegung

Pinbelegung von Waveshare RP2040 Zero

Wem der Raspberry Pi Pico zu groß ist, der erhält mit dem RP2040-Zero eine kleinere Bauform, die alle Leistungsmerkmale des Picos hat. Einzig die Anzahl der herausgeführten GPIO-Pins ist geringer, was in der Regel kein Problem darstellt. Die Onboard-LED ist keine normale LED, sondern muss als Neopixel-LED angesteuert werden. Dafür kann sie in unterschiedlichen Farben leuchten.

Bezugsquellen

Das Original stammt von Waveshare mit der offiziellen Produktbezeichnung „Waveshare RP2040 Zero“ und kann man dort für um die 4 Euro kaufen. Verschiedene Nachbauten sind teilweise unter 1,50 EUR zu haben, wenn man sie auf einem chinesischen Online-Marktplatz bestellt. Zu beachten ist dabei, dass es bei der Verwendung von minderwertigen Komponenten, zu einem instabilen Betrieb oder zu Defekten bei anderen Komponenten kommen kann.

Einschränkungen

Der RP2040-Zero ist dann interessant, wenn man sowieso nicht alle GPIO-Pins braucht und etwas Platz sparen will. Außerdem ist es inzwischen üblich, dass elektronische Geräte und Mikrocontroller-Boards einen USB-C-Anschluss haben. Allerdings gibt es ein paar Einschränkungen, die man beim RP2040-Zero vielleicht schon im Vorfeld berücksichtigen sollte.

  • Die Pin-Belegung an den Seiten ist eine andere. Allerdings sind alle Schnittstellen mehrfach herausgeführt.
  • Es ist nur ein GND-Pin herausgeführt.
  • Die vom Raspberry Pi Pico bekannten Pins für VSYS (Pin 39), 3V3_EN (Pin 37), ADC_REF (Pin 35) und RUN (Pin 30) sind nicht herausgeführt. Der Pin für RUN ist stattdessen mit dem Reset-Taster verbunden.

Batterie-Betrieb

Normalerweise wird man den VSYS-Pin (Pin 39) vom Raspberry Pi Pico für den Batterie-Betrieb verwenden. Der ist aber nicht separat auf dem RP2040-Zero-Board herausgeführt. Stattdessen ist der VSYS-Pin des RP2040 direkt mit dem VUSB-Pin verbunden. Im RP2040-Zero-Pinout ist er mit „5V“ gekennzeichnet.

Wenn man eine Batterie direkt mit dem VSYS-Pin verbinden möchte, sollte eine Diode in Reihe zur Batterie geschaltet werden, um den Rückfluss in einen versehentlich angeschlossenen USB zu vermeiden.

MicroPython-Firmware

Wenn man einen RP2040-Zero das erste Mal mit einem Host-Computer verbindet, wird er von der Thonny Python IDE automatisch erkannt. Es lässt sich zum Programmierung mit MicroPython eine offizielle MicroPython-Firmware auswählen und laden. Danach kann der RP2040-Zero mit der Thonny Python IDE programmiert werden.

Programmieren mit der Thonny Python IDE

Wie beim Raspberry Pi Pico empfiehlt es sich den RP2040-Zero mit der Thonny Python IDE zu programmieren. Das ist eine Entwicklungsumgebung zum Programmieren mit Python und MicroPython. Diesen Editor gibt es für verschiedene Betriebssysteme zum Download.

Beispiel: Blinkende LED

Auf dem RP2040-Zero-Board befindet sich keine normale LED, sondern eine WS2812-RGB-LED, die als Neopixel an GPIO16 programmiert werden muss. Der folgende Programmcode lässt die Onboad-LED blinken.

# Bibliotheken laden
from machine import Pin
from neopixel import NeoPixel
from time import sleep

# Farben und Helligkeit: 0 bis 255
led_red = (10,0,0)
led_green = (0,10,0)
led_blue = (0,0,10)
led_white = (10,10,10)
led_cyan = (0,10,10)
led_yellow = (10,10,0)
led_magenta = (10,0,10)
led_off = (0,0,0)

# Initialisierung WS2812/NeoPixel: GPIO16 + 1 LED
led_onboard = NeoPixel(Pin(16, Pin.OUT), 1)

# Wiederholung: Endlos-Schleife
while True:
    # EIN (Rot)
    led_onboard.fill(led_red)
    led_onboard.write()
    sleep(1)
    # AUS
    led_onboard.fill(led_off)
    led_onboard.write()
    sleep(1)

Weitere verwandte Themen:

Frag Elektronik-Kompendium.de

Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython

Elektronik-Set Pico Edition

Das Elektronik-Set Pico Edition ist ein Bauteile-Sortiment mit Anleitung zum Experimentieren und Programmieren mit MicroPython.

  • LED: Einschalten, ausschalten, blinken und Helligkeit steuern
  • Taster: Entprellen und Zustände anzeigen
  • LED mit Taster einschalten und ausschalten
  • Ampel- und Lauflicht-Steuerung
  • Elektronischer Würfel
  • Eigene Steuerungen programmieren

Elektronik-Set jetzt bestellen Online-Workshop buchen

Online-Workshop: Programmieren mit dem Raspberry Pi Pico

Programmieren mit dem Raspberry Pi Pico

Gemeinsam mit anderen und unter Anleitung experimentieren? Wir bieten unterschiedliche Online-Workshops zum Raspberry Pi Pico und MicroPython an. Einführung in die Programmierung, Sensoren programmieren und kalibrieren, sowie Internet of Things und Smart Home über WLAN und MQTT.

Online-Workshop buchen

Besuchen Sie unser fast monatlich stattfindendes Online-Meeting PicoTalk und lernen Sie uns kennen. Die Teilnahme ist kostenfrei.

Termine und Newsletter-Anmeldung

 

Elektronik-Sets für das Hardware-nahe Programmieren