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

Raspberry PI Pico in der Arduino IDE programmieren

Posted on 22. Mai 202130. April 2023 by Stefan Draeger

In diesem Beitrag möchte ich dir zeigen wie du den Raspberry PI Pico in der Arduino IDE programmieren kannst.

Arduino IDE für den Raspberry PI Pico einrichten
Dieses Video auf YouTube ansehen.

Die Arduino IDE kennt man eher von der Programmierung von „klassischen“ Microcontroller wie den Arduino UNO, Arduino Nano oder aber auch mal einen ESP32. Aber du kannst auch den Raspberry PI Pico mit dieser schlanken IDE programmieren.

Wie man die Arduino IDE installiert habe ich bereits im Beitrag Arduino IDE installieren ausführlich erläutert.

  • Einrichten der Arduino IDE
  • Vorbereiten des Raspberry PI Pico für den ersten Upload über die Arduino IDE
  • Beispiele mit dem Raspberry PI Pico in der Arduino IDE
    • ein kleines „Hello World!“ auf der seriellen Schnittstelle
    • BUILD_IN LED blinken lassen

Einrichten der Arduino IDE

Bevor wir mit der Programmierung beginnen können, müssen wir den passenden Boardtreiber installieren. Diesen Boardtreiber erhalten wir wiederum nur wenn die passende „zusätzlich Boardverwalter URL“ hinzugefügt wurde.

https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json

Diese Adresse wird in den Voreinstellungen im Unterdialog „Zusätzliche Boardverwalter URLs“ hinzugefügt.

zusätzliche Boardverwalter URL in der Arduino IDE für den Raspberry PI Pico
zusätzliche Boardverwalter URL in der Arduino IDE für den Raspberry PI Pico

Wenn diese URL hinzugefügt und die Dialoge jeweils mit den Schaltflächen „OK“ bestätigt wurden, kann der Boardtreiber im Boardverwalter geladen werden.

Den Boardverwalter erreichst du über das Menü „Werkzeuge“ > „Board: xyz“ > „Boardverwalter…“. In diesem Dialog suchen wir zunächst mit dem Schlagwort „pico“ (1) nach dem Eintrag „Arduino Mbed OS RP2040 Boards“ (2). Über die Schaltfläche „Installieren“ (3) wird der Treiber installiert.

installieren des Boardtreibers für den Raspberry PI Pico
installieren des Boardtreibers für den Raspberry PI Pico

Es wird für diese Installation erweiterte Rechte für das Betriebssystem benötigt da ein zusätzlicher USB Treiber installiert wird.

zusätzlicher Treiber für den Raspberry PI Pico
zusätzlicher Treiber für den Raspberry PI Pico

Sobald die Installation abgeschlossen ist, wird ein neuer Menüpunkt „Arduino Mbed OS RP2040 Boards“.

zusätzlicher Eintrag für den Raspberry PI Pico
zusätzlicher Eintrag für den Raspberry PI Pico

Vorbereiten des Raspberry PI Pico für den ersten Upload über die Arduino IDE

Damit wir einen ersten Sketch hochladen können, müssen wir die Taste „BOOT“ gedrückt halten und den USB Stecker in die USB Buchse stecken. Es wird dann ein neues Gerät „Raspberry Pico“ erkannt und zusätzlich ein Laufwerk geöffnet.

In der Arduino IDE sehen wir dann das am COM-Port ein Raspberry PI Pico erkannt wurde.

Raspberry PI Pico am COM-Port 13 erkannt
Raspberry PI Pico am COM-Port 13 erkannt

Beispiele mit dem Raspberry PI Pico in der Arduino IDE

Im nachfolgenden möchte ich dir 2 kleine Beispiele zeigen für welche du nur deinen Microcontroller benötigst.

ein kleines „Hello World!“ auf der seriellen Schnittstelle

Wollen wir einmal ein einfaches „Hello World!“ auf der seriellen Schnittstelle ausgeben.

Dazu müssen wir zunächst die Baudrate für die Kommunikation definieren.

Serial.begin(9600);

Dieses müssen wir nur einmalig beim starten des Pico erledigen und daher wird dieses in die Funktion „setup“ geschrieben.

