Todo sobre la Raspberry Pi Pico

tutorial de raspberry pi pico

Si estás buscando comprar tu primera Raspberry Pi, la Pico podría ser una opción muy atractiva.

Pero la verdadera cuestión aquí es si la Raspberry Pi Pico es adecuada para ti.

Hay muchos pros y contras en la compra de la Raspberry Pi Pico y es importante entender el adagio "caballos para los cursos".

Contenido ocultar

Repasemos la Raspberry Pi Pico

La Raspberry Pi Pico abre un nuevo camino en la línea de Raspberry Pi porque es una placa de desarrollo de microcontroladores. Esto representa un alejamiento del resto de las Raspberry Pis que son microordenadores.

Cuenta con el chip RP2040 que fue diseñado internamente por Raspberry Pi y tiene las siguientes especificaciones:

  • Núcleos de CPU ARM Cortex M0+ de doble núcleo (hasta 133 MHz)
  • 264K SRAM
  • Memoria flash de 2 MB

La Raspberry Pi Pico se distingue por ser un microcontrolador de alto rendimiento y tiene muchos usos interesantes.

Pro: Barato y genial para los que se inician

Vendemos la Raspberry Pi Pico por 4,10 euros que es la Raspberry Pi más barata que puedes comprar. De hecho, si usted es nuevo en juguetear con la Raspberry Pi Pico, puede obtener un kit completo por 24,95 euros que incluye todo lo necesario para construir proyectos fáciles.

Pro: Excelente para aplicaciones en tiempo real

La Raspberry Pi Pico es perfecta para proyectos en los que necesitas cronometrar eventos con precisión. Por ejemplo, la lectura de sensores, el funcionamiento de motores y la supervisión de tareas.

Pro: entradas analógicas

La Raspberry Pi Pico es la primera Raspberry Pi que tiene entradas analógicas de fábrica.

Viene con un total de 5 entradas ADC (convertidor digital analógico). Dos de ellas son utilizadas por el Pico para su sensor de temperatura interno y para el control de la tensión.

Entonces, ¿cómo puede beneficiarte tener una entrada analógica? Bueno, por ejemplo, uno de mis proyectos utiliza un potenciómetro para regular la frecuencia de conmutación de un relé. Así, la Raspberry Pi Pico sería capaz de leer un valor del potenciómetro y utilizar sus valores en el programa que he cargado en él.

La Raspberry Pi Pico resuelve las señales ADC a 12 bits, lo que es mejor que el ADC de 10 bits del Arduino Uno. Otras características son:

  • SAR ADC (ADC de aproximación sucesiva)
  • 500 kS/s (con reloj externo de 48MHz)
  • Interfaz DMA en las entradas del ADC que puede acceder a la memoria sin utilizar la CPU

Pro: IO programable (PIO)

Esta es una de las características más geniales del Raspberry Pi Pico y también es lo que le da al Pico el dinamismo que algunos otros microcontroladores no tienen.

PIO es una interfaz de hardware que puede programarse independientemente de los procesadores principales. Por tanto, puede emular muchas interfaces diferentes:

  • Puerto paralelo 8080 y 6800
  • I2C
  • 3 pines I2S
  • SDIO (interfaz de tarjeta SD)
  • SPI, DSPI, QSPI
  • UART
  • DPI o VGA (mediante red de resistencias / DAC)

Las máquinas de estado PIO son totalmente programables y se dedican exclusivamente a la E/S. Se presta especial atención a la precisión de los tiempos. 

Por ejemplo, la interfaz PIO puede utilizarse para configurar de forma estable y fiable aplicaciones de tiempo crítico (sensibles a la temporización), como el control de tiras de LED. 

Pro: puede emitir vídeo con modificaciones

¿Has visto "DPI o VGA" en la sección anterior? Ya sabes lo que significa...

Sí, la Raspberry Pi puede emitir vídeo, algo que ni siquiera se sueña en la mayoría de los microcontroladores.

Tenemos un tutorial en el que se muestra cómo se hace, si te interesa.

Pro: cabe en una protoboard

raspberry pi pico en breadboard

En la Raspberry Pi Pico, los pines están en dos lados opuestos de la Pi Pico, por lo que puedes colocar la Pi Pico directamente en la protoboard con cada lado encendido a través del canalón divisorio.

Esto facilita la creación de prototipos porque no tendrás que conseguir cables macho a hembra (o macho a macho en el caso del Arduino Uno) para conectar el Pico a una protoboard.

No puedes hacer esto con otras Raspberry Pis porque sus pines están todos agrupados.

Pro: La Raspberry Pi más pequeña

comparación de raspberry pi pico
Desde la izquierda, en el sentido de las agujas del reloj: Raspberry Pi Pico, Raspberry Pi Zero 2, Raspberry Pi 4

Tener una placa pequeña es bueno porque es más fácil de encajar en espacios reducidos y más fácil de montar. Por ejemplo, digamos que quieres montar la Raspberry Pi Pico en la pared, o dentro de un entorno cerrado: robots, dispositivos de mano, relojes, etc.

La Raspberry Pi Pico mide 51mm x 21mm /Fuente: Raspberry Pi

Pros: bajo consumo de energía

He mencionado que la Raspberry Pi Pico es pequeña y que puede caber en espacios reducidos.

Lo mejor es que, como el Pico consume poca energía, no necesitarás una gran batería para hacerlo funcionar.

¿He mencionado también que admite una amplia gama de voltajes? Puede funcionar con 1,8 - 5,5 V, lo que es genial porque puedes hacerlo funcionar con una sola batería de litio (3,7V) o con baterías de níquel conectadas en serie (1,2V cada una).

Un análisis de Joey Castillo demostró que la eficiencia del convertidor buck del Pico alcanza su punto máximo entre 2,54V y 3,2V (equivalente a 2 pilas recargables/alcalinas AA completamente cargadas) si estás consumiendo <=10mA de corriente.

Sin embargo, a corrientes más altas, es mejor proporcionar 3 pilas AA o el voltaje de una pila de litio.

Estas estadísticas podrían no ser válidas para el Pico W, ya que el Pico W utiliza un convertidor buck diferente. El Pico W utiliza el RT6154 mientras que el Pico utiliza el RT6150. Haga clic en los enlaces para ver sus respectivas hojas de datos.

Aquí está el gráfico del convertidor buck del Pico:

Neutral: No hay soporte para Linux en la Raspberry Pi Pico

Si esto es un pro o un contra de la Raspberry Pi Pico depende de tu proyecto. No tener Linux significa que tus proyectos se cargan más rápido, pero en general, puedes hacer más si tienes un sistema operativo.

¿Qué quiero decir con cargar más rápido? Bueno, como no hay un sistema operativo que arrancar, tu código se cargará prácticamente en el mismo momento en que conectes la alimentación a la Pi Pico.

En cualquier otra Raspberry Pi, tardará mucho más tiempo antes de ver una respuesta.

Pero, por desgracia, sin un sistema operativo, estás limitado a programar con MicroPython o C, mientras que con un sistema operativo puedes codificar en muchísimos más lenguajes. Además, puedes jugar, navegar por Internet y disfrutar de otras aplicaciones multimedia.

Neutral: Sin WiFi

Si esto es un inconveniente o no depende de tu proyecto, pero digamos que estás desarrollando un proyecto que requiere comprobar el tiempo o subir datos a Google Sheets, no podrás hacerlo en la Raspberry Pi Pico.

