Como voy con retraso sobre novedades con esta nueva Raspberry Pi Pico voy a ir directamente a un artículo de conclusiones y opinión. No creo que me la compre ni le dedique mucho espacio por aquí. La cuestión es que esta placa es un microcontrolador y no un mini PC.
¿Qué es un microcontrolador?
Según la wikipedia:
Un microcontrolador (abreviado µC, UC o mCU) es un circuito integrado programable, capaz de ejecutar las órdenes grabadas en su memoria. Está compuesto de varios bloques funcionales que cumplen una tarea específica. Un microcontrolador incluye en su interior las tres principales unidades funcionales de una computadora: unidad central de procesamiento, memoria y periféricos de entrada/salida.
La verdad es que eso no ayuda a ver la diferencia esencial y práctica para los torpes como yo. Así que os voy a decir que es de otra forma:
Un microcontrolador es un miniordenador sin sistema operativo que ejecuta un único programa cargado en su memoria. Este programa puede ser más o menos complejo dependiendo de la memoria disponible pero nunca se pretende que llegue a ser cómo un PC o micro PC autónomo con capacidad para instalar programas desde el mismo sistema y realizar tareas simultáneas con distintos usuarios y aplicaciones.
Así que vas a necesitar otro ordenador con el que programar y cargar ese software y luego ya si funcionar una y otra vez con ese programa elegido. Que puede ser tan complejo como un juego de romper bloques o tener salida de vídeo digital de tipo DVI programando todo el driver para hacerlo funcionar.
¿Qué es la Raspberry Pi Pico?
La Raspberry Pi Pico es una placa con microcontrolador creada por la fundación Raspberry Pi. Está diseñada para ser de bajo coste y al mismo tiempo incluir un conjunto razonable de entradas y salidas para el procesador RP2040 , del que hablo más abajo. Además del procesador incluye 2 MB de memoria Flash (OJO 2 megas no gigas ni nada de eso, lo que ocupa una foto normalita de un móvil de hace unos años) y un chip para gestión de la alimentación que admite tensiones de entrada de 1,8 a 5,5 V. Esto permite alimentar la Raspberry Pi Pico desde distintos tipos de fuentes de alimentación, desde el clásico cargador microUSB a 5,5V pasando por combinar dos o tres pilas AA en serie.
También tiene un botón, que puede utilizarse para entrar en el modo de almacenamiento masivo USB en el momento del arranque. De esta forma la Raspberry Pi Pico se verá como una memoria USB desde nuestro PC y así poder cargar el programa que vayamos a ejecutar en la placa. Tiene también un único LED para poder mostrar información del funcionamiento básica. Además, en el borde hay accesibles 26 de los 30 pines GPIO que tiene el procesador RP2040, incluyendo tres de las cuatro entradas analógicas (Analog Input). La placa viene sin pines de conexión que habrá que soldarle por nuestra cuenta o comprar una con coste adicional que los traiga ya soldados. Aquí abajo podéis ver el modelo estándar y uno con los pines soldados para poder montarlo en una placa de desarrollo tipo breadboard: Breadboard Kit
RP2040 un microcontrolador con el sello Raspberry Si
En vez de utilizar un microcontrolador de los disponibles en el mercado como podría ser cualquiera de los que incluyen los famosos Arduinos. La fundación decidió desarrollar su propio chip. Querían algo especial y diferente a lo que había en el mercado buscando tres objetivos:
- alto rendimiento, especialmente para cargas de trabajo de números enteros
- E/S flexible, para permitir conectar con casi cualquier dispositivo externo
- bajo coste, para eliminar las barreras de entrada
El resultado es un pequeño chip en encapsulado QFN-56 de 7 × 7 mm que contiene sólo dos milímetros cuadrados de silicio de 40 nm. Una de las partes clave es el uso de un núcleo de la familia ARM Cortex de la serie M especial para microcontroladores y distinto de la serie A que usan el resto de Raspberry Pi. En este artículo intenté explicar un poco de qué va este tema: Una historia de Cortex
El RP2040 incluye:
- CPU: Dual-core ARM Cortex-M0+ @ 133MHz
- RAM: 264KB (OJO kilobytes no Megas, ni Gigas)
- Almacenamiento: hasta 16MB de memoria Flash para almacenar el programa
- GPIO: 30 pins
- 4 como entradas analógicas
- 2 × UARTs, 2 × SPI controllers y 2 × I2C
- 16 × PWM
- 1 × USB 1.1 y una interfaz de red PHY
- 8 × entradas/salidas programables (PIO) de tipo máquina de estado
- Soporte de programación UF2 en modo USB mass-storage para programar con solo copiar el archivo desde el gestor de ficheros de tu ordenador
Al haberlo diseñado ellos mismos conocen al detalle como sacarle todo el partido al hardware y desarrollar el software que necesita para completar los puntos flojos. Además de un SDK de C y la integración de Visual Studio Code. Por ejemplo, como el Cortex-M0+ carece de unidad de coma flotante, han encargado unas librerías software optimizadas por Mark Owen, autor de las populares bibliotecas Qfplib. También está disponible el port de Pete Warden del framework TensorFlow Lite para poder programar temas de Machine Learning. Además sale ya lista para poder programarse usando MicroPython y con soporte para el entorno de desarrollo en Python Thonny.
Otras placas compatibles que usan el chip RP2040
Otra de las ventajas de producir este chip ellos mismos es que van a venderlo a bajo costo a otros fabricantes para que desarrollen sus propias placas tipo Raspberry Pi Pico.
Durante la presentación inicial había placas de los fabricantes: Pimoroni, Sparkfun, Adafruit o los mismísimos Arduino.
Especial atención a las placas complementarias que ha sacado Pimoroni para aprovechar toda la potencia de esta pequeña bestia.
Opinión
Nunca he sido de hablar mucho de microntroladores, creo que juegan en otra liga diferente de las Raspberry Pi normales. Sin embargo, hay temas interesantes alrededor de este nuevo producto. En primer lugar, que la fundación desarrolle su propio chip abre el camino a no depender de otros fabricantes para una futura Raspberry Pi 5 o 6. Broadcom era inglesa pero hoy en día se vendió y no tengo muy claro en manos de quien anda. En cualquier momento algún comprador cambia prioridades y cierran desarrollos o lo que sea. De esta forma, con el RP2040 han hecho un camino más sencillo pero que les permite ver todas las dificultades y ventajas de hacer ellos su propio silicio, como Apple, como los grandes. A partir de aquí pueden saber si abordar tareas más complejas o tirar la toalla.
La placa en sí es interesante, el núcleo Cortex-M0+ es la gama baja de este tipo con carencias que podrían cubrir con una nuevo chip con coprocesador en coma flotante como la serie Cortex-M4f o el Cortex-M7. Otra ventaja que no tienen otros microcontroladores es poder hacer debug usando otra placa igual y así evitar la necesidad de hardware complejo conectado a un PC.
Lo dicho, lo mismo os decepciona completamente por confundir lo que se puede hacer, hay que tener claro que es una placa muy fácil de programar y configurar pero muy limitada por mucho que veáis proyectos potentes. Yo no creo que la compre a no ser que pida otra cosa y la añada casi como propina, total por 4€. No os vais a hacer pobres y lo mismo al cacharrear aprendéis algo que siempre es lo mejor que se saca de estas maravillas de la electrónica.
Comprar la Raspberry Pi Pico en España:
Enlaces de interés:
https://www.raspberrypi.org/blog/raspberry-pi-silicon-pico-now-on-sale/
https://www.raspberrypi.org/blog/keeping-secrets-and-writing-about-raspberry-silicon/
https://www.raspberrypi.org/blog/raspberry-pi-pico-vertical-innovation/