Arduino-Pico

Raspberry Pi Pico Arduino-Core für alle RP2040- und RP2350-Boards
Dies ist ein Port von Arduino auf den RP2040 (Raspberry Pi Pico Prozessor) und RP2350 (Raspberry Pi Pico 2 Prozessor). Es verwendet das reine Raspberry Pi Pico SDK und eine benutzerdefinierte GCC 14.3/Newlib 4.5-Toolchain und unterstützt ARM- und RISC-V-Kerne.
Dokumentation
Siehe https://arduino-pico.readthedocs.io/en/latest/ zusammen mit den Beispielen für detailliertere Nutzungsinformationen.
Mitwirken
Lesen Sie den Leitfaden zum Mitwirken für weitere Informationen zum Einreichen von Pull-Requests und zum Portieren von Bibliotheken oder Skizzen auf diesen Core.
Unterstützte Boards
- Raspberry Pi Pico
- Raspberry Pi Pico W
- Raspberry Pi Pico 2
- Raspberry Pi Pico 2W
- 0xCB Helios
- Adafruit Feather RP2040
- Adafruit Feather RP2040 SCORPIO
- Adafruit Floppsy RP2040
- Adafruit ItsyBitsy RP2040
- Adafruit KB2040
- Adafruit Macropad RP2040
- Adafruit Metro RP2040
- Adafruit Metro RP2350
- Adafruit QTPy RP2040
- Adafruit STEMMA Friend RP2040
- Adafruit Trinkey RP2040 QT
- Amken Bunny
- Amken Revelop
- Amken Revelop Plus
- Amken Revelop eS
- Architeuthis Flux Jumperless
- Architeuthis Flux Jumperless V5
- Arduino Nano RP2040 Connect
- ArtronShop RP2 Nano
- BIGTREETECH SKR-Pico
- Breadstick Raspberry
- BridgeTek IDM2040-7A
- BridgeTek IDM2040-43A
- Cytron IRIV IO Controller
- Cytron Maker Pi RP2040
- Cytron Maker Nano RP2040
- Cytron Maker Uno RP2040
- Cytron Motion 2350 Pro
- Datanoise PicoADK v1
- Datanoise PicoADK v2 (RP2350)
- Degz Suibo RP2040
- DeRuiLab FlyBoard2040 Core
- DFRobot Beetle RP2040
- ElectronicCats Hunter Cat NFC
- EVN Alpha
- ExtremeElectronics RC2040
- GeeekPi RP2040 Plus
- GroundStudio Marble Pico
- Invector Labs Challenger RP2040 WiFi
- Invector Labs Challenger RP2040 WiFi/BLE
- Invector Labs Challenger RP2040 WiFi6/BLE
- Invector Labs Challenger NB RP2040 WiFi
- Invector Labs Challenger RP2040 LTE
- Invector Labs Challenger RP2040 LoRa
- Invector Labs Challenger RP2040 SubGHz
- Invector Labs Challenger RP2040 SD/RTC
- Invector Labs Challenger RP2040 UWB
- Invector Labs Challenger+ RP2350 BConnect
- Invector Labs Challenger+ RP2350 WiFi/BLE
- Invector Labs Challenger+ RP2350 NB-IoT
- Invector Labs RPICO32
- Melopero Cookie RP2040
- Melopero Shake RP2040
- METE HOCA Akana R1
- Makerbase MKSTHR36
- Makerbase MKSTHR42
- MyMakers RP2040
- Neko Systems BL2040 Mini
- Newsan Archi
- nullbits Bit-C PRO
- Olimex Pico2XL
- Olimex Pico2XXL
- Olimex RP2040-Pico30
- PicoLume Transceiver
- Pimoroni PGA2040
- Pimoroni Pico Plus 2
- Pimoroni Pico Plus 2W
- Pimoroni Plasma2040
- Pimoroni Plasma2350
- Pimoroni Plasma2350W
- Pimoroni Servo2040
- Pimoroni Tiny2040
- Pimoroni Tiny2350
- Pintronix PinMax
- PCBCupid Glyph 2040
- PCBCupid Glyph Mini 2040
- RAKwireless RAK11300
- Redscorp RP2040-Eins
- Redscorp RP2040-ProMini
- Sea-Picro
- Seeed Indicator RP2040
- Seeed XIAO RP2040
- Seeed XIAO RP2040 Plus
- Seeed XIAO RP2350
- Silicognition RP2040-Shim
- Solder Party RP2040 Stamp
- Solder Party RP2350 Stamp
- Solder Party RP2350 Stamp XL
- Soldered Electronics NULA Ethernet W55RP20
- Soldered Electronics NULA RP2350
- SparkFun IoT RedBoard RP2350
- SparkFun MicroMod RP2040
- SparkFun ProMicro RP2040
- SparkFun ProMicro RP2350
- SparkFun Thing Plus RP2040
- SparkFun Thing Plus RP2350
- SparkFun XRP Controller
- uPesy RP2040 DevKit
- VCC-GND YD-RP2040
- Viyalab Mizu RP2040
- Waveshare RP2040 Zero
- Waveshare RP2040 One
- Waveshare RP2040 Plus
- Waveshare RP2040 LCD 0.96
- Waveshare RP2040 LCD 1.28
- Waveshare RP2040 LoRa
- Waveshare RP2040 Matrix
- Waveshare RP2040 PiZero
- Waveshare RP2350 Zero
- Waveshare RP2350 PiZero
- Waveshare RP2350 Plus
- Waveshare RP2350 Plus W
- Waveshare RP2350 LCD 0.96
- WIZnet W5100S-EVB-Pico
- WIZnet W5100S-EVB-Pico2
- WIZnet W5500-EVB-Pico
- WIZnet W5500-EVB-Pico2
- WIZnet W55RP20-EVB-Pico
- WIZnet W6300-EVB-Pico
- WIZnet W6300-EVB-Pico2
- WIZnet WizFi360-EVB-Pico
- Generisches RP2040 (konfigurierbarer Flash, I/O-Pins)
- Generisches RP2350 (konfigurierbarer Flash, I/O-Pins)
Funktionen
- Adafruit TinyUSB Arduino (USB-Maus, -Tastatur, -Flash-Laufwerk, generisches HID, CDC-Seriell, MIDI, WebUSB, andere)
- Bluetooth auf dem PicoW (Classic und BLE) mit Tastatur, Maus, Joystick und virtuellem seriellem Port
- Bluetooth Classic und BLE HID-Master-Modus (Verbindung mit BT-Tastatur, -Maus oder -Joystick)
- Generische Arduino USB-Serielle, -Tastatur, -Joystick und -Maus-Emulation
- WiFi (Pico W, ESP32-basiertes ESPHost, Atmel WINC1500)
- Ethernet (kabelgebunden WizNet W6300, WizNet W6100, WizNet W5500, WizNet W5100, ENC28J60)
- HTTP-Client und -Server (WebServer)
- SSL/TLS/HTTPS
- Over-the-Air (OTA)-Updates
- Dateisysteme (LittleFS und SD/SDFS)
- Multicore-Unterstützung (setup1() und loop1())
- FreeRTOS SMP-Unterstützung
- Übertakten und Untertakten über die Menüs
- digitalWrite/Read, shiftIn/Out, tone, analogWrite(PWM)/Read, Temperatur
- Analoges Stereo-Audio-Eingang über DMA und den eingebauten ADC
- Analoger Stereo-Audio-Ausgang über PWM-Hardware
- Bluetooth A2DP-Audioquelle (Ausgabe) und -Senke (Eingabe) auf dem PicoW
- USB-Laufwerk-Modus für Datenlogger (SingleFileDrive, FatFSUSB)
- Peripherie: SPI-Master/Slave, Wire(I2C)-Master/Slave, dualer UART, emuliertes EEPROM, I2S-Audio-Ein-/Ausgabe, Servo
- printf (d.h. Debug)-Ausgabe über USB-Seriell
- Transparente Nutzung von PSRAM-Globals und -Heap (nur RP2350)
- ARM- oder RISC-V (Hazard3)-Unterstützung für den RP2350
- Semihosted-Serielle und Dateisystemzugriff
- GPROF-Profiling-Unterstützung
Die RP2040 PIO-Zustandsmaschinen (SMs) werden verwendet, um jitterfreie:
- Servos
- Töne
- I2S-Eingang
- I2S-Ausgang
- Software-UARTs (serielle Ports)
- Software-SPIs
zu erzeugen.
Installation über den Arduino-Boardverwalter
Windows-spezifische Hinweise
Bitte verwenden Sie nicht die Windows Store-Version der eigentlichen Arduino-Anwendung, da diese Probleme beim Erkennen angeschlossener Pico-Boards hat. Verwenden Sie die "Windows ZIP" oder die normale "Windows"-ausführbare Datei (EXE) direkt von https://arduino.cc und lassen Sie zu, dass sie alle vorgeschlagenen Gerätetreiber installiert. Andernfalls wird das Pico-Board möglicherweise nicht erkannt. Wenn Sie die 2.0 Beta von Arduino ausprobieren, installieren Sie bitte vorher die Version 1.8, um sicherzustellen, dass die erforderlichen Gerätetreiber vorhanden sind. (Siehe #20 für weitere Details.)
Linux-spezifische Hinweise
Die Installation von Arduino über flatpak (häufig von "App Stores" in verschiedenen Linux-Distributionen verwendet) bedeutet, dass der Zugriff auf den Host eingeschränkt ist. Dies kann dazu führen, dass Uploads mit Fehlermeldungen wie der folgenden fehlschlagen:
Scanning for RP2040 devices
...
No drive to deploy.
Wenn dies auftritt, müssen Sie Arduino entweder auf andere Weise installieren oder die Flatpak-Sandbox-Funktion mit dem folgenden Befehl überschreiben und dann Arduino neu starten.
flatpak override --user --filesystem=host:ro cc.arduino.IDE2
Installation
Öffnen Sie die Arduino-IDE und gehen Sie zu Datei->Voreinstellungen.
Geben Sie im daraufhin erscheinenden Dialogfeld die folgende URL in das Feld "Zusätzliche Boardverwalter-URLs" ein:
https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json

Klicken Sie auf OK, um das Dialogfeld zu schließen.
Gehen Sie in der IDE zu Werkzeuge->Boards->Boardverwalter