Skip to Content

Programando el Pico W5 con Arduino IDE

Programando el Pico W5 con Arduino IDE

Aprende a programar el Raspberry Pi Pico W5 con el Arduino IDE. El Raspberry Pi RP2350 Pico W5 de Elecrow es una placa de desarrollo con el microcontrolador RP2350 (ARM Cortex dual-core a 150 MHz), 24 pines GPIO, Bluetooth 5.0 y Wi-Fi de doble banda 2.4 GHz o 5 GHz. Con estas especificaciones, la placa está orientada a aplicaciones IoT con mayores necesidades de computación y red.

En este tutorial aprenderás cómo empezar a usar esta placa.

Partes necesarias

Necesitarás el Raspberry Pi RP2350 Pico W5. Y si quieres conectar hardware externo para probar el puerto GPIO, te serán útiles algunos cables, resistencias, LEDs y una protoboard.

Raspberry Pi RP2350 Pico W5

Cable USB C

Dupont wire set

Juego de cables Dupont

Half_breadboard56a

Protoboard

Kit de resistencias y LEDs

Makerguides is a participant in affiliate advertising programs designed to provide a means for sites to earn advertising fees by linking to Amazon, AliExpress, Elecrow, and other sites. As an Affiliate we may earn from qualifying purchases.

Características de la placa Raspberry Pi Pico W5

El Pico W5 es un microcontrolador basado en el diseño del Raspberry Pi Pico W. Usa el mismo chip microcontrolador RP2350 con hasta 150 MHz y un procesador ARM Cortex M0+ dual-core.

Sin embargo, ha sido mejorado en cuanto a la interfaz USB, la capacidad de memoria flash y el rendimiento compatible con Bluetooth. Lo más importante es que la placa soporta operación de doble banda 2.4 GHz o 5 GHzn, así como Bluetooth de bajo consumo y Bluetooth 5.0.

La siguiente imagen muestra la parte superior e inferior de la placa. El conector USB-C y las antenas de 2.4 y 5 GHz son fácilmente reconocibles.

Top and Bottom of the Raspberry Pi Pico W5 Board
Parte superior e inferior de la placa Raspberry Pi Pico W5

La placa tiene un botón RESET y un botón BOOT, además de un LED incorporado junto al botón BOOT.

Especificaciones

La siguiente tabla lista los principales detalles técnicos de la placa:

Specification of the Elecrow RP2350 Pico W5 Board
Especificaciones de la placa Pico W5 (source)

Pinout de la placa Pico W5

La imagen a continuación muestra el pinout de la placa Pico W5. Hay 24 pines GPIO con PWM, dos interfaces I2C y cuatro convertidores analógico-digitales (ADC). El LED incorporado está conectado al GPIO 25. Ten en cuenta que la placa usa un puerto USB tipo C para la alimentación y funciona a 3.3V.

Pinout of the Elecrow RP2350 Pico W5 Board
Pinout de la placa Pico W5 (source)

Instalación del core RP2350

Antes de poder programar el Pico W5, primero debes instalar el core RP2350. Ve a Archivo -> Preferencias y abre el diálogo de Preferencias

File -> Preferences Menu
Menú Archivo -> Preferencias

En el diálogo de Preferencias ve a la pestaña Configuración. En la parte inferior verás «URLs adicionales para el gestor de placas:». Haz clic en el botón a la derecha (marcado en amarillo) para abrir el editor de URLs

Settings Tab in Preferences Dialog
Pestaña Configuración en el diálogo de Preferencias

En el editor de URLs añade la siguiente URL a la lista (marcada en amarillo abajo):
«https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json»

Add package_rp2040_index URL to board manager
Añadir URL package_rp2040_index al gestor de placas

El package_rp2040_index soporta los chips RP2040 y RP2350. Como puedes ver, también tengo instalados los cores ESP8266 y ESP32, pero para este tutorial solo necesitas el core RP2350.

Instalación de las placas RP2350

A continuación necesitamos instalar las placas RP2350. Ve a Herramientas -> Placa -> Gestor de placas y busca RP2350 usando la barra de búsqueda. Instala las placas Raspberry Pi Pico/RP2040/RP2350 de Earle F. Philhower. Tras la instalación debería verse así.

Install Raspberry Pi Pico/RP2040/RP2350 board
Instalar placa Raspberry Pi Pico/RP2040/RP2350

Seleccionar placa Raspberry Pi Pico 2

Una vez completada la instalación del core RP2350, conecta el Pico W5 al puerto USB de tu ordenador. Luego ve al Gestor de placas y selecciona la placa «Raspberry Pi Pico 2» como se muestra abajo:

Raspberry Pi Pico 2 in Bord Manager
Raspberry Pi Pico 2 en Gestor de placas

La placa debería ser reconocida por el Arduino IDE y deberías verla conectada a un puerto COM vía USB (ver captura arriba). Ahora estamos listos para programar el Pico W5.

Programa Blink para el Pico W5

Comencemos con el típico programa Blink. Hará parpadear el LED incorporado de la placa cada segundo:

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_BUILTIN, HIGH);  
  delay(1000);                     
  digitalWrite(LED_BUILTIN, LOW);   
  delay(1000);                      
}

