Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
arduino-pico — Raspberry Pi Pico Arduino core, para todas las placas RP2040 y RP2350 | Kitploit
Herramientas/GitHubGitHub/earlephilhower/arduino-pico
Seguridad de Sistemas EmbebidosSeguridad BluetoothSeguridad IoTSeguridad InalámbricaHacking de HardwareSeguridad de HardwareAprendizaje y EducaciónAnálisis de Firmware
GitHubearlephilhower/arduino-pico

arduino-pico

Raspberry Pi Pico Arduino core, para todas las placas RP2040 y RP2350

Ver Repositorio
2.8k560hace 1 díaRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Arduino-Pico

Release Gitter

Núcleo Arduino para Raspberry Pi Pico, para todas las placas RP2040 y RP2350

Se trata de un port de Arduino para el RP2040 (procesador Raspberry Pi Pico) y el RP2350 (procesador Raspberry Pi Pico 2). Utiliza el SDK básico de Raspberry Pi Pico y un toolchain personalizado GCC 14.3/Newlib 4.5, y es compatible con núcleos ARM y RISC-V.

Documentación

Consulta https://arduino-pico.readthedocs.io/en/latest/ junto con los ejemplos para obtener información de uso más detallada.

Contribuciones

Lee la Guía de contribución para obtener más información sobre cómo enviar pull requests y portar librerías o sketches a este núcleo.

Placas compatibles

  • 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
  • Generic RP2040 (flash configurable, pines de E/S)
  • Generic RP2350 (flash configurable, pines de E/S)

Características

  • Adafruit TinyUSB Arduino (ratón USB, teclado, unidad flash, HID genérico, CDC Serial, MIDI, WebUSB, otros)
  • Bluetooth en la PicoW (Clásico y BLE) con teclado, ratón, joystick y serial virtual
  • Modo maestro HID Bluetooth Clásico y BLE (conecta a teclado, ratón o joystick BT)
  • Emulación genérica de USB Serial, teclado, joystick y ratón de Arduino
  • WiFi (Pico W, ESPHost basado en ESP32, Atmel WINC1500)
  • Ethernet (WizNet W6300 cableado, WizNet W6100, WizNet W5500, WizNet W5100, ENC28J60)
  • Cliente y servidor HTTP (WebServer)
  • SSL/TLS/HTTPS
  • Actualizaciones Over-the-Air (OTA)
  • Sistemas de archivos (LittleFS y SD/SDFS)
  • Soporte multinúcleo (setup1() y loop1())
  • Soporte FreeRTOS SMP
  • Overclocking y underclocking desde los menús
  • digitalWrite/Read, shiftIn/Out, tone, analogWrite(PWM)/Read, temperature
  • Entrada de audio estéreo analógico mediante DMA y el ADC integrado
  • Salida de audio estéreo analógico mediante hardware PWM
  • Fuente (salida) y sumidero (entrada) de audio Bluetooth A2DP en la PicoW
  • Modo unidad USB para registradores de datos (SingleFileDrive, FatFSUSB)
  • Periféricos: SPI maestro/esclavo, Wire(I2C) maestro/esclavo, UART dual, EEPROM emulada, entrada/salida de audio I2S, Servo
  • Salida de printf (es decir, depuración) a través del USB serial
  • Uso transparente de globales y heap de PSRAM (solo RP2350)
  • Soporte ARM o RISC-V (Hazard3) para el RP2350
  • Acceso a serial y sistema de archivos semihospedados
  • Soporte de perfilado GPROF

Las máquinas de estado PIO (SMs) del RP2040 se utilizan para generar sin jitter:

  • Servos
  • Tonos
  • Entrada I2S
  • Salida I2S
  • UARTs por software (puertos serie)
  • SPIs por software

Instalación mediante el Gestor de Placas de Arduino

Notas específicas para Windows

