Introducción a la Raspberry Pi Pico

A finales del 2020 la fundación Raspberry nos sorprendió con el anuncio de su nueva placa, la Raspberry Pi Pico, no solo porque este nuevo modelo rompe con la línea de placas que la fundación nos viene ofreciendo, mini computadoras corriendo Linux, cada vez mas potentes y con mayor cantidad de memoria sino porque además incluye el microcontrolador RP2040, el primero desarrollado por la propia fundación. En este artículo haré una introducción a las características de esta placa, sus posibilidades y herramientas de desarrollo.

El micro RP2040

Como “motor” de su nueva placa, Raspberry no utilizó un microcontrolador comercial como si lo había hecho en sus placas anteriores (como la Pi4 que emplea un Broadcom BCM2711) sino que prefirió realizar su propio diseño a partir de un núcleo ARM. Así nació el RP2040, que no solo es empleado en la Pico sino que también puede encontrarse en placas de otros fabricantes.

Fig. 1. El microcontrolador RP2040 (Fuente: Raspberrypi.org)

Entre sus principales características, podemos resaltar las siguientes:

  • Dos núcleos Cortex M0 a una velocidad de 133 MHz
  • RAM de 264 KB incluida en el chip
  • Soporte para 16 MB de Flash fuera del chip
  • Controlador DMA (acceso directo a memoria)
  • 30 pines de GPIO, de los cuales cuatro pueden ser entradas analógicas
  • Conversor A/D de 12 bits
  • Timer con 4 alarmas
  • Reloj de tiempo real (RTC)
  • Variedad de periféricos de comunicaciones:
    • 2 UART
    • 2 SPI
    • 2 I2C
    • Controlador USB 1.1
  • Sensor interno de temperatura
  • Puerto SWD para programación y debug
  • Modo de bajo consumo
  • Rutinas optimizadas para aritmética de punto flotante almacenadas en ROM
  • Programable I/O (PIO) bloques para manejar eficientemente las entradas/salidas a gran velocidad sin sobrecargar la CPU.

Como se puede ver, un conjunto de características bastante interesantes que aumenta la oferta de dispositivos ARM, que evidentemente se posiciona como la plataforma de referencia en el mercado de microcontroladores de 32 bits.

La Raspberry Pi Pico

La hermana menor de la familia Raspberry monta un micro RP2040 en una placa de dimensiones reducidas, tan sólo 21 x 51 mm, con un formato que le permite ser utilizada como un módulo SMD que puede soldarse directamente sobre otra PCB sin necesidad de pines. Incluye un conector micro USB para la alimentación y programación, 2 MB de memoria Flash y el puerto SWD para programación y debugging.

Fig. 2. La Raspberry Pi Pico

De los pines GPIO del RP2040, 4 se usan internamente por lo que tenemos 26 disponibles, todos con un nivel de 3.3 voltios. Tres de estos pines pueden emplearse como entradas analógicas.

La alimentación de la placa es muy flexible, ya que incluye un regulador que genera los 3.3V necesarios para su funcionamiento a partir de un amplio rango de tensiones que pueden variar desde 1.8V a 5.5V, admitiendo el uso de cargadores de 5V y distintos tipos de baterías).

Los componentes montados en la parte superior pueden verse en la siguiente imagen (click en los signos ? Para mayor descripción)

Fig. 3. Descripción de componentes

La distribución de los pines en los conectores laterales puede verse a continuación:

Fig. 4. Pinout de la Pico (fuente: raspberrypi.org)

Programación

Las placas Raspberry siempre se han destacado por su facilidad de uso, lo que les ha ganado un lugar importante en ámbitos educativos. La misma filosofía se extiende a la Pico, que cuenta con una variedad de herramientas de programación que se pueden instalar y utilizar de manera muy sencilla.

Raspberry tiene soporte oficial para Micropython, la cada vez mas popular versión reducida del conocido lenguaje de programación Python, así como para C/C++ mediante el C/C++ SDK. Adafruit también tiene una versión de Circuit Python, su propia variante de Python y seguramente en los próximos meses tendremos disponibilidad de mas herramientas para programar nuestra placa.

Instalar cualquiera de estos lenguajes de programación es sumamente sencillo. El RP2040 contiene un cargador (bootloader) grabado en ROM que se activa cuando conectamos la placa por el puerto USB y mantenemos apretado el pulsador BOOTSEL. Cuando esto sucede, la Pico aparece como una unidad USB en la que podemos copiar el firmware.

En este artículo pueden ver como preparar la Pico para programarla en Micropython.

Conclusión

En este artículo hicimos una rápida introducción a la nueva placa de Raspberry, la Pico. Vimos las características mas importantes del micro RP2040 contenido en la misma, una descripción del resto de los componentes y la distribución de pines de los conectores. También vimos algunas de las opciones que tenemos para programar la placa y el método de instalación.

En los próximos artículos les iré compartiendo mas información y proyectos realizados con esta potente placa, que por sólo 4 dólares es una excelente opción para desarrollo de proyectos maker, educativos y hasta profesionales.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Habilitar notificaciones OK No, gracias