raspberry-pi-pico-la-placa-de-desarrollo-de-raspberry

Raspberry Pi Pico, la placa de desarrollo de Raspberry

Raspberry Pi PICO, placa de desarrollo de 32BIT que incorpora el procesador RP2040, desarrollado por la fundación Raspberry Pi.

La Pico es un producto diferente al que nos tiene acostumbrado Raspberry Pi que, como sabemos, son conocidos por sus mini ordenadores con Linux. Sin embargo, la Raspberry Pi Pico es una placa de desarrollo que estaría más en la línea de un MCU como Arduino, STM32, o un ESP8266/ESP32.

La Raspberry Pi Pico está movida por un procesador RP2040 desarrollado por la propia fundación Raspberry Pi. Nos encontramos ante un procesador ARM Cortex-M0 de doble núcleo a 133Mhz, 264KB de SRAM, y soporte de hasta 16MB de Flash externa por QSPI.

El RP2040 incorpora 26 GPIO, 4 entradas analógicas de 12 bits, 2 UART, 2 SPI y 2 I2C. Lamentablemente, no incorpora ningún tipo de comunicación inalámbrica, ya sea Bluetooth o WiFi.

Una de las características más interesantes son los 8 Programmable I/O (PIO), una circuitería configurable mediante una máquina de estados que permite incorporar funciones similares a una “mini FPGA”.

En cuanto a la placa de desarrollo Raspberry Pi Pico, las características son las siguientes:

  • Procesador Arm Cortex-M0+ de doble nucleo a 133MHz
  • 264KB on-chip SRAM, 2MB on-board QSPI Flash
  • 26x GPIO pins
  • 16× PWM channels
  • 3x ADC de 12 bits (500 Kbps)
  • 2× UART, 2× SPI, 2× I2C
  • 2x PIO (programable I/O) con 8 máquinas de estado
  • 2x On-Chip PLLs para generar el reloj del CPU y USB
  • Micro USB, puerto debug (SWD), Led integrado, RTC
  • Alimentación vía Micro USB o por pin VSYS (1.8 a 5.5V)
  • Dimensiones: 21 mm × 51 mm

La tensión de funcionamiento del RP2040 es 3V3. No obstante, la placa de desarrollo tiene (SMPS) Switched Mode Power Supply que permite alimentar el módulo desde 1.8 a 5.5V, lo cuál es una característica muy interesante para poder alimentar con baterías.

Por otro lado, aunque el RP2040 dispone de 4 ADC de 12 bits, en la Raspberry Pi Pico únicamente 3 de ellos están accesibles. Tener únicamente 3 pines analógicos es una de las debilidades del conjunto, ya que es fácil que hagamos corto.

raspberry-pi-pico-board

Entre otras de las carencias, la Raspberry Pi Pico no dispone de salidas DAC, ni conexión directa LCD o HDMI. Tampoco dispone de ningún tipo de conectividad, ya sea Ethernet, WiFi o Bluetooth, lo cuál le hace perder casi todos los puntos para el sector IoT.

Esta placa puede comprarse por unos 4€ en vendedores como AliExpress o Ebay. Esto la sitúa en punto interesante en relación a características / precio, aunque quizás algo elevado para sus características.

Comparándolo con sus competidores más populares, el RP2040 es muy superior a los Atmega328p que encontramos en los Arduino “tradicionales”. Por otro lado, el STM32F103 BluePill tiene unas característica de conectividad superiores, a costa de una velocidad inferior (single core a 72Mhz).

Por contra, el RP2040 no puede competir con la estrella del momento, el todo poderoso ESP32 y su conectividad WiFi y Bluetooth. Igualmente, el RP2040 falla al medirse contra otras placas, como la potencial WinnerMicro W806.

En mi opinión, resulta más interesante el procesador RP2040 que la placa de desarrollo Raspberry Pi Pico. En general, el RP2040 es un buen procesador, sobre todo si tenemos en cuenta su bajo precio de venta al por mayor. Así, está siendo frecuente en diversas placas de desarrollo, aparte de la propia Raspberry Pi Pico.

No obstante, la Raspberry Pi Pico cuenta con la popularidad y publicidad que le han otorgado sus mini ordenadores con Linux. Por tanto, está alcanzando con rapidez una importante popularidad. Esto lo que se plasma en la proliferación de tutoriales y proyectos que lo emplean, lo que supone que tanto la documentación y soporte por parte de la comunidad sea muy bueno.

Por último, comentar que la Raspberry Pi Pico puede programarse tanto en C++ con el entorno de Arduino como en MicroPython. En el caso de Arduino, está oficialmente soportado, y es tan sencillo como añadirlo con el gestor de tarjetas.