Um nun die Zeichenkette „Hello World!“ auf der seriellen Schnittstelle ausgeben zu können muss die Funktion „println“ auf dem Serial Objekt ausgeführt werden.

Serial.println("Hello World!");

Für eine kleine Pause, rufen wir die Funktion „delay“ auf und übergeben dort die Millisekunden für wielange der Microcontroller pausieren soll.

delay(500);

Hier nun der gesamte Code inkl. Kommentare.

void setup() {
  //initialisieren der Kommunikation mit 9600baud
  Serial.println(9600);
}

void loop() {
  //Ausgeben der Zeichenkette "Hello World!" auf der seriellen Schnittstelle
  //zusätzlich wird ein Zeilenumbruch am Ende eingefügt.
  Serial.println("Hello World!");
  //eine kleine Pause von 500ms einlegen
  delay(500);
}

BUILD_IN LED blinken lassen

Auf dem Raspberry PI Pico ist ein kleine SMD LED verbaut welche über die Konstante „LED_BUILTIN“ angesteuert werden kann.

Hier nun der Code für das aufblinken der BUILD_IN LED am Raspberry PI Pico in der Arduino IDE.

void setup() {
  //definieren das der Pin der BUILD_IN LED als Ausgang dient
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  //aktivieren der LED
  digitalWrite(LED_BUILTIN, HIGH);
  //eine kleine Pause von 250ms
  delay(250);
  //deaktivieren der LED
  digitalWrite(LED_BUILTIN, LOW);
  //eine kleine Pause von 250ms
  delay(250);
}

8 thoughts on “Raspberry PI Pico in der Arduino IDE programmieren”

  1. Norbert sagt:
    25. Mai 2022 um 11:45 Uhr

    Hallo und danke für die Einführung.
    Frage: Kann man über Arduino IDE den USB-Port adressieren?
    Ich möchte Midi daten verschicken können.

    Beste Grüße
    Micki

    Antworten
    1. stefan sagt:
      15. Juli 2022 um 07:19 Uhr

      Hallo,
      ja ist möglich. Es gibt die USB MIDI Library die auch bei Teensy Verwendung findet.
      Bin selbst erst neu aber Test Beispiele haben funktioniert. Der Pi wird als „Pico“ in deiner DAW erkannt.
      lg Stefan

      Antworten
  2. Bernd sagt:
    15. Juli 2022 um 00:28 Uhr

    Herzlichen Dank, ich habe ein interessantes Projekt auf Github gefunden, war aber nicht sicher ob die Arduino IDE was mit der Raspberry Pi Pico anfangen kann. Bernd

    Antworten
  3. Holger sagt:
    3. Juli 2023 um 10:44 Uhr

    Hallo Stefan,
    gut beschrieben. Es klappt. Vielen Dank.
    Viele Grüsse
    Holger

    Antworten
  4. JoKa sagt:
    25. August 2023 um 14:24 Uhr

    Hallo, kann ich denn auch im Arduino-Betrieb einen Autostart aktivieren? wie?

    Antworten
    1. Stefan Draeger sagt:
      26. August 2023 um 12:57 Uhr

      Hi,

      das ist eine gute Frage.
      Ich schaue mir das gerne mal an.

      Gruß, Stefan

      Antworten
  5. Norbert sagt:
    8. September 2023 um 11:17 Uhr

    Liebe Leute,
    ich brauch mal eure Einschätzung.
    Ich habe mir vor ein paar Tagen einen 4×4 RGB-Controller für die Erstellung eines Midi-Controllers zugelegt. Außerdem habe ich ein kleines Oled-Display und einen Encoder installiert und das Ganze mit Circuitpython programmiert.
    Klappt, ist aber zu langsam.
    Ich stehe jetzt vor der Aufgabe, den Controller zu beschleunigen. Was meint ihr:
    – Reicht es, das Programm mit der Arduino-IDE neu zu schreiben und dann den kompilierten Scetch zu laden.
    – Oder sollte ich direkt alles in C++ neu aufsetzen?
    – Welche Geschwindigkeits-Steigerungen kann ich erwarten?

    Für Tips und Hilfe schon jetzt mein Dank.
    Norbert

    Antworten
  6. Pingback: Kreative Experimente mit dem Raspberry Pi Pico Inventors Kit - 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}