Para ser justos, se puede instalar WiFi o ethernet utilizando piezas del mercado de accesorios, como el artículo siguiente:

Neutral: Salidas GPIO 3.3V

Que esto sea un pro o un contra depende de los componentes a los que vayas a emparejar la Raspberry Pi Pico.

Una situación en la que encontré que los 3,3V eran un obstáculo fue cuando intenté utilizarlos con relés de 5V. ¡Oops! No pude hacer pasar suficiente voltaje para que el relé conmutara.

Así que me pasé a mi Arduino Uno, cuyos pines GPIO ponen 5V.

La alternativa sería añadir componentes al prototipo para poder intensificar los 3,3V, pero, ¿por qué complicar las cosas cuando puedo hacerlo con un Arduino Uno?

Por supuesto, esto es sólo un escenario. Su kilometraje puede variar dependiendo de lo que esté haciendo.

Usos de Raspberry Pi Pico

La gama de usos de la Raspberry Pi Pico es infinita. Puedes hacer algo que mejore tu vida o hacer algo sólo por diversión.

Microcontrolador que lee MicroPython (en lugar de sólo C)

Si has utilizado un Arduino, sabrás que tienes que programarlo en C.

Sin embargo, es posible que no te guste programar en C. Puede que tengas una mayor experiencia en Python.

Y así, si usted luchó con la escritura de código en C en el Arduino, la buena noticia es que todo lo que el Arduino puede hacer, la Raspberry Pi Pico es probable que sea capaz de adaptarse a su caso de uso.

Así que deseche esas llaves y comience a sangrar su código.

Funciona con pilas para una larga duración.

Si necesitas algo que consuma la menor cantidad de energía posible, entonces definitivamente te conviene más la Raspberry Pi Pico que algo más potente como la Raspberry Pi Zero.

He aquí por qué: puedes utilizar un rango mucho más amplio de entradas de energía (de 1,8V a 5,5V) y como la Raspberry Pi Pico es tan eficiente, podrás obtener tiempos de ejecución mucho más largos que si utilizas un microordenador como la Raspberry Pi Zero.

Ah, ¿he mencionado que la Raspberry Pi Zero es muy exigente con el voltaje que le suministras? Sólo aceptará 4,75 - 5,25V.*

* Según Arya, que ha dejado un comentario más abajo, la Raspberry Pi Zero puede funcionar con una sola batería de litio siempre que no tengas ningún periférico USB. Gracias Arya.

Teclados de macro, palancas giratorias y otros HIDs

Don Hui con su macroteclado de Discord que le permite alternar fácilmente los controles de volumen / Fuente: YouTube.

La Raspberry Pi Pico puede utilizarse como un dispositivo de interacción humana (HID).

Pero a diferencia de un viejo y aburrido ratón o teclado, la Raspberry Pi Pico te permite crear un dispositivo que haga algo nicho y específico para tu caso de uso.

Así, puedes crear teclados de macros que escriban una cadena larga con sólo pulsar un botón. O puedes usarlo para silenciar Discord. O usarlo para pulsar CTRL + ALT + DEL. Las posibilidades son infinitas.

La perilla multifuncional de magi que actúa como un control de volumen giratorio o un depurador de la línea de tiempo de Premiere Pro. Fuente: YouTube

sArCaSm kEyBoArD

¿Qué es mejor para expresar el sarcasmo: mostrar un /s etiqueta al final de su texto o tYpInG lIkE tHiS?

Prefiero la segunda porque transmite inmediatamente sArCaSm.

El creador de este proyecto, Ben S, compartió que utiliza dos Raspberry Pi Picos para ponerlo en marcha. Un Pico actúa como un dispositivo de teclado USB HID para el ordenador y otro actúa como el host USB para leer las entradas del teclado. El anfitrión entonces se comunica con el dispositivo a través de UART lo que era la pulsación de teclas.

El teclado de sarcasmo Pico activa y desactiva el bloqueo de mayúsculas después de cada pulsación, con lo que se consigue un sArCaStIc TeXt.

¿Qué no puede hacer la Raspberry Pi Pico?

Hablemos de una configuración más típica de la caja.

Reconozco que hay muchas maneras de aumentar las capacidades de la Raspberry Pi Pico. Puedes dar salida a vídeo, configurar ethernet, dar salida a audio...

Con suficientes modificaciones, la Raspberry Pi Pico se acercará a la capacidad de un microordenador.

Dicho esto, nadie racional va a ir tan lejos. A partir de cierto nivel de modificación, se vuelve inviable.

¿Por qué se vuelve inviable?

Porque lo mejor es comprar algo con todas estas características nada más sacarlo de la caja.

Un competidor cercano al que deberías echar un ojo es la Raspberry Pi Zero 2. Tenemos una mega-artículo que responderá a todas sus preguntas aquí.

A nivel fundamental, la Raspberry Pi Pico tiene menos potencia de cálculo. En comparación con el microordenador más barato, el Raspberry Pi Zero, el Pi Pico tiene un reloj por defecto de 133MHz y puede hacer 361,76 Dhrystone Millones de instrucciones por segundo (DMIPS), mientras que el Raspberry Pi Zero puede hacer 1250 DMIPS.

La Raspberry Pi Zero también tiene 512 MB de RAM, un sistema operativo, WiFi y una ranura para tarjetas SD. Para una persona que domina más JavaScript como yo, poder escribir código Node para conectarlo a Google Cloud es una razón por la que me gusta usar los microordenadores Pi.

Microordenador frente a microcontrolador

Al ilustrar el escenario anterior, he utilizado los términos microordenador y microcontrolador. Resumiré algunos usos en los que uno es mejor que el otro.

Un microcontrolador es mucho más sencillo que un microordenador y, por tanto, es mucho más fácil conseguir que un microcontrolador realice tareas sencillas. Si sólo necesitas hacer parpadear un LED, hacer girar un servo o medir datos de temperatura, un microcontrolador puede hacerlo con mucha facilidad y capacidad.

De hecho, obtiene algunas ventajas como el reinicio rápido y una mayor duración de la batería.

La simplicidad conlleva limitaciones. Por ejemplo, es mucho más fácil conectar tu prototipo a Internet con un microordenador. Por ejemplo, es posible que quieras conectar tu prototipo a un servicio de correo electrónico para que te envíe un ping cuando se cumplan ciertos umbrales. Yo haría esos proyectos en una Raspberry Pi Zero en lugar de intentar hacerlo funcionar con la Raspberry Pi Pico.

EscenarioMicrocontrolador (por ejemplo, Raspberry Pi Pico)Microordenador (por ejemplo, Raspberry Pi Zero)
Ejecutar un servidorNo
Parpadear un LEDMucho más rápido de principio a finMucho más lento; muchos más procesos por los que pasar
¿Programa de reinicio automático en caso de fallo de alimentación?No por defecto
Jugar a los videojuegosNo
¿Funciona con batería?Sí, es muy probable que dure más tiempo en promedioSí, no dura tanto en promedio
¿Gestión del calor?No es necesario normalmenteDisipadores, ventiladores, carcasas térmicas
¿Costes?BajaMayor

Pines de Raspberry Pi

La Raspberry Pi Pico tiene 30 pines GPIO, de los cuales 26 están disponibles para su uso.

  • 2x SPI
  • 2 x UART
  • 2 x I2C
  • 8 x PWM de dos canales

también lo hay:

  • 4 x salida de reloj de propósito general
  • 4 x entrada ADC
  • PIO en todos los pines