Por favor, no utilices la versión de Windows Store de la aplicación Arduino, ya que tiene problemas para detectar las placas Pico conectadas. Usa la descarga directa del ejecutable (EXE) "Windows ZIP" o "Windows" desde https://arduino.cc y permite que instale cualquier controlador de dispositivo que sugiera. De lo contrario, es posible que la placa Pico no se detecte. Además, si estás probando el Arduino beta 2.0, instala previamente la versión 1.8 para asegurarte de que los controladores de dispositivo necesarios estén presentes. (Consulta #20 para más detalles).

Notas específicas para Linux

Instalar Arduino mediante flatpak (a menudo utilizado por las "tiendas de aplicaciones" en varias distribuciones de Linux) implicará que tiene acceso restringido al host. Esto puede hacer que las subidas fallen con mensajes de error como los siguientes:

root@kitploit:~
Scanning for RP2040 devices
...
No drive to deploy.

Si te encuentras con esto, deberás instalar Arduino de otra manera o anular la función de sandboxing de flatpak usando el siguiente comando, y luego reiniciar Arduino.

root@kitploit:~
flatpak override --user --filesystem=host:ro cc.arduino.IDE2

Instalación

Abre el IDE de Arduino y ve a Archivo->Preferencias.

En el diálogo que aparece, introduce la siguiente URL en el campo "URLs adicionales de Gestor de placas":

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

image

Pulsa OK para cerrar el diálogo.

Ve a Herramientas->Placas->Gestor de placas en el IDE

Escribe "pico" en el cuadro de búsqueda y selecciona "Añadir":

image

Instalación mediante GIT

Usuarios de Windows: Antes de instalar mediante git en Windows, lee y sigue las instrucciones en este enlace. Si las rutas largas de Win32 no están habilitadas, y git no está configurado para usarlas, pueden producirse errores al intentar clonar los submódulos.

Para instalar mediante GIT (para las versiones más recientes y mejores) en Linux o Mac:

root@kitploit:~
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

Para Windows, necesitas tener Python ya instalado y clonar git en una ruta diferente:

root@kitploit:~
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

Subir Sketches

Para subir tu primer sketch, tendrás que mantener pulsado el botón BOOTSEL mientras conectas la Pico a tu ordenador. Luego pulsa el botón de subir y el sketch debería transferirse y empezar a ejecutarse.

Después de la primera subida, esto no debería ser necesario, ya que el núcleo arduino-pico tiene soporte de auto-reset. Selecciona una vez el puerto serie apropiado que se muestra en el menú Herramientas->Puerto->Puerto serie de Arduino (este ajuste se mantiene y no es necesario tocarlo para múltiples subidas). Esta selección permite que la herramienta de auto-reset identifique el dispositivo correcto para restablecer. Luego pulsa el botón de subir y tu sketch debería subirse y ejecutarse.

En algunos casos, la Pico puede sufrir un bloqueo grave y su puerto USB no responderá a la solicitud de auto-reset. Si esto ocurre, simplemente sigue el procedimiento inicial de mantener pulsado el botón BOOTSEL mientras conectas la Pico para entrar en el bootloader ROM.

Subir Imágenes del Sistema de Archivos

El sistema de archivos flash integrado de la Pico, LittleFS, te permite subir una imagen del sistema de archivos desde el directorio del sketch para que tu sketch la use. Descarga el plugin necesario desde

  • https://github.com/earlephilhower/arduino-pico-littlefs-plugin/releases

Para instalarlo, sigue las instrucciones en

  • https://github.com/earlephilhower/arduino-pico-littlefs-plugin/blob/master/README.md

Para obtener información de uso detallada, consulta la documentación del repositorio ESP8266 (ignora las notas relacionadas con SPIFFS) disponible en

  • https://arduino-pico.readthedocs.io/en/latest/fs.html

Subir Sketches con Picoprobe/Debugprobe

Si has construido una Raspberry Pi Picoprobe, puedes usar OpenOCD para gestionar la subida de tus sketches y para depurar con GDB.

En Windows, un usuario administrador local debería poder acceder automáticamente al puerto de la Picoprobe, pero en Linux se debe informar a udev sobre el dispositivo y permitir que los usuarios normales accedan.