Haz clic en el botón Subir del Arduino IDE y el código debería cargarse. Si tiene éxito, el LED incorporado comenzará a parpadear.

Si la carga falla, puede que necesites presionar (y/o mantener) el botón BOOT antes o durante la carga. Eso debería ser necesario solo una vez ya que el core arduino-pico tiene auto-reset soporte. En general no tuve problemas para flashear la placa.

Probando el GPIO del Pico W5

Para probar el GPIO y PWM del Pico W5, conecté un LED con una resistencia de 220Ω al GPIO 9 y GND. Mira el circuito abajo:

LED connected to GPIO 9
LED conectado al GPIO 9

El siguiente pequeño programa de prueba atenúa el LED hacia arriba y hacia abajo, y funcionó muy bien:

#define LED  9

void setup() {
  pinMode(LED , OUTPUT);
}

void loop() {
  for (int b = 0; b <= 255; b++) {
    analogWrite(LED , b);
    delay(5);
  }
  for (int b = 255; b >= 0; b--) {
    analogWrite(LED , b);
    delay(5);
  }
}

Probando el Wi-Fi 5 GHz del Pico W5

Una de las principales características de la placa Pico W5 es el soporte de Wi-Fi 5 GHz. Probé el código habitual de Wi-Fi pero no pude hacerlo funcionar. Probablemente sea porque la placa Pico W5 de Elecrow aún no está en la lista de placas soportadas del Raspberry Pi Pico Arduino core.

Sin embargo, encontré un ejemplo en el demo code para la placa Pico W5, y ese sí funcionó. A continuación tienes una versión ligeramente modificada de ese código de demostración.

#define Serial2_RX 5
#define Serial2_TX 4
#define SET_WIFI_MODE "AT+WMODE=3,1"
#define SET_WIFI_SSID_PASSWORD "AT+WJAP=\"SSID\",\"PWD\""

void setup() {
  Serial.begin(115200);
  Serial2.setRX(Serial2_RX);
  Serial2.setTX(Serial2_TX);
  Serial2.begin(115200);
  delay(1000);
  UART2_test();
}

void UART2_test() {
  clear_serial();
  bool ok_flag = false;
  Serial2.println(SET_WIFI_MODE);
  while (!ok_flag) {
    if (Serial2.find("OK")) {
      delay(1000);
      ok_flag = true;
      Serial.println("Set WIFI Mode Ok!");
    }
  }
  clear_serial();
  ok_flag = 0;
  Serial2.println(SET_WIFI_SSID_PASSWORD);
  while (!ok_flag) {
    if (Serial2.find("OK")) {
      delay(1000);
      ok_flag = true;
      Serial.println("WIFI Connected!");
    }
  }
}

void clear_serial() {
  while (Serial2.read() >= 0);
  while (Serial.read() >= 0);
}

void loop() {
}

Tendrás que reemplazar los valores SSID y PWD por el ssid y la contraseña de tu red Wi-Fi.

Conclusiones

Espero que este tutorial te haya sido útil para comenzar con la placa Pico W5 de Elecrow. El procesador RP2350 del Pico W5 es una mejora sustancial respecto al RP2040, pero por ahora (marzo 2025) el soporte de software es algo limitado.

Específicamente, la placa Pico W5 aún no está en la lista de placas soportadas del Raspberry Pi Pico Arduino core. Aplicaciones simples como GPIO funcionan, pero no pude hacer funcionar las librerías de Wi-Fi o Bluetooth con el Pico W5.

También ten en cuenta que el demo code para el Pico W5 tiene errores o parece estar orientado a una versión más antigua o diferente de la placa Pico W5 que usa el RP2040 en lugar del RP2350. Por ejemplo, el programa blink del código de demostración usa GPIO 12 (o 16) para el LED incorporado, pero en realidad es el 25. Además, la guía de instalación muestra la placa Raspberry Pi Pico/RP2040, pero para mí solo funcionó la placa Raspberry Pi Pico 2.

Finalmente, existen varias placas Pico diferentes que pueden causar confusión. Por ejemplo, está el Pico W5 and the Pico 2W, y el Pico W5 puede venir con un chip microcontrolador RP2350 or a RP2040.

Por cierto, si quieres usar un Pico con pantalla, echa un vistazo a nuestro tutorial Scribble on CrowPanel Pico 4.3″ Display.

¡Feliz bricolaje ; )

Enlaces

Aquí tienes algunos enlaces que me fueron útiles al escribir este artículo:

Esquemas

Las imágenes a continuación son extractos del esquema de la placa Pico W5 con el microcontrolador RP2350 del siguiente enlace: Schematic & PCB.

Microcontrolador

RP2350 microcontroller
Microcontrolador RP2350

Wi-Fi y Bluetooth

BW16 chip for Wi-Fi and Bluetooth
Chip BW16 para Wi-Fi y Bluetooth

LED incorporado

Built-in LED
LED incorporado

Fuente de alimentación

Power Supply
Fuente de alimentación