Aquí está la imagen del pinout de la Raspberry Pi Pico:

Pines de Raspberry Pi Pico / Fuente: Raspberry Pi

De hecho, un Redditor llamado C_King_Justice también hizo una herramienta que puede ayudarte a encontrar los pines GPIO de tu Raspberry Pi Pico. Puedes descargue el documento aquí.

Pinout de papel por C_King_Justice / Fuente: Reddit

Especificaciones de Raspberry Pi Pico

Raspberry Pi Pico
Precio€4.10 (tablero) €24.95 (kit Raspberry Pi Pico para principiantes)
CPURP2040 con doble núcleo Cortex M0+ hasta 133MHz
Capacidades de la CPUEl PLL en el chip permite variar la frecuencia del núcleo
Frecuencia de la CPUhasta 133MHz, over/underclockable
GPUSin GPU
RAM264 kB de SRAM integrada en 6 bancos
RedNo se incluye, pero se puede añadir
BluetoothNo se incluye
Puerto HDMINo se incluye, pero se puede añadir
Puerto USBMicroUSB para alimentación y datos
Vídeo compuestoNo se incluye, pero se puede añadir
Clavija de reinicioNo se incluye, pero se puede soldar
Puerto de la cámaraNinguno
Consumo de energía~1,3mA en modo SLEEP hasta 93mA en la prueba "Popcorn"
Alimentación5V vía microUSB o 1,8 - 5,5V vía VSYS
factor de forma51 x 21 mm

¿El Raspberry Pi Pico tiene HDMI?

Raspberry-Pi-Pico-Salida de vídeo-DVI-Sock

No, no lo hace por defecto. Pero puedes añadir un vídeo tú mismo. Consulte nuestra guía aquí.

Tenga en cuenta que, aunque la interfaz de vídeo es un conector HDMI, en realidad emite una señal DVI. HDMI es un sucesor de DVI, por lo que las señales DVI pueden transmitirse a través de HDMI.

En la misma línea, puedes comprar un adaptador de HDMI a DVI para convertir el conector HDMI en DVI.

Dicho esto, ten en cuenta que esta configuración no emite audio.

¿El Raspberry Pi Pico tiene ethernet?

No, no lo hace por defecto. Pero puedes añadir ethernet tú mismo.

Raspberry Pi ha publicado oficialmente una guía que puedes seguir para instalar ethernet en su Raspberry Pi Pico.

En esencia, necesitas un PHY Ethernet RMII como un LAN8720, una protoboard y cables de puente. Tu Raspberry Pi Pico también debe tener soldadas las cabeceras.

¿El Raspberry Pi Pico tiene WiFi?

No, pero puedes instalarlo utilizando piezas del mercado de accesorios. Un chip compatible que te ayudará a obtener capacidades WiFi es el coprocesador Adafruit Airlift WiFi Featherwing.

¿El Raspberry Pi Pico tiene USB?

Sí, la Raspberry Pi Pico tiene un puerto microUSB. Se puede utilizar para alimentar la Raspberry Pi.

Además, también puedes utilizar la Raspberry Pi Pico como dispositivo de interacción humana. Conectándolo a su ordenador con los componentes y el código adecuados puede permitir que se convierta en un joystick, un teclado macro, una palanca, etc.

¿El Raspberry Pi Pico tiene Bluetooth?

No, pero se puede instalar con piezas de recambio.

Por lo general, la integración de Bluetooth en la Raspberry Pi Pico requiere que usted compre un módulo Bluetooth como el Módulo Bluetooth HC-06.

¿Hay una cámara Raspberry Pi Pico?

Prototipo de Ralph Yamamoto con el módulo de cámara HM01B0. Fuente: Ralph Yamamoto/Elemento14

Sí, puedes integrar la Raspberry Pi Pico con un módulo de cámara.

Una cámara que puedes utilizar es la HM01B0 de Himax Imaging. La ventaja de utilizarla es que tiene una potencia extremadamente baja, ya que utiliza entre 1 y 2 milivatios según Ralph Yamamoto, que escribió sobre su experiencia en conseguir que una cámara funcione con la Raspberry Pi Pico.

Vista previa de la cámara a 96×96 píxeles. Fuente: Ralph Yamamoto/Elemento14

Su conclusión fue que "estoy seguro de que requerirá muchos ajustes", y además dijo que se sentía limitado por su capacidad de procesamiento, y que la documentación de la cámara era deficiente.

Sistema operativo Raspberry Pi Pico

Por lo general, no vas a ejecutar un sistema operativo en la Raspberry Pi Pico.

En la mayoría de los proyectos, es probable que sólo necesites cargar el código y luego ejecutar ese único programa. En ese caso no es necesario un sistema operativo.

¿Pero eres de los que tiene varias pestañas en Chrome? Ahora, imagina que sólo pudieras usar una pestaña de Chrome.

Aunque la forma "clásica" de programar la Raspberry Pi Pico es la más eficiente en cuanto a recursos, también limita su capacidad para ejecutar múltiples tareas.

Por suerte, existen sistemas operativos que podrían funcionar en la Raspberry Pi Pico.

RTOS oficial (sistema operativo en tiempo real)

No hay ninguno, pero Raspberry Pi dijo en su FAQ (a partir de febrero de 2022) que "trabajarán en portar un RTOS pronto".

FreeRTOS

La Raspberry Pi Pico puede ejecutar FreeRTOS. Aquí hay un breve vídeo que le guiará a través de ir de la programación bare-metal (la forma "típica" que parpadea un LED) a la programación basada en el sistema operativo.

Esta serie de cinco partes profundiza en los detalles de FreeRTOS, cómo funciona y cómo puedes configurarlo y utilizarlo.

Fuzix

No puedes conseguir que la Raspberry Pi Pico ejecute Linux con una interfaz gráfica de usuario, pero puedes ejecutar un clon de Unix en la Raspberry Pi Pico con Fuzix.

Raspberry Pi tiene publicó una guía que puedes seguir y lo que necesitas es

  • Raspberry Pi no Pico para la conexión en serie
  • Raspberry Pi Pico
  • Lector de MicroSD para la Raspberry Pi Pico.

PyDOS

El usuario de Github RetiredWizard acaba de crear un shell tipo DOS para las placas RP2040/ESP32.

Como puedes ver en el vídeo de arriba, realmente te hace retroceder más de 30 años.

Consulta el repositorio de Github aquí.

Cómo empezar con la Raspberry Pi Pico

Hemos diseñado varios kits en base a lo que creemos que le ayudará más a largo plazo a disfrutar de su viaje con la Raspberry Pi Pico.

En lo más fundamental, aquí están algunos accesorios recomendados para Raspberry Pi Pico.

El diodo Schottky es necesario si se pretende utilizar una segunda fuente de alimentación para el Pico. Esta es la forma más sencilla de utilizar una fuente de alimentación que esté dentro del rango de tensión de 2,3V a 5,5V, que puede ser una pila de litio o tres pilas AA.

La adición de este diodo le permitirá "OR" los dos voltajes de VBUS y el voltaje externo para alimentar a VSYS con los diodos evitando que cualquiera de los dos suministros retroalimenten al otro.

Sin embargo, aunque esto es lo más sencillo, hay pérdidas de eficiencia. Hoja de datos de Raspberry Pi explica esto en detalle y también explica cómo mitigarlo en el capítulo 4.5.