Para configurar el acceso a nivel de usuario a las Picoprobes en Ubuntu (y otros sistemas operativos que usan udev):

root@kitploit:~
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 primera línea crea un archivo de dispositivo en /dev que coincide con el ID de proveedor y producto USB de la Picoprobe, y habilita permisos globales de lectura y escritura. La segunda línea hace que udev cargue esta nueva regla. La tercera línea solicita al kernel generar eventos de "cambio de dispositivo" que harán que se ejecute nuestra nueva regla de udev.

Si por alguna razón el archivo de dispositivo no aparece, desconecta y vuelve a conectar manualmente la conexión USB y compruébalo de nuevo. La salida de dmesg puede revelar diagnósticos útiles si el archivo de dispositivo sigue ausente.

Una vez que los permisos de Picoprobe estén configurados correctamente, selecciona la placa "Raspberry Pi Pico (Picoprobe)" en el menú Herramientas y sube con normalidad.

Depuración con Picoprobe, OpenOCD y GDB

Las herramientas instaladas incluyen una versión de OpenOCD (en el directorio pqt-openocd) y GDB (en el directorio pqt-gcc). Estas pueden usarse para ejecutar GDB en una ventana interactiva, tal como se documenta en los manuales de iniciación a la Pico de la Raspberry Pi Foundation. Usa la línea de comandos ./system/openocd/bin/openocd -f ./lib/rp2040/picoprobe_cmsis_dap.tcl o ./system/openocd/bin/openocd -f ./lib/rp2350/picoprobe_cmsis_dap.tcl desde el directorio de instalación de git.

Licencias y Créditos

  • El IDE de Arduino y ArduinoCore-API son desarrollados y mantenidos por el equipo de Arduino. El IDE está licenciado bajo GPL.
  • El toolchain basado en GCC para RP2040 está licenciado bajo la GPL.
  • El Pico-SDK es de Raspberry Pi (Trading) Ltd y está licenciado bajo la licencia BSD de 3 cláusulas.
  • Los archivos del núcleo Arduino-Pico están licenciados bajo la LGPL.
  • La librería LittleFS, escrita por ARM Limited, se publica bajo la licencia BSD de 3 cláusulas.
  • UF2CONV.PY es de Microsoft Corporation y está licenciado bajo la licencia MIT.
  • El código de red y sistema de archivos está tomado del ESP8266 Arduino Core y está licenciado bajo la LGPL.
  • El servidor DHCP para el modo host AP proviene del Proyecto Micropython y se distribuye bajo la Licencia MIT.
  • FreeRTOS es Copyright Amazon.com, Inc. o sus filiales, y se distribuye bajo la licencia MIT.
  • lwIP es (c) del Swedish Institute of Computer Science y está licenciado bajo la licencia BSD.
  • La librería BearSSL, escrita por Thomas Pornin, se distribuye bajo la Licencia MIT.
  • UZLib es Copyright (c) 2003 Joergen Ibsen y se distribuye bajo la licencia zlib.
  • LEAmDNS es Copyright de múltiples autores y se distribuye bajo la licencia MIT.
  • http-parser es Copyright de Joyent, Inc. y otros colaboradores de Node.
  • El código del WebServer está modificado a partir del ESP32 WebServer y es Copyright (c) 2015 Ivan Grokhotkov y otros.

-Earle F. Philhower, III
[email protected]

Descargar herramienta
  • Xoshiro-cpp es Copyright (c) 2020 Ryo Suzuki y se distribuye bajo la licencia MIT.
  • El código del sistema de archivos de bajo nivel FatFS es Copyright (C) 2024, ChaN, todos los derechos reservados.
  • El gestor de memoria TLSF para PSRAM del fork de Espressif del original de Matthew Conte es Copyright de Matthew Conte y está licenciado bajo la licencia MIT.
  • La librería ESPHost está licenciada bajo LGPL por sus mantenedores.