Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
arduino-pico — Raspberry Pi Pico Arduino core, per tutte le schede RP2040 e RP2350 | Kitploit
Strumenti/GitHubGitHub/earlephilhower/arduino-pico
Sicurezza Sistemi EmbeddedSicurezza BluetoothSicurezza IoTSicurezza WirelessHacking HardwareSicurezza HardwareApprendimento e FormazioneAnalisi del Firmware
GitHubearlephilhower/arduino-pico

arduino-pico

Raspberry Pi Pico Arduino core, per tutte le schede RP2040 e RP2350

Vedi Repository
2.8k560591 giorno faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
# Arduino-Pico
[![Release](https://img.shields.io/github/v/release/earlephilhower/arduino-pico?style=plastic)](https://github.com/earlephilhower/arduino-pico/releases)
[![Gitter](https://img.shields.io/gitter/room/earlephilhower/arduino-pico?style=plastic)](https://gitter.im/arduino-pico/community)

Core Arduino per Raspberry Pi Pico, per tutte le schede RP2040 e RP2350

Questo è un port di Arduino per l'RP2040 (processore del Raspberry Pi Pico) e l'RP2350 (processore del Raspberry Pi Pico 2). Utilizza il Raspberry Pi Pico SDK puro e una toolchain personalizzata GCC 16.1/Newlib 4.6 e supporta core ARM e RISC-V.

# Documentazione
Consultare https://arduino-pico.readthedocs.io/en/latest/ insieme agli esempi per informazioni più dettagliate sull'utilizzo.

# Contribuire
Leggere la [Guida alla contribuzione](https://github.com/earlephilhower/arduino-pico/blob/master/docs/contrib.rst) per maggiori informazioni su come inviare pull request e portare librerie o sketch su questo core.

# Schede supportate
* 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 Feather RP2040 DVI
* Adafruit Feather RP2040 Adalogger
* Adafruit Feather RP2040 RFM
* Adafruit Feather RP2040 ThinkINK
* Adafruit Feather RP2040 USB Host
* Adafruit Feather RP2040 CAN
* Adafruit Feather RP2040 Prop-Maker
* Adafruit ItsyBitsy RP2040
* Adafruit Metro RP2040
* Adafruit QT Py RP2040
* Adafruit STEMMA Friend RP2040
* Adafruit Trinkey RP2040 QT
* Adafruit MacroPad RP2040
* Adafruit KB2040
* Adafruit Feather RP2350 Adalogger
* Adafruit Feather RP2350 HSTX
* Adafruit Floppsy
* Adafruit Metro RP2350
* Adafruit Fruit Jam RP2350
* Amken BunnyBoard
* 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 Nano RP2040
* Cytron Maker Pi RP2040
* Cytron Maker Uno RP2040
* Cytron Motion 2350 Pro
* Cytron Maker Sumo RP2350
* DatanoiseTV PicoADK
* DatanoiseTV PicoADK v2
* Degz Robotics Suibo RP2040
* DeRuiLab FlyBoard2040Core
* DFRobot Beetle RP2040
* L'atelier d'Arnoz DudesCab
* ElectronicCats HunterCat NFC RP2040
* EVN Alpha
* ExtremeElectronics RC2040
* GeeekPi RP2040 Plus
* GroundStudio Marble Pico
* iLabs Challenger 2040 LTE
* iLabs Challenger 2040 LoRa
* iLabs Challenger 2040 SubGHz
* iLabs Challenger 2040 WiFi
* iLabs Challenger 2040 WiFi/BLE
* iLabs Challenger 2040 WiFi6/BLE
* iLabs Challenger NB 2040 WiFi
* iLabs Challenger 2040 SD/RTC
* iLabs Challenger 2040 NFC
* iLabs Challenger 2040 UWB
* iLabs Connectivity 2040 LTE/WiFi/BLE
* iLabs RPICO32
* iLabs Challenger 2350 WiFi/BLE
* iLabs Challenger 2350 BConnect
* iLabs Challenger 2350 NB-IoT
* iLabs Challenger ZP 2350 LoRa
* iLabs CPico 2350
* Makerbase MKS THR36
* Makerbase MKS THR42
* Melopero Cookie RP2040
* Melopero Shake RP2040
* METE HOCA Akana R1
* MyMakers RP2040
* MyMakers RP2350B
* Neko Systems BL2040 Mini
* Newsan Archi
* nullbits Bit-C PRO
* Olimex Pico2BB48
* Olimex Pico2XL
* Olimex Pico2XXL
* Olimex RP2040-Pico30
* Pcbcupid GLYPH 2040
* Pcbcupid GLYPH MINI 2040
* PicoLume Transceiver
* Pimoroni PGA2040
* Pimoroni PGA2350
* Pimoroni PicoPlus2
* Pimoroni PicoPlus2W
* Pimoroni Plasma2040
* Pimoroni Plasma2350
* Pimoroni Plasma2350W
* Pimoroni Servo2040
* Pimoroni Tiny2040
* Pimoroni Tiny2350
* Pimoroni Explorer
* Pintronix PinMax
* RAKwireless RAK11300
* redscorp RP2040-Eins
* redscorp RP2040-ProMini
* Generic Sea-Picro
* Silicognition RP2040-Shim
* Solder Party RP2040 Stamp
* Solder Party RP2350 Stamp
* Solder Party RP2350 Stamp XL
* Soldered Electronics NULA RP2350
* Soldered Electronics NULA Ethernet W55RP20
* Soldered Electronics NULA Node
* SparkFun IoT RedBoard RP2350
* SparkFun MicroMod RP2040
* SparkFun ProMicro RP2040
* SparkFun ProMicro RP2350
* SparkFun Thing Plus RP2040
* SparkFun Thing Plus RP2350
* SparkFun IoT Node LoRaWAN
* SparkFun XRP Controller (Beta)
* SparkFun XRP Controller
* Seeed INDICATOR RP2040
* Seeed XIAO RP2040
* Seeed XIAO RP2040 Plus
* Seeed XIAO RP2350
* uPesy RP2040 DevKit
* VCC-GND YD RP2040
* Vicharak Shrike-Lite
* Viyalab Mizu RP2040
* Waveshare RP2040 Zero
* Waveshare RP2040 One
* Waveshare RP2040 LoRa
* Waveshare RP2040 Matrix
* Waveshare RP2040 PiZero
* Waveshare RP2040 Plus
* Waveshare RP2040 LCD 0.96
* Waveshare RP2040 LCD 1.28
* Waveshare RP2350 Core
* Waveshare RP2350 Zero
* Waveshare RP2350 PiZero
* Waveshare RP2350 Plus
* Waveshare RP2350B Plus W
* Waveshare RP2350 LCD 0.96
* Waveshare RP2350-POE-ETH
* WeAct Studio RP2350B Core Board
* 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
* Generic RP2040
* Generic RP2350

# Funzionalità
* Adafruit TinyUSB Arduino (mouse USB, tastiera, flash drive, HID generico, CDC Serial, MIDI, WebUSB, altri)
* Bluetooth sul PicoW (Classic e BLE) con tastiera, mouse, joystick e seriale virtuale
* Modalità master Bluetooth Classic e BLE HID (connettersi a tastiera, mouse o joystick BT)
* Emulazione seriale USB, tastiera, joystick e mouse Arduino generica
* WiFi (Pico W, ESPHost basato su ESP32, Atmel WINC1500)
* Ethernet (Wired WizNet W6300, WizNet W6100, WizNet W5500, WizNet W5100, ENC28J60)
* Client e server HTTP (WebServer)
* SSL/TLS/HTTPS
* Aggiornamenti Over-the-Air (OTA)
* Filesystem (LittleFS e SD/SDFS)
* Supporto multicore (setup1() e loop1())
* Supporto FreeRTOS SMP
* Overclocking e underclocking dai menu
* digitalWrite/Read, shiftIn/Out, tone, analogWrite(PWM)/Read, temperatura
* Ingresso audio stereo analogico tramite DMA e ADC integrato
* Uscita audio stereo analogica tramite hardware PWM
* Sorgente (output) e sink (input) audio Bluetooth A2DP sul PicoW
* Modalità drive USB per data logger (SingleFileDrive, FatFSUSB)
* Periferiche: SPI master/slave, Wire(I2C) master/slave, doppio UART, EEPROM emulata, ingresso/uscita audio I2S, Servo
* Output printf (cioè di debug) tramite seriale USB
* Uso trasparente di variabili globali e heap PSRAM (solo RP2350)
* Supporto ARM o RISC-V (Hazard3) per l'RP2350
* Accesso seriale e filesystem semihosted
* Supporto profilazione GPROF

Le macchine a stati (SM) PIO dell'RP2040 vengono utilizzate per generare senza jitter:
* Servo
* Toni
* Ingresso I2S
* Uscita I2S
* UART software (porte seriali)
* SPI software

# Installazione tramite Arduino Boards Manager
## Note specifiche per Windows
Si prega di non utilizzare la versione del Windows Store dell'applicazione Arduino
perché ha problemi nel rilevare le schede Pico collegate.  Utilizzare il download "Windows ZIP" o
l'eseguibile "Windows" semplice (EXE) direttamente da https://arduino.cc. e consentirgli di installare eventuali driver
di dispositivo suggeriti.  Altrimenti la scheda Pico potrebbe non essere rilevata.  Inoltre, se si prova la
versione beta 2.0 di Arduino, installare prima la versione 1.8 per assicurarsi che i driver di dispositivo necessari
siano presenti.  (Vedere #20 per maggiori dettagli.)

## Note specifiche per Linux
Installare Arduino usando flatpak (spesso utilizzato dagli "App Store" in varie distribuzioni Linux)
significa che avrà accesso limitato all'host. Questo potrebbe causare il fallimento dei caricamenti
con messaggi di errore come il seguente:

```
Scanning for RP2040 devices
...
No drive to deploy.
```

Se si incontra questo problema, sarà necessario installare Arduino in modo diverso, oppure sovrascrivere
la funzionalità di sandboxing di flatpak usando il seguente comando, quindi riavviare Arduino.

```
flatpak override --user --filesystem=host:ro cc.arduino.IDE2
```

## Installazione
Aprire l'IDE di Arduino e andare su File->Preferences.

Nella finestra di dialogo che appare, inserire il seguente URL nel campo "Additional Boards Manager URLs":

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

![image](https://assets.kitploit.com/production/public/readmes/8034/5e937a7b6b8f8b9a51e725dad3739ae268209e16ef59a716767e7b6ec877d607.png)

Premere OK per chiudere la finestra di dialogo.

Andare su Tools->Boards->Board Manager nell'IDE

Digitare "pico" nella casella di ricerca e selezionare "Add":

![image](https://assets.kitploit.com/production/public/readmes/8034/b7826e714e122c8971e10891d58f230f53f9fb92f3289478fdeb59d16163956b.png)

# Installazione tramite GIT

**Utenti Windows:**  Prima di installare tramite `git` su Windows, leggere e seguire le indicazioni in
[questo link](https://arduino-pico.readthedocs.io/en/latest/platformio.html#important-steps-for-windows-users-before-installing).
Se i percorsi lunghi Win32 non sono abilitati, e `git` non è configurato per utilizzarli, allora potrebbero
verificarsi errori durante il tentativo di clonare i sottomoduli.

Per installare tramite GIT (per le versioni più recenti e migliori) su Linux o Mac:
````
mkdir -p ~/Arduino/hardware/pico
git clone https://github.com/earlephilhower/arduino-pico.git ~/Arduino/hardware/pico/rp2040
cd ~/Arduino/hardware/pico/rp2040
git submodule update --init --recursive
cd tools
python3 ./get.py
`````

Per Windows, è necessario avere Python già installato e clonare git in un percorso diverso:
````
mkdir %USERPROFILE%\Documents\Arduino\hardware\pico
git clone https://github.com/earlephilhower/arduino-pico.git %USERPROFILE%\Documents\Arduino\hardware\pico\rp2040
cd %USERPROFILE%\Documents\Arduino\hardware\pico\rp2040
git submodule update --init --recursive
cd tools
python .\get.py
````

# Caricamento degli sketch
Per caricare il primo sketch, sarà necessario tenere premuto il pulsante BOOTSEL mentre si collega il Pico al computer.
Poi premere il pulsante di caricamento e lo sketch dovrebbe essere trasferito e iniziare a funzionare.

Dopo il primo caricamento, questo non dovrebbe essere più necessario poiché il core `arduino-pico` ha il supporto per l'auto-reset.
Selezionare la porta seriale appropriata mostrata nel menu Arduino Tools->Port->Serial Port una volta (questa impostazione rimarrà e non dovrà essere
toccata per più caricamenti).   Questa selezione consente allo strumento di auto-reset di identificare il dispositivo corretto da resettare.
Poi premere il pulsante di caricamento e lo sketch dovrebbe caricarsi ed essere eseguito.

In alcuni casi il Pico potrebbe incontrare un blocco totale e la sua porta USB non risponderà alla richiesta di auto-reset.  Se ciò accade, basta
seguire la procedura iniziale di tenere premuto il pulsante BOOTSEL mentre si collega il Pico per entrare nel bootloader ROM.

# Caricamento delle immagini del filesystem
Il filesystem flash integrato per il Pico, LittleFS, consente di caricare un'immagine del filesystem dalla directory dello sketch affinché il tuo sketch possa utilizzarla.  Scaricare il plugin necessario da
* https://github.com/earlephilhower/arduino-pico-littlefs-plugin/releases

Per installare, seguire le indicazioni in
* https://github.com/earlephilhower/arduino-pico-littlefs-plugin/blob/master/README.md

Per informazioni dettagliate sull'utilizzo, consultare la documentazione del repository ESP8266 (ignorare le note relative a SPIFFS) disponibile su
* https://arduino-pico.readthedocs.io/en/latest/fs.html

# Caricamento degli sketch con Picoprobe/Debugprobe
Se hai costruito un Raspberry Pi Picoprobe, puoi usare OpenOCD per gestire il caricamento degli sketch e per il debug con GDB.

Sotto Windows un utente amministratore locale dovrebbe essere in grado di accedere automaticamente alla porta del Picoprobe, ma sotto Linux è necessario informare `udev` del dispositivo e consentire l'accesso agli utenti normali.

Per configurare l'accesso a livello utente ai Picoprobe su Ubuntu (e altri sistemi operativi che usano `udev`):
````
echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="2e8a", ATTRS{idProduct}=="0004", MODE="660", GROUP-"plugdev"' | sudo tee -a /etc/udev/rules.d/98-PicoProbe.rules
echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="2e8a", ATTRS{idProduct}=="000a", MODE="660", GROUP="plugdev"' | sudo tee -a /etc/udev/rules.d/98-PicoProbe.rules
echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="2e8a", ATTRS{idProduct}=="000f", MODE="660", GROUP="plugdev"' | sudo tee -a /etc/udev/rules.d/98-PicoProbe.rules
sudo udevadm control --reload
sudo udevadm trigger -w -s usb
````

La prima riga crea un file di dispositivo in `/dev` che corrisponde all'ID fornitore e prodotto USB del Picoprobe, e abilita i permessi globali di lettura+scrittura. La seconda riga fa sì che `udev` carichi questa nuova regola. La terza riga richiede al kernel di generare eventi di "cambio dispositivo" che faranno eseguire la nostra nuova regola `udev`. 

Se per qualche motivo il file di dispositivo non appare, scollegare e ricollegare manualmente la connessione USB e controllare di nuovo. L'output di `dmesg` può rivelare diagnostiche utili se il file di dispositivo rimane assente.

Una volta che i permessi del Picoprobe sono configurati correttamente, selezionare la scheda "Raspberry Pi Pico (Picoprobe)" nel menu Tools e caricare come al solito.

# Debug con Picoprobe, OpenOCD e GDB
Gli strumenti installati includono una versione di OpenOCD (nella directory pqt-openocd) e GDB (nella directory pqt-gcc).  Questi possono essere utilizzati per eseguire GDB in una finestra interattiva come documentato nei manuali Pico Getting Started della Raspberry Pi Foundation.  Usare la riga di comando `./system/openocd/bin/openocd -f ./lib/rp2040/picoprobe_cmsis_dap.tcl` o `./system/openocd/bin/openocd -f ./lib/rp2350/picoprobe_cmsis_dap.tcl` dalla directory di installazione `git`.

# Licenza e crediti
* L'[Arduino IDE e ArduinoCore-API](https://arduino.cc) sono sviluppati e mantenuti dal team Arduino. L'IDE è concesso in licenza sotto GPL.
* La [toolchain RP2040 basata su GCC](https://github.com/earlephilhower/pico-quick-toolchain) è concessa in licenza sotto la GPL.
* Il [Pico-SDK](https://github.com/raspberrypi/pico-sdk) è di Raspberry Pi (Trading) Ltd e concesso in licenza sotto la licenza BSD 3-Clause.
* I file del core [Arduino-Pico](https://github.com/earlephilhower/arduino-pico) sono concessi in licenza sotto la LGPL.
* La libreria [LittleFS](https://github.com/ARMmbed/littlefs) scritta da ARM Limited e rilasciata sotto la [licenza BSD 3-clause](https://github.com/ARMmbed/littlefs/blob/master/LICENSE.md).
* [UF2CONV.PY](https://github.com/microsoft/uf2) è di Microsoft Corporation e concesso in licenza sotto la licenza MIT.
* Il codice di networking e filesystem è tratto dall'[ESP8266 Arduino Core](https://github.com/esp8266/Arduino) e concesso in licenza sotto la LGPL.
* Il server DHCP per la modalità host AP proviene dal [Micropython Project](https://micropython.org), distribuito sotto la licenza MIT.
* [FreeRTOS](https://freertos.org) è copyright Amazon.com, Inc. o sue affiliate, e distribuito sotto la licenza MIT.
* [lwIP](https://savannah.nongnu.org/projects/lwip/) è (c) del Swedish Institute of Computer Science e concesso in licenza sotto la licenza BSD.
* La libreria [BearSSL](https://bearssl.org) scritta da Thomas Pornin, è distribuita sotto la [licenza MIT](https://bearssl.org/#legal-details).
* [UZLib](https://github.com/pfalcon/uzlib) è copyright (c) 2003 Joergen Ibsen e distribuito sotto la licenza zlib.
* [LEAmDNS](https://github.com/LaborEtArs/ESP8266mDNS) è copyright di molteplici autori e distribuito sotto la licenza MIT.
* [http-parser](https://github.com/nodejs/http-parser) è copyright di Joyent, Inc. e altri contributori di Node.
* Il codice WebServer è modificato dall'[ESP32 WebServer](https://github.com/espressif/arduino-esp32/tree/master/libraries/WebServer) ed è copyright (c) 2015 Ivan Grokhotkov e altri.
* [Xoshiro-cpp](https://github.com/Reputeless/Xoshiro-cpp) è copyright (c) 2020 Ryo Suzuki e distribuito sotto la licenza MIT.
* Il codice del [filesystem di basso livello FatFS](http://elm-chan.org/fsw/ff/) è Copyright (C) 2024, ChaN, tutti i diritti riservati.
* Il [gestore di memoria TLSF per PSRAM dal fork Espressif](https://github.com/espressif/tlsf) dell'[originale](https://github.com/mattconte/tlsf) di Matthew Conte è copyright Matthew Conte e concesso in licenza sotto la licenza MIT.
* La [libreria ESPHost](https://github.com/Networking-for-Arduino/ESPHost) è concessa in licenza LGPL dai suoi manutentori.
* La [libreria iLabs_ESP-NOW](https://github.com/PontusO/iLabs_ESP-NOW) è concessa in licenza sotto la licenza MIT da iLabs Electronics.
* La [libreria iLabs_Hearth](https://github.com/PontusO/iLabs_Hearth) è concessa in licenza sotto la licenza MIT da iLabs Electronics.
* La libreria per fotocamera [PicoCamera](https://github.com/umeiko/PicoCamera) è concessa in licenza sotto la licenza MIT da umeko.

-Earle F. Philhower, III  
 [email protected]
Scarica lo strumento