Tener un soporte de batería le permite tener energía de respaldo (con un diodo Schottky) o ejecutar su configuración completamente fuera de la red.

Esto se explica por sí mismo. Necesitas este cable para conectar tu Raspberry Pi Pico a tu ordenador para cargar el código. También puede funcionar como fuente de alimentación.

Dos cabezales de 20 pines son esenciales porque los necesitarás para conectar tu Raspberry Pi a componentes o a una protoboard.

El cabezal de tres pines es necesario para la depuración.

No compres un cabezal de 40 pines ya que está pensado para las otras Raspberry Pis.

Si no quieres soldar los cabezales tú mismo, puedes considerar la compra de un Pico con cabeceras presoldadas.

Programación en la Raspberry Pi Pico

Puedes codificar en MicroPython, C/C++ y CircuitPython en la Raspberry Pi Pico. Aquí hay una tabla que muestra el esfuerzo necesario para parpadear el LED interno.

IdiomaMicroPythonC/C++CircuitoPython
Configuración necesaria para la primera ejecuciónMedioEl más altoMás bajo
Pasos para crear un nuevo programaMedioEl más altoMás bajo
Control del hardwareMedioEl más altoMedio

MicroPython en la Raspberry Pi Pico

MicroPython es esencialmente Python lite. O un Python dietético.

Es Python con un pequeño subconjunto de la biblioteca estándar de Python, optimizado para ejecutarse en microcontroladores como el Raspberry Pi Pico.

Para utilizar MicroPython, deberá descargar Thonny y vaya a la parte inferior derecha donde dice "Python 3.7.9" y haga clic en él, seleccionando MicroPython (Raspberry Pi Pico).

Es probable que le aparezca una ventana emergente pidiéndole que se actualice. Hazlo.

La actualización funcionó bien cuando ejecuté Thonny en mi Raspberry Pi OS, sin embargo, en Windows, hubo este error diciendo "SSL: CERTIFICATE_VERIFY_FAILED".

Puede solucionarlo descargando este certificado (https://letsencrypt.org/certs/lets-encrypt-r3.der), luego haga clic con el botón derecho del ratón en el archivo descargado e "Instale el certificado" y ya no encontrará este error.

Con MicroPython instalado, puedes hacer el equivalente al "Hello World" de la Raspberry Pi Pico y hacer parpadear su LED interno utilizando este código

from machine import Pin, Timer
led = Pin(25, Pin.OUT)
timer = Timer()

def blink(timer):
    led.toggle()

timer.init(freq=2.5, mode=Timer.PERIODIC, callback=blink)

Pulse RUN, guárdelo como blink.py y el LED interno de tu Raspberry Pi debería parpadear.

Con eso, veamos el proceso equivalente en C.

Más información

PiCockpit también tiene algunas guías para ayudarle a empezar con MicroPython en la Raspberry Pi Pico.

Raspberry Pi Pico y MicroPython en Windows - profundizamos en la configuración de MicroPython en Windows en la Raspberry Pi, cómo instalar el controlador adecuado en Windows 8.1, la conexión a la Pico utilizando PuTTY y una explicación detallada de Thonny.

Extensión C para MicroPython en Raspberry Pi Pico - ¿Qué pasaría si pudiera ejecutar MicroPython y C simultáneamente y obtener los beneficios de ambos lenguajes? C se desempeña mejor que MicroPython en tareas computacionales pesadas y, a veces, es posible que desee interconectar algún hardware a través de una API de C desde MicroPython. Esta guía comparte cómo puede hacerlo.

LED parpadeante con C/C++

Si necesita un control mucho más fino, probablemente querrá escribir en C/C++.

Conseguir que tu Raspberry Pi Pico funcione con C es mucho más trabajo. No es tan fácil como escribir MicroPython con Thonny.

La forma más sencilla es utilizar un microordenador Raspberry Pi con Raspberry Pi OS.

Si quieres usar un Mac o Windows, la guía oficial ofrece instrucciones en el capítulo nueve.

Ejecuta estos tres comandos:

wget https://raw.githubusercontent.com/raspberrypi/pico-setup/master/pico_setup.sh 
$ chmod +x pico_setup.sh
./pico_setup.sh

Necesitarás unos 2GB de espacio para ejecutar este comando. Una vez hecho esto, reinicie ejecutando sudo reboot .

Una vez que haya arrancado, abra Visual Studio Code (en la carpeta Programming del menú de inicio) y abra la carpeta situada en /home/pi/pico/pico-ejemplos. Debe cargar esta carpeta y no una subcarpeta.

A continuación, debe configurar VS Code. Refiriéndose a la imagen de arriba, haga lo siguiente:

  1. Haga clic en la parte que dice "No Kit";
  2. Aparecerá una ventana emergente. Elige la opción donde dice "arm-none-eabi";
  3. Haz clic en [todos] y elige el proyecto que quieras compilar. Para conseguir que el LED interno parpadee, elegí parpadeo
  4. Pulse Construir

Podrá encontrar el parpadeo.uf2 en el archivo /construcción/parpadeo carpeta.

Copie el archivo UF2 en su Raspberry Pi Pico y verá que el LED interno comienza a parpadear.

Construir tu propio proyecto es más complicado en C/C++. La guía oficial tiene capítulo octavo que le indica cómo crear su propio proyecto.

CircuitoPython

Un tercer participante en los lenguajes de programación que funcionan con la Raspberry Pi Pico es CircuitPython.

Para empezar, descargue el archivo .UF2 aquí.

Botón BOOTSEL

Mantenga pulsado el botón BOOTSEL y conecte su Pico al ordenador. Debería ver una nueva unidad de disco.

Copie el archivo .UF2 que descargó en esa unidad. Su Pico se desconectará y volverá a conectarse con una nueva unidad llamada CIRCUITPY.

En esa carpeta, hay un archivo llamado código.pyy ábralo con su editor de código preferido (incluso el Bloc de notas funciona).

Pon este código:

import board
import digitalio
import time

led = digitalio.DigitalInOut(board.LED)
led.direction = digitalio.Direction.OUTPUT

while True:
    led.value = True
    time.sleep(0.5)
    led.value = False
    time.sleep(0.5)

Una vez que la guardes, verás que el LED interno de tu Pico empieza a parpadear.

En general, CircuitPython fue la forma más suave y directa de conseguir que el LED interno parpadee. Las otras dos opciones eran más tediosas, especialmente la ejecución de C en el Pico (triplemente si se intenta que funcione en Mac/Windows).

Dicho esto, si estás pensando en usar CircuitPython a largo plazo, hay un argumento para usar Thonny como tu IDE porque puede descargar paquetes por ti y también puedes ejecutar y detener programas pulsando el botón de reproducción/parada en la barra de comandos.

Para más referencias sobre CircuitPython, véase La documentación de Adafruit. Para volver a MicroPython, descargar un archivo .UF2 desde aquí y cárguelo en su unidad CIRCUITPY.

Bono: Ensamblador en la Raspberry Pi Pico

Sí, puedes escribir en ensamblador si no quieres programar la Raspberry Pi Pico en C o Python.

El FAQ de Raspberry Pi afirma que el SDK de Pico tiene algunas funciones escritas en ensamblador y que,

"El procesador (ARM Cortex M0+ de doble núcleo) implementa el conjunto de instrucciones Thumb de ARMv6-M, incluyendo una serie de instrucciones de 32 bits que utilizan la tecnología Thumb-2. El conjunto de instrucciones ARMv6-M comprende todas las instrucciones Thumb de 16 bits de ARMv7-M, excepto CBZ, CBNZ e IT, y las instrucciones Thumb de 32 bits BL, DMB, DSB, ISB, MRS y MSR".

Bonus: Lenguaje de programación Rust en la Raspberry Pi Pico

Si te sientes malhumorado porque eres un roteño que no puede esperar a escribir en su idioma preferido, tengo buenas noticias para ti.

En el corazón de esto está la capa de abstracción de hardware RP2040 que que puedes obtener en GitHub (llamado rp-hal). Funciona para muchas placas que utilizan el microcontrolador RP2040 aparte de la Raspberry Pi Pico.

Aquí tienes un vídeo que te muestra cómo configurarlo.

¿Qué es UF2 y por qué se utiliza tanto en la Raspberry Pi Pico?

Es mágico. Arrastras un archivo UF2 a tu Raspberry Pi Pico y de repente se vuelve a montar con un nuevo nombre o de repente parpadea un LED.

UF2 (U F al cuadrado) significa USB Flashing Format. Cuando lo arrastras a tu Raspberry Pi, estás arrastrando tu código además de las instrucciones para el gestor de arranque para que sepa qué hacer con lo que has subido.

Conectar el Pico a través del terminal de serie

Windows

La conexión con el Pico mediante el terminal de serie es fácil y tenemos una guía aquí.

Conexión a una Raspberry Pi 4 (Linux)

Para conectar la Raspberry Pi Pico a una Raspberry Pi 4, puedes utilizar los pines USB o UART, minicom y unos cuantos cables de puente.

Raspberry Pi's Cómo empezar con Pico tiene toda la información del capítulo 4, concretamente los puntos 4.4 y 4.5.

Depuración de la Raspberry Pi Pico

¿Para qué sirven estos tres pines de la parte inferior?

pines de depuración de la raspberry pi pico
Pines de depuración de Raspberry Pi Pico

Estos pines le darán la capacidad de reiniciar el Pico, cargar el código en la flash, ejecutar el código y lo más importante, la capacidad de depuración.

La mayor ventaja es la capacidad de depuración avanzada que puedes obtener de estos pines. Ahora eres capaz de hacer un análisis de código mucho más fino porque puedes:

  1. Establezca puntos de interrupción en su código. Los puntos de interrupción le permiten detener la ejecución del código mientras comprueba los valores de sus variables, por ejemplo.
  2. Recorre la ejecución del código línea por línea. ¿Cuándo va todo mal? Línea por línea facilita la depuración.

Se pueden conectar a un microordenador Raspberry Pi a través de sus pines GPIO. Si quieres conectarlo a otras máquinas, probablemente vía USB, entonces necesitarás una sonda de depuración.

Un Raspberry Pi Pico también puede actuar como una sonda de depuración que conecta tu ordenador con el Pico en el que quieres trabajar. Piénsalo así: tu ordenador no tiene los pines GPIO necesarios para establecer una conexión UART/SWD, así que vas a utilizar un Pico para proporcionar esas conexiones junto con el picoprobe firmware que lo habilite.

Sin embargo, si tiene la intención de utilizar el SWD para la depuración, debe utilizar una conexión serie basada en UART en lugar de una conexión USB. La depuración detiene los núcleos del RP2040 lo que hará que la conexión USB se desconecte.

Hablemos un poco de lo que hace cada pin:

SWDIOEl pin de entrada/salida de depuración del cable serie lleva el tráfico de depuración entre el RP2040 y el ordenador principal (un ordenador de tamaño normal o un microordenador Raspberry Pi, por ejemplo).

GND: Tierra. Necesario para mantener una buena integridad de la señal entre el host y el Pico.

SWCLK: La clavija del reloj del cable serie sincroniza la conexión.

Su mejor opción es consultar el Cómo empezar con Pico hoja de datos de Raspberry Pi, con un enfoque específico en los capítulos 5, 6 y el Apéndice A: el uso de Picoprobe.

Proyectos Raspberry Pi Pico

Aquí hay algunos buenos proyectos para principiantes que puedes empezar con un mínimo de piezas adicionales.

Teclado sArCasM fácil y teclado de macros

Este es un proyecto divertido que le permitirá crear un modificador que convierte la escritura normal en caso de sarcasmo. En serio, saber utilizar la biblioteca HID de Adafruit con un interruptor te permitirá crear teclas macro.

Si quieres escribir sArCaSm a escala, es bastante cansado. Hay una manera muy fácil de hacerlo con la Raspberry Pi Pico.

Usted no necesita nada más allá de su Raspberry Pi Pico para el diseño más básico. Sin embargo, su Raspberry Pi Pico debe tener CircuitPython con la biblioteca HID de Adafruit.

En el modo normal de Thonny, vaya a Herramientas -> Gestionar paquetes y buscar adafruit-circuitpython-hid. Instálalo.

También asegúrese de que está utilizando el intérprete CircuitPython, que se encuentra en la parte inferior derecha de Thonny.

Pon este código,

import time
import board
import usb_hid
from adafruit_hid.keyboard import Keyboard
from adafruit_hid.keycode import Keycode

keyboard = Keyboard(usb_hid.devices)

while True:

        keyboard.press(Keycode.CAPS_LOCK)
        time.sleep(0.2)
        keyboard.release(Keycode.CAPS_LOCK)

Cargue el código en su Pico. Si es necesario, pulse el botón RUN en Thonny.

Ahora, cada vez que conectes tu Raspberry Pi Pico al ordenador... mira el mapa delante de tus ojos.

Lo que hace este script es que activa y desactiva el bloqueo de mayúsculas cada 0,2 segundos, como se declara en time.sleep(0.2). Si cambias el valor dentro de los corchetes, puedes afinar la frecuencia de cambio de caja.

Añadir un interruptor a este proyecto

añadir un interruptor a la raspberry pi pico

Este diseño básico tiene el inconveniente de que hay que tirar del USB para detener el sarcasmo.

Añadamos un interruptor que nos permita activar y desactivar esta función.

Mantengamos también el LED del tablero encendido cuando se active el sarcasmo.

Diagrama para conectar un interruptor a la Raspberry Pi Pico usando Wokwi.

Un pulsador tiene cuatro clavijas. Conecta la clavija de 3,3 V y el GPIO 22 (etiquetado como GP 22) en los lados diagonalmente opuestos del pulsador.

Lo que ocurre aquí es que al pulsar el interruptor, se conectan los 3,3V al pin 22 del GPIO, con lo que, en términos llanos, se activa.

Esta es la única modificación física que necesitas hacer. Es muy fácil.

En cuanto al código, creció en bastantes líneas, (negrita = relacionado con el botón, cursiva = relacionado con el LED)

import time
import digitalio
import board
import usb_hid
from adafruit_hid.keyboard import Keyboard
from adafruit_hid.keycode import Keycode

keyboard = Keyboard(usb_hid.devices)

<strong>btn1_pin = board.GP22
btn1 = digitalio.DigitalInOut(btn1_pin)
btn1.direction = digitalio.Direction.INPUT #GP22 is an input
btn1.pull = digitalio.Pull.DOWN #DOWN means it outputs False

</strong>
<em>led = digitalio.DigitalInOut(board.LED)
led.direction = digitalio.Direction.OUTPUT</em> #powering LED, so give it OUTPUT
 
activated = False #this variable stores if sarcasm is on or off

while True:
    <strong>if btn1.value: #if user presses btn1, start sarcasm
        activated = True</strong>
        
    if activated:
        <em>led.value = True</em> #turn on board LED
        keyboard.press(Keycode.CAPS_LOCK)
        time.sleep(0.2)
        keyboard.release(Keycode.CAPS_LOCK)
        if <strong>btn1.value: #if user presses btn1 while activated, cancels sarcasm
            activated = False
            <em>led.value = False</em> #turn off LED
            time.sleep(0.2)</strong> 
            <strong>#pauses while loop to give user time to remove finger from btn1</strong>

Convertir el teclado del sarcasmo en un teclado macro

Puedes utilizar el botón para activar macros como ALT + TAB, CTRL + ALT + DEL o cualquier otra cosa hasta un máximo de seis teclas normales.

Sólo tienes que modificar las teclas dentro de este método keyboard.press y keyboard.release.

import time
import digitalio
import board
import usb_hid
from adafruit_hid.keyboard import Keyboard
from adafruit_hid.keycode import Keycode

keyboard = Keyboard(usb_hid.devices)

btn1_pin = board.GP22
btn1 = digitalio.DigitalInOut(btn1_pin)
btn1.direction = digitalio.Direction.INPUT
btn1.pull = digitalio.Pull.DOWN

while True:
    if btn1.value:
        <strong>keyboard.press(Keycode.ALT,Keycode.TAB )</strong>
        time.sleep(0.2)
        <strong>keyboard.release(Keycode.ALT,Keycode.TAB)</strong>

Hay muchas más cosas que puedes hacer con este hack de teclado. Por ejemplo, puedes utilizarlo para evitar que aparezca tu salvapantallas pulsando una tecla inofensiva como Avance de página. O podrías usarlo específicamente para controlar Zoom, Discord, OBS, Meet, etc.

Datos de temperatura/humedad con DHT22

raspberry pi pico dht22

Si tienes un sensor DHT11, DHT22 o AM2302, puedes utilizarlo con la Raspberry Pi Pico.

Estos sensores probablemente estarían mejor emparejados con una pantalla LCD o una forma de guardar los datos, pero vamos a empezar con un proyecto de inicio rápido.

Necesitas tres cables de puente, cabezales en la Raspberry Pi Pico y una resistencia de 10K. El siguiente paquete tiene todo lo que necesitas, además de la Raspberry Pi Pico con cabezales.

Es realmente fácil con Thonny, CircuitPython y la biblioteca DHT de Adafruit.

En los siguientes pasos se utiliza el DHT22.

Conexión del sensor DHT22 a la Raspberry Pi Pico

Es muy fácil conectar el DHT22 al Pico.

raspberry pi pico dht22

Hay cuatro pines en el DHT22. De izquierda a derecha, con el lado mallado hacia usted, los pines son VCC, DATOSNC y GND. No necesitarás conectar NC.

Conectar VCC a la Pin de 3,3V en el Pi.

Conecte la resistencia de 10K de los 3,3V a DATOSy, a continuación, conecte DATOS a GP0. Esto es más fácil de hacer con una protoboard para poder dividir los 3.3V. Como se ve en la foto de arriba, una resistencia va desde el pin más a la izquierda hasta el segundo pin, así como el cable verde está conectado al GPIO 0.

Conectar GND a cualquier pin de tierra de tu Raspberry Pi Pico.

Ya ha terminado. Es la hora del software.

raspberry pi pico dht22
Diagrama realizado a partir de Wokwi.

Codificación del DHT22 en Thonny para la Raspberry Pi Pico

En primer lugar, abra Thonny y asegúrese de que está en el modo normal y en CircuitPython (abajo a la derecha). Una guía más detallada para Thonny y CircuitPython está disponible arriba.

Vaya a Herramientas -> Gestionar paquetes -> busque adafruit-circuitpython-dht.

raspberry pi pico dht22

Luego, introduce este código suministrado por Adafruit.

import time

import adafruit_dht
import board

dht = adafruit_dht.DHT22(board.GP0)

while True:
    try:
        temperature = dht.temperature
        humidity = dht.humidity
        # Print what we got to the REPL
        print("Temp: {:.1f} *C \t Humidity: {}%".format(temperature, humidity))
    except RuntimeError as e:
        # Reading doesn't always work! Just print error and we'll try again
        print("Reading from DHT failure: ", e.args)

    time.sleep(1)

Pulse Ejecutar en Thonny y debería ver una salida:

pi dht22

Pantalla Raspberry Pi Pico

La Raspberry Pi Pico es bastante chula porque puede mostrar imágenes.

La desventaja es que requiere bastante trabajo, algunos conocimientos técnicos y obtendrás imágenes que parecen de la era de Windows 3.1.

¿Por qué? Debido a la limitada memoria RAM de 264KB. Esto limita la resolución de la pantalla y la profundidad del color.

Dicho esto, he aquí algunos ejemplos de lo que puede salir.

Fácil salida de vídeo con la media DVI

La forma más sencilla de dar salida al vídeo es siguiendo nuestra guía y utilizando la media DVI o la placa de expansión VGA y Audio. El calcetín DVI utiliza un cable HDMI que es probablemente el puerto más compatible con los dispositivos actuales.

Lea aquí el artículo completo sobre cómo puede empezar

Formas de bricolaje para conectar Pico a la pantalla

Hay otras formas de emitir vídeo sin necesidad de comprar periféricos.

Miroslav Nemecek escribió un artículo sobre cómo se puede utilizar ocho resistencias y un puerto VGA para conectar un monitor a su Raspberry Pi Pico.

Y aquí tienes una forma de utilizar un cable HDMI y resistencias para conectar tu Pico a un monitor HDMI.

Consumo de energía de Raspberry Pi Pico

La hoja de datos del Pico de Raspberry Pi nos proporciona una buena base para entender cuánto consumo de energía se puede esperar del Pico basado en ciertos usos típicos.

Estas cifras no representan el máximo absoluto que se puede extraer de la Raspberry Pi Pico, pero son un buen punto de partida.

Su primera prueba incluyó el acceso a vídeo, audio y tarjeta SD para mostrar una demo del reproductor multimedia "Popcorn" a través de la tarjeta VGA, la tarjeta SD y el audio.

Estado
Jugar a Palomitas de maíz (vídeo, audio, tarjeta SD)93,5mA
Modo BOOTSEL, activo9,9mA
Modo DORMANTE0,8mA
Modo SLEEP1,3mA

Quizá te preguntes: ¿cuál es la diferencia entre DORMIR y SUEÑO?

Dormant requiere un disparador externo que manipule un pin GPIO para despertar la Raspberry Pi Pico mientras que SLEEP puede ejecutar un reloj interno para despertar la RP2040, como se ilustra en el Hoja de datos del RP2040.

En las preguntas frecuentes de Raspberry Pi Pico, lo aclaran aún más,

"El modo SLEEP es cuando los procesadores están en wfi/wfe y el DMA está inactivo, por lo que se pueden apagar la mayoría de los relojes del sistema, incluyendo cosas como el bus fabric.
El modo DORMANT es cuando se apagan todos los osciladores, y por lo tanto es de menor potencia aún, pero entonces tiene menos opciones para despertar".

¿Puedo hacer funcionar la Raspberry Pi Pico con un banco de energía?

batería del banco de energía de la raspberry pi pico

Sí, puedes hacerlo.

Pero la Raspberry Pi Pico podría no extraer suficiente energía del banco de energía y hacer que el banco de energía entre en modo de ahorro de energía.

La solución es, desgraciadamente, extraer más energía poniendo una resistencia entre el banco de energía y la Raspberry Pi Pico. Aquí hay un video para explicar los entresijos.

Alimentación del Pico (tensiones)

La Raspberry Pi Pico puede alimentarse mediante el puerto microUSB. Esto alimenta el VSYS desde la tensión VBUS de 5V, a través de D1.

Si no estás usando el puerto USB para alimentar tu Raspberry Pi Pico, entonces puedes conectar VSYS a tu fuente de alimentación en el rango de 1.8V a 5.5V.

Sin embargo, si conectas ambas, tendrás que alimentar la segunda fuente de energía en VSYS a través de un diodo Schottky, que evita que cualquiera de las dos fuentes retroalimente a la otra. El diodo Schottky también permitirá que fluya el mayor de los voltajes del VBUS o del voltaje externo.

Sin embargo, hay una caída de tensión sobre el diodo Schottky, por lo que tendrás que suministrar una tensión de 2,3V a 5,5V.

Esto significa que puedes alimentar la Raspberry Pi Pico con un mínimo de 2 baterías recargables de níquel (2,4V) o 1 batería de litio (3,7V).

Para no perder eficiencia con el uso del diodo Schottky, puedes utilizar en su lugar un MOSFET de canal P que tenga una baja resistencia.

Para más información, consulte el Hoja de datos de Raspberry Pi Pico.

¿Puedo alimentar la Raspberry Pi Pico desde el USB de un televisor?

Sí, se puede. Aquí hay una imagen en la que parpadeó LED interno.

consumo de energía de la raspberry pi pico (2)

Un puerto USB estándar debería ser capaz de suministrar hasta 500mA, que es mucho más de lo que necesita la Raspberry Pi Pico. Como puedes ver en las pruebas de consumo de energía realizadas por la Raspberry Pi, la prueba más intensa solo consumió unos 90mA.

Podrías tener problemas si tu configuración de Raspberry Pi Pico consume más de 500mA, por ejemplo, si tu Pico está ejecutando periféricos de alto consumo.

Raspberry Pi Pico frente a otras placas

La Raspberry Pi Pico es un participante tardío en el mundo de los microcontroladores, ya que se lanzó en 2021. En el mundo de los microcontroladores ya existe una gran competencia, con productos como ESP32 y Arduinos, que tienen muchas variantes que pueden ayudarte a poner en marcha tu proyecto con las características adecuadas, como el WiFi.

No hay variantes con la Raspberry Pi Pico, así que tendrás que comprar HATs y otros complementos para conseguir el mismo objetivo.

Además, si vas a añadir muchos componentes... ¿cuándo llega el momento de comprar simplemente un microordenador?

Vamos a responder a esto mirando el ESP32, Arduino Uno y Raspberry Pi Zero.

Raspberry Pi Pico vs Espressif ESP32

El ESP32 es un gran paso adelante respecto al Raspberry Pi Pico en cuanto a sus capacidades tecnológicas. En aras de la comparación, elegí la variante PICO-KIT porque se sentía más similar en factor de forma a la Pico.

Por un lado, el hecho de tener WiFi y Bluetooth supone un gran cambio en el juego. Por ejemplo, podrás ejecutar un servidor en el Espressif ESP32 que muestre los valores de tu sensor, mientras que no podrás hacerlo en la Raspberry Pi Pico.

El ESP32 también tiene un procesador más rápido, más memoria RAM y más memoria flash, pero todo esto tiene el coste de un mayor consumo de energía.

La Raspberry Pi Pico es un poco más modesta en sus especificaciones, pero destacan dos cosas. El hecho de que puede aceptar voltajes de 1,8 V a 5,5 V realmente le permite utilizar una batería de litio que crea un paquete muy compacto. Esto no sería posible con el ESP32 a menos que se modificara el voltaje de 3,7 V de la única batería de litio.

Raspberry Pi PicoEspressif ESP32-PICO-KIT
Frecuencia de la CPU133MHz80/160/240MHz
MicrocontroladorRP2040Xtensa LX6
Núcleos22
Memoria flash2MB4MB
RAM256KB520KB
GPIO26 (utilizable por el usuario)36
¿Tiene USB?microUSBmicroUSB
¿WiFi y/o BT?NoSí, ambos
Tensión1,8 - 5,5V o 5V USB3,3V (mediante pines) o 5V mediante USB o 5V-12V (mediante regulador de tensión)
Consumo de energía (con actividad)93mA (prueba de palomitas)100-128mA1
Tamaño51x21mm52x20mm
IdiomasMicroPython / CMicroPython / C

Nota: las cifras de consumo de energía en el ESP32 está ejecutando un programa con un bucle vacío.

Raspberry Pi Pico vs Arduino Uno Rev3

Arduino crea un montón de placas y en términos de factor de forma, el Arduino Nano es probablemente el más cercano, llegando a 45 x 18 mm. Arduino también produce una placa que utiliza el microcontrolador RP2040.

Sin embargo, la placa más común es la Arduino Uno Rev3, así que vamos a ver cómo se comparan estas dos placas.

Raspberry Pi PicoArduino Uno Rev3
Frecuencia de la CPU133MHz16 MHz
MicrocontroladorRP2040ATmega328P
Memoria flash2MB32KB
RAM256KB2KB
GPIO26 (utilizable por el usuario)14 digitales, 6 analógicas
¿Tiene USB?microUSBUSB B
¿WiFi y/o BT?NoVariante de WiFi disponible
Tensión1,8 - 5,5V o 5V USB6-20V (se recomienda 7-12V) o mediante USB.
Tamaño51x21mm68x53mm
IdiomasMicroPython / CC

Para los principiantes, una de las mayores diferencias a tener en cuenta es cómo el Arduino Uno funciona con una lógica de 5V mientras que la Raspberry Pi Pico funciona con una lógica de 3,3V.

5V puede potencialmente hacer las cosas más fáciles para los principiantes porque algunos componentes requieren una entrada de 5V como los relés. Si tienes un componente de 5V que quieres ejecutar en la Raspberry Pi Pico, tendrás que suministrar componentes adicionales para elevar los 3,3V a 5V.

La otra diferencia es que el Arduino Uno es de código abierto, lo que significa que puedes comprar placas más baratas que tienen exactamente la misma capacidad. Dicho esto, la Raspberry Pi Pico ya es extremadamente barata a $4 o 4,10€.

El Arduino Uno también admite un rango mucho más amplio de voltajes (7-12V recomendado), lo que significa que puedes hacerlo funcionar con muchos tipos de fuentes de alimentación.

En cuanto a los lenguajes de programación, el Pico tiene la ventaja de permitirte codificar en MicroPython, mientras que tendrás que escribir C para el Arduino. Dicho esto, el Arduino dispone de una biblioteca más amplia que facilita el trabajo con los componentes.

Raspberry Pi Pico vs Raspberry Pi Zero

pi zero pi pico
Foto de Harrison Broadbent.

Hasta cierto punto, la Pico y la Zero tienen capacidades que se solapan. En circuitos sencillos, puede utilizar la Pico y la Zero para hacer exactamente lo mismo.

Pero la forma de llegar al mismo punto variará entre el Pico y el Zero.

Esta es la lógica que utilizo para decidir cuál utilizar:

EscenarioQué conseguir
Soy mejor en un lenguaje que no sea C/PythonCero
Tengo energía "ilimitada" (es decir, caso de uso no solar o de batería)Cero
Necesito WiFi y/o BluetoothCero
Necesito guardar datos (como registros de temperatura)Cero
Necesito usar una cámaraCero
Necesito la configuración más compactaPico
Necesito un reinicio rápido en caso de accidente o fallo de alimentaciónPico
No quiero configurar un sistema operativoPico
Quiero la opción más barataPico

Un resumen más detallado de por qué optar por el Pico o el Zero es cubierta arriba, y este enlace le llevará a ella.

Raspberry Pi Pico vs Teensy 4.1

El Teensy 4.1 es una placa extremadamente potente gracias a su chip ARM Cortex-M7 que funciona a 600MHz.

Lanzado por PJRC en 2021, el Teensy 4.1 atraería a la gente que necesita algo con mucha potencia de procesamiento, RAM, memoria flash, ethernet y más pines GPIO de los que encontraría en la Raspberry Pi Pico.

Tienes 55 pines de entrada/salida pero sólo 42 son "breadboardables". Hay 35 pines PWM, 18 entradas analógicas, 8 serie, 3 SPI y 3 I2C.

Donde la Raspberry Pi Pico brilla es en su simplicidad. Si estás aprendiendo y quieres la forma más fácil de empezar con proyectos sencillos, la Raspberry Pi Pico ofrece la forma más fácil de ponerse en marcha.

Por ejemplo, el lenguaje de programación de la Raspberry Pi Pico es MicroPython, mientras que el Teensy 4.1 se programa principalmente en C.

También es muy fácil utilizar CircuitPython en la Raspberry Pi Pico, lo que facilita la construcción de proyectos.

El precio del Teensy 4.1, de $26,85, es bastante más que el del Raspberry Pi Pico $4.

Además, es mucho más fácil alimentar la Raspberry Pi Pico con una batería debido al amplio voltaje que puede tomar.

Raspberry Pi PicoTeensy 4.1
Frecuencia de la CPU133MHz600MHz
Memoria flash2MB8MB
RAM256KB1024KB
GPIO26 (utilizable por el usuario)55 digitales, 18 analógicas
¿Tiene USB?microUSBmicroUSB
¿WiFi y/o BT?NoNo, pero dispone de Ethernet
Tensión1,8 - 5,5V o 5V USB5V vía USB o VIN
Tamaño51x21mm61x15mm

Descargas de Raspberry Pi Pico

He recopilado una lista de archivos que pueden ayudarte en tus proyectos. La mayoría de ellos se encuentran en el subdominio de la hoja de datos de Raspberry Pi y lo que hay aquí es lo que es relevante para la Raspberry Pi Pico.

Referencias

Pinout de Raspberry Pi Pico

Esquemas de Raspberry Pi Pico

Ficha técnica de Raspberry Pi Pico (sobre el Pico, especificaciones mecánicas/eléctricas, características, alimentación, depuración, esquema, localización de componentes)

Resumen del producto Raspberry Pi Pico (cubierta de marketing)

Hoja de datos del RP2040

Raspberry Pi Pico Fritzing archivo

Preguntas frecuentes sobre Raspberry Pi Pico

10 datos curiosos de la Raspberry Pi Pico

Programación

Extensión C para MicroPython

Raspberry Pi Pico y MicroPython en Windows

Raspiración Pi Pico Introducción a Pico (para el desarrollo de C/C++)

Archivo CircuitPython para Raspberry Pi Pico UF2

Thonny

Empezar con MicroPython en Raspberry Pi Pico

Documentación del SDK (kit de desarrollo de software) de Raspberry Pi Pico C

Documentación de Raspberry Pi Pico MicroPython SDK (kit de desarrollo de software)

CAD

Archivo STEP de Raspberry Pi Pico

RP2040 archivo KiCAD mínimo

RP2040 VGA Archivo KiCAD

14 Comentarios

  1. Antony el abril 18, 2022 a las 11:54 am

    El consumo de energía no es de 6W, sino de 0,5W (100mA a 5V)

    • Xuyun Zeng el abril 20, 2022 a las 5:02 am

      Hola Antonio, lo he corregido. Gracias por tu aportación.

    • Rys el noviembre 13, 2022 a las 6:49 am

      chyba na wyjściach pinów. La tecnología de PICO es una de las más importantes.

  2. Andres Nuñez el julio 3, 2022 a las 11:54 pm

    Puedo conectar por usb una Raspberry Pi Pico con un Arduino Nano. que la rrasberry envíe por usb datos al arduino?

    Gracias

  3. robert el septiembre 19, 2022 a las 8:47 pm

    pico w tiene wifi ahora

  4. Arya el septiembre 24, 2022 a las 7:17 am

    > Oh, ¿he mencionado que la Raspberry Pi Zero es muy exigente con el voltaje que le suministras? Sólo acepta 4,75 - 5,25V.

    incorrecto, esa es la especificación declarada, pero toma menos que eso y funciona de maravilla. ver aquí: https://hackaday.io/project/19035/log/69596

  5. FWBlack el octubre 4, 2022 a las 7:12 pm

    ¡Muy buena redacción! Me ha gustado esto: "Por ejemplo, uno de mis proyectos utilizaba un potenciómetro para regular la frecuencia de conmutación de un relé". - Me preguntaba si podrías compartir en detalle este proyecto como ejemplo. ¿Usaste PIO / PIO State Machine?

    • Xuyun Zeng el octubre 5, 2022 a las 10:01 am

      No se ha utilizado PIO.

      Básicamente, cuando se conecta un potenciómetro a un ADC, se obtiene un valor. Al girar el potenciómetro, el valor aumentará o disminuirá.

      Básicamente usé esos valores para crear un temporizador. Así, por ejemplo, si el valor es 2000, corresponderá a 2 segundos de encendido, 2s de apagado.

  6. Frabci el diciembre 7, 2022 a las 2:48 am

    Buenas, es posible que la raspberry pi pico se queme al recibir de entrada una correinte de 2A pero voltaje de 5V?

    • Xuyun Zeng el diciembre 8, 2022 a las 7:09 am

      ¿Estás usando un cargador de movil que tiene una corriente de 2A? Aunque siempre haya riesgo, creo que el Pico solo tomaria la corriente que necesite, aunque tu cargador puede ponerle 2A (al maximo).

  7. Nigel A Gunn el enero 20, 2023 a las 9:42 pm

    No estás limitado a C o microPython para programar. Tengo picos con intérpretes de FORTH y BASIC instalados y siempre está CircuitPython.

    • raspi berry el febrero 4, 2023 a las 11:49 am

      Gracias por los comentarios. Es interesante saber que también se pueden ejecutar lenguajes como FORTH en el Pico.

  8. Antonio el abril 28, 2023 a las 2:01 pm

    En Raspberry Pi Pico W no es necesario instalar la librería adafruit-circuitpython-hid.
    Inizia l'installazione e dopo un po mi da errore 28 memoria piena.
    dove sbaglio?
    Grazie 1000

  9. PoyFromFrance el agosto 28, 2023 a las 10:36 am

    ¡Gran articulo! He utilizado un Pico para mi teclado personalizado con firmware kmk (circuito basado en python) y es genial.
    He comprado algunos clones pico en aliexpress recientemente para tan bajo como 2,7 dólares con el tipo C y 16 mb ... No probado todavía.

Deja un comentario