Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
arduino-pico — Cœur Arduino pour Raspberry Pi Pico, pour toutes les cartes RP2040 et RP2350 | Kitploit
Outils/GitHubGitHub/earlephilhower/arduino-pico
Sécurité des Systèmes EmbarquésSécurité BluetoothSécurité IoTSécurité Sans FilHacking MatérielSécurité MatérielleApprentissage et ÉducationAnalyse de Micrologiciel
GitHubearlephilhower/arduino-pico

arduino-pico

Cœur Arduino pour Raspberry Pi Pico, pour toutes les cartes RP2040 et RP2350

Voir le dépôt
2.8k56059il y a 1 jourVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
# 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)

Cœur Arduino pour Raspberry Pi Pico, pour toutes les cartes RP2040 et RP2350

Il s'agit d'un portage d'Arduino vers le RP2040 (processeur de la Raspberry Pi Pico) et le RP2350 (processeur de la Raspberry Pi Pico 2). Il utilise le SDK nu de la Raspberry Pi Pico et une chaîne d'outils personnalisée GCC 16.1/Newlib 4.6 et prend en charge les cœurs ARM et RISC-V.

# Documentation
Voir https://arduino-pico.readthedocs.io/en/latest/ ainsi que les exemples pour des informations d'utilisation plus détaillées.

