
Raspberry Pi Pico Arduino core, para todas las placas RP2040 y RP2350
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.
Consulta https://arduino-pico.readthedocs.io/en/latest/ junto con los ejemplos para obtener información de uso más detallada.
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.
Las máquinas de estado PIO (SMs) del RP2040 se utilizan para generar sin jitter:
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).
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:
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.
flatpak override --user --filesystem=host:ro cc.arduino.IDE2
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

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":

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:
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:
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
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.
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
Para instalarlo, sigue las instrucciones en
Para obtener información de uso detallada, consulta la documentación del repositorio ESP8266 (ignora las notas relacionadas con SPIFFS) disponible en
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):
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.
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.
-Earle F. Philhower, III
[email protected]