# Contribution
Lisez le [Guide de contribution](https://github.com/earlephilhower/arduino-pico/blob/master/docs/contrib.rst) pour plus d'informations sur la soumission de pull requests et le portage de bibliothèques ou de sketches vers ce cœur.

# Cartes prises en charge
* 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

# Fonctionnalités
* Adafruit TinyUSB Arduino (souris USB, clavier, clé USB, HID générique, CDC Serial, MIDI, WebUSB, autres)
* Bluetooth sur la PicoW (Classic et BLE) avec clavier, souris, joystick et port série virtuel
* Mode maître Bluetooth Classic et BLE HID (connexion à un clavier, une souris ou un joystick BT)
* Émulation générique Arduino USB Serial, clavier, joystick et souris
* WiFi (Pico W, ESPHost basé sur ESP32, Atmel WINC1500)
* Ethernet (WizNet W6300 filaire, WizNet W6100, WizNet W5500, WizNet W5100, ENC28J60)
* Client et serveur HTTP (WebServer)
* SSL/TLS/HTTPS
* Mises à jour Over-the-Air (OTA)
* Systèmes de fichiers (LittleFS et SD/SDFS)
* Prise en charge multicœur (setup1() et loop1())
* Prise en charge FreeRTOS SMP
* Overclocking et underclocking depuis les menus
* digitalWrite/Read, shiftIn/Out, tone, analogWrite(PWM)/Read, température
* Entrée audio stéréo analogique via DMA et l'ADC intégré
* Sortie audio stéréo analogique via le matériel PWM
* Source (sortie) et récepteur (entrée) audio Bluetooth A2DP sur la PicoW
* Mode lecteur USB pour les enregistreurs de données (SingleFileDrive, FatFSUSB)
* Périphériques : SPI maître/esclave, Wire(I2C) maître/esclave, double UART, EEPROM émulée, entrée/sortie audio I2S, Servo
* Sortie printf (c'est-à-dire de débogage) via le port série USB
* Utilisation transparente des variables globales et du tas PSRAM (RP2350 uniquement)
* Prise en charge ARM ou RISC-V (Hazard3) pour le RP2350
* Accès série et système de fichiers en mode semihosted
* Prise en charge du profilage GPROF

Les machines à états (SM) PIO du RP2040 sont utilisées pour générer sans gigue :
* Servos
* Tonalités
* Entrée I2S
* Sortie I2S
* UART logiciels (ports série)
* SPI logiciels

# Installation via le gestionnaire de cartes Arduino
## Notes spécifiques à Windows
Veuillez ne pas utiliser la version du Windows Store de l'application Arduino elle-même
car elle a des problèmes pour détecter les cartes Pico connectées. Utilisez le "Windows ZIP" ou le simple exécutable
"Windows" (EXE) téléchargé directement depuis https://arduino.cc. et laissez-le installer tous les pilotes
de périphériques qu'il propose. Sinon, la carte Pico risque de ne pas être détectée. De plus, si vous essayez la
version bêta 2.0 d'Arduino, veuillez d'abord installer la version 1.8 pour vous assurer que les pilotes de périphériques
nécessaires sont présents. (Voir #20 pour plus de détails.)

## Notes spécifiques à Linux
Installer Arduino via flatpak (souvent utilisé par les "App Stores" de diverses distributions Linux)
signifie qu'il aura un accès restreint à l'hôte. Cela peut entraîner l'échec des téléversements
avec des messages d'erreur tels que les suivants :

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

Si vous rencontrez cela, vous devrez soit installer Arduino d'une autre manière, soit contourner
la fonctionnalité de sandboxing de flatpak à l'aide de la commande suivante, puis redémarrer Arduino.

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

## Installation
Ouvrez l'IDE Arduino et allez dans Fichier->Préférences.

Dans la boîte de dialogue qui s'ouvre, saisissez l'URL suivante dans le champ "URL de gestionnaire de cartes supplémentaires" :

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

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

Cliquez sur OK pour fermer la boîte de dialogue.

Allez dans Outils->Cartes->Gestionnaire de cartes dans l'IDE

Tapez "pico" dans la zone de recherche et sélectionnez "Ajouter" :

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

# Installation via GIT

**Utilisateurs Windows :** Avant d'installer via `git` sous Windows, veuillez lire et suivre les instructions de
[ce lien](https://arduino-pico.readthedocs.io/en/latest/platformio.html#important-steps-for-windows-users-before-installing).
Si les chemins longs Win32 ne sont pas activés, et que `git` n'est pas configuré pour les utiliser, il
peut y avoir des erreurs lors de la tentative de clonage des sous-modules.

Pour installer via GIT (pour les versions les plus récentes) sous Linux ou 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
`````

Pour Windows, vous devez avoir Python déjà installé et cloner git dans un chemin différent :
````
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
````

# Téléversement des sketches
Pour téléverser votre premier sketch, vous devrez maintenir le bouton BOOTSEL enfoncé tout en branchant la Pico à votre ordinateur.
Appuyez ensuite sur le bouton de téléversement et le sketch devrait être transféré et commencer à s'exécuter.

Après le premier téléversement, cela ne devrait plus être nécessaire car le cœur `arduino-pico` dispose d'une prise en charge de la réinitialisation automatique.
Sélectionnez une fois le port série approprié affiché dans le menu Outils->Port->Port série d'Arduino (ce paramètre sera conservé et n'a pas besoin d'être
modifié pour plusieurs téléversements). Cette sélection permet à l'outil de réinitialisation automatique d'identifier le périphérique approprié à réinitialiser.
Appuyez ensuite sur le bouton de téléversement et votre sketch devrait se téléverser et s'exécuter.

Dans certains cas, la Pico peut rencontrer un blocage matériel et son port USB ne répondra pas à la demande de réinitialisation automatique. Si cela se produit, suivez simplement
la procédure initiale consistant à maintenir le bouton BOOTSEL enfoncé tout en branchant la Pico pour entrer dans le bootloader ROM.

# Téléversement d'images de système de fichiers
Le système de fichiers flash intégré de la Pico, LittleFS, vous permet de téléverser une image de système de fichiers depuis le répertoire du sketch pour que votre sketch puisse l'utiliser. Téléchargez le plugin nécessaire depuis
* https://github.com/earlephilhower/arduino-pico-littlefs-plugin/releases

Pour installer, suivez les instructions de
* https://github.com/earlephilhower/arduino-pico-littlefs-plugin/blob/master/README.md

Pour des informations d'utilisation détaillées, veuillez consulter la documentation du dépôt ESP8266 (ignorez les notes relatives à SPIFFS) disponible à l'adresse
* https://arduino-pico.readthedocs.io/en/latest/fs.html

# Téléversement de sketches avec Picoprobe/Debugprobe
Si vous avez construit une Raspberry Pi Picoprobe, vous pouvez utiliser OpenOCD pour gérer le téléversement de vos sketches et pour le débogage avec GDB.

Sous Windows, un utilisateur administrateur local devrait pouvoir accéder automatiquement au port Picoprobe, mais sous Linux, `udev` doit être informé du périphérique et autoriser l'accès aux utilisateurs normaux.

Pour configurer l'accès au niveau utilisateur aux Picoprobes sur Ubuntu (et autres OS utilisant `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 première ligne crée un fichier de périphérique dans `/dev` correspondant à l'ID de fournisseur et de produit USB de la Picoprobe, et active les permissions globales de lecture+écriture. La deuxième ligne amène `udev` à charger cette nouvelle règle. La troisième ligne demande au noyau de générer des événements "changement de périphérique" qui déclencheront l'exécution de notre nouvelle règle `udev`.

Si pour une raison quelconque le fichier de périphérique n'apparaît pas, débranchez et rebranchez manuellement la connexion USB et vérifiez à nouveau. La sortie de `dmesg` peut révéler des diagnostics utiles si le fichier de périphérique reste absent.

Une fois les permissions de la Picoprobe correctement configurées, sélectionnez la carte "Raspberry Pi Pico (Picoprobe)" dans le menu Outils et téléversez normalement.

# Débogage avec Picoprobe, OpenOCD et GDB
Les outils installés incluent une version d'OpenOCD (dans le répertoire pqt-openocd) et de GDB (dans le répertoire pqt-gcc). Ceux-ci peuvent être utilisés pour exécuter GDB dans une fenêtre interactive comme documenté dans les manuels Pico Getting Started de la Raspberry Pi Foundation. Utilisez la ligne de commande `./system/openocd/bin/openocd -f ./lib/rp2040/picoprobe_cmsis_dap.tcl` ou `./system/openocd/bin/openocd -f ./lib/rp2350/picoprobe_cmsis_dap.tcl` depuis le répertoire d'installation `git`.

# Licence et crédits
* L'[IDE Arduino et ArduinoCore-API](https://arduino.cc) sont développés et maintenus par l'équipe Arduino. L'IDE est sous licence GPL.
* La [chaîne d'outils RP2040 basée sur GCC](https://github.com/earlephilhower/pico-quick-toolchain) est sous licence GPL.
* Le [Pico-SDK](https://github.com/raspberrypi/pico-sdk) est de Raspberry Pi (Trading) Ltd et sous licence BSD 3-Clause.
* Les fichiers du cœur [Arduino-Pico](https://github.com/earlephilhower/arduino-pico) sont sous licence LGPL.
* La bibliothèque [LittleFS](https://github.com/ARMmbed/littlefs) écrite par ARM Limited et publiée sous la [licence BSD 3-clause](https://github.com/ARMmbed/littlefs/blob/master/LICENSE.md).
* [UF2CONV.PY](https://github.com/microsoft/uf2) est de Microsoft Corporation et sous licence MIT.
* Le code de réseau et de système de fichiers provient de l'[ESP8266 Arduino Core](https://github.com/esp8266/Arduino) et est sous licence LGPL.
* Le serveur DHCP pour le mode hôte AP provient du [Micropython Project](https://micropython.org), distribué sous licence MIT.
* [FreeRTOS](https://freertos.org) est copyright Amazon.com, Inc. ou ses affiliés, et distribué sous licence MIT.
* [lwIP](https://savannah.nongnu.org/projects/lwip/) est (c) le Swedish Institute of Computer Science et sous licence BSD.
* La bibliothèque [BearSSL](https://bearssl.org) écrite par Thomas Pornin, est distribuée sous la [licence MIT](https://bearssl.org/#legal-details).
* [UZLib](https://github.com/pfalcon/uzlib) est copyright (c) 2003 Joergen Ibsen et distribué sous licence zlib.
* [LEAmDNS](https://github.com/LaborEtArs/ESP8266mDNS) est copyright de plusieurs auteurs et distribué sous licence MIT.
* [http-parser](https://github.com/nodejs/http-parser) est copyright Joyent, Inc. et d'autres contributeurs Node.
* Le code WebServer est modifié à partir de l'[ESP32 WebServer](https://github.com/espressif/arduino-esp32/tree/master/libraries/WebServer) et est copyright (c) 2015 Ivan Grokhotkov et autres.
* [Xoshiro-cpp](https://github.com/Reputeless/Xoshiro-cpp) est copyright (c) 2020 Ryo Suzuki et distribué sous licence MIT.
* Le code du [système de fichiers de bas niveau FatFS](http://elm-chan.org/fsw/ff/) est Copyright (C) 2024, ChaN, tous droits réservés.
* Le [gestionnaire de mémoire TLSF pour PSRAM du fork Espressif](https://github.com/espressif/tlsf) de l'[original](https://github.com/mattconte/tlsf) par Matthew Conte est copyright Matthew Conte et sous licence MIT.
* La [bibliothèque ESPHost](https://github.com/Networking-for-Arduino/ESPHost) est sous licence LGPL par ses mainteneurs.
* La [bibliothèque iLabs_ESP-NOW](https://github.com/PontusO/iLabs_ESP-NOW) est sous licence MIT par iLabs Electronics.
* La [bibliothèque iLabs_Hearth](https://github.com/PontusO/iLabs_Hearth) est sous licence MIT par iLabs Electronics.
* La bibliothèque de caméra [PicoCamera](https://github.com/umeiko/PicoCamera) est sous licence MIT par umeko.

-Earle F. Philhower, III  
 [email protected]
Télécharger l’outil