¿Qué es la Raspberry Pi Pico? Instalación de MicroPython, pines y primeros proyectos
Qué es la Raspberry Pi Pico y en qué se diferencia de una Raspberry Pi y de Arduino. RP2040, Pico W y Pico 2, pines, instalación de MicroPython con Thonny y primeros códigos de LED, botón, PWM y lectura analógica.
La Raspberry Pi Pico es una placa de microcontrolador muy barata, del tamaño de la palma de la mano, basada en el RP2040, un chip diseñado por la propia Fundación Raspberry Pi. Su gran ventaja es que se programa en MicroPython, es decir, en Python: escribes el código, lo ejecutas y ves el resultado al momento, sin esperar a compilar. Por eso es una puerta de entrada fantástica para estudiantes que aprenden Python y para quien empieza en electrónica. Si lo prefieres, también puedes programarla en C/C++ o con el Arduino IDE.

¿Qué es la Raspberry Pi Pico? Diferencias con una Raspberry Pi
Aunque el nombre se parezca, la Pico no es un ordenador como la Raspberry Pi 4 o 5. No tiene sistema operativo, salida HDMI ni escritorio; igual que un Arduino, es una placa de microcontrolador que ejecuta un único programa. El programa arranca en cuanto le das corriente, consume muy poca energía y hace en tiempo real tareas como leer sensores, encender LED o mover motores.
| Característica | Raspberry Pi Pico | Arduino Uno R3 | Raspberry Pi 4 / 5 |
|---|---|---|---|
| Tipo | Placa de microcontrolador | Placa de microcontrolador | Ordenador de placa única |
| Sistema operativo | No tiene | No tiene | Linux |
| Lenguaje | MicroPython, C/C++, Arduino | C/C++ (Arduino) | Python y casi cualquier lenguaje |
| Tiempo de arranque | Inmediato | Inmediato | 20–30 segundos |
| Consumo | Unos 25 mA | Unos 45 mA | Varios vatios |
| Uso típico | Sensores, LED, motores, temporización | Sensores, LED, motores | Cámaras, servidores, ordenador de escritorio |
Características técnicas: Pico, Pico W y Pico 2
| Característica | Pico | Pico W | Pico 2 |
|---|---|---|---|
| Chip | RP2040, doble núcleo Cortex-M0+, 133 MHz | RP2040, doble núcleo Cortex-M0+, 133 MHz | RP2350, doble núcleo Cortex-M33, 150 MHz |
| RAM | 264 KB | 264 KB | 520 KB |
| Memoria flash | 2 MB | 2 MB | 4 MB |
| Inalámbrico | No | Wi-Fi (2,4 GHz) + Bluetooth | No (sí en la Pico 2 W) |
| GPIO utilizables | 26 | 26 | 26 |
| Entradas analógicas (ADC) | 3 canales, 12 bits | 3 canales, 12 bits | 3 canales, 12 bits |
| Tensión de trabajo | 3,3 V | 3,3 V | 3,3 V |
Pines de la Pico
La Pico tiene 40 pines en total a lo largo de sus dos lados. Todos los 26 pines GPIO, de GP0 a GP28, pueden dar PWM, y las comunicaciones I2C, SPI y UART se pueden usar en varios pines alternativos. Las entradas analógicas solo están en GP26, GP27 y GP28. Puedes ver el mapa completo en la herramienta Pinout; los pines de alimentación y especiales más importantes son:
| Pin | Función |
|---|---|
| VBUS | 5 V que llegan por USB |
| VSYS | Entrada de alimentación externa (1,8–5,5 V) |
| 3V3(OUT) | Salida de 3,3 V para sensores (hasta unos 300 mA) |
| GND | Tierra (hay 8 en la placa) |
| GP0–GP22 | Entrada/salida digital, PWM, I2C, SPI, UART |
| GP26–GP28 | Además, entradas analógicas (ADC0–ADC2) |
| RUN | Reinicia la placa al unirlo a GND |
Instalar MicroPython (con Thonny)
- Descarga e instala Thonny desde thonny.org.
- Mantén pulsado el botón BOOTSEL de la Pico mientras conectas el cable USB al ordenador; la Pico aparecerá como una unidad llamada RPI-RP2 (RP2350 en la Pico 2).
- En el menú del intérprete, abajo a la derecha de Thonny, elige MicroPython (Raspberry Pi Pico) y usa «Install or update MicroPython» para instalar la versión adecuada para tu placa (Pico, Pico W o Pico 2). También puedes descargar el archivo .uf2 de micropython.org y arrastrarlo a la unidad.
- Al terminar la instalación, la Pico se reinicia. Si ves el símbolo >>> en el Shell de la parte inferior de Thonny, ya está lista.
- Si guardas tu código en la Pico con el nombre main.py, se ejecutará automáticamente cada vez que se encienda la placa, aunque no esté conectada al ordenador.
Primer programa: hacer parpadear el LED integrado
1from machine import Pin
2import time
3
4led = Pin(25, Pin.OUT) # Pico'da dahili LED; Pico W ve Pico 2 W'de Pin("LED") yaz
5 # onboard LED on Pico; use Pin("LED") on Pico W / Pico 2 W
6
7while True:
8 led.toggle() # durumu tersine çevir / flip the state
9 time.sleep(0.5)Controlar un LED con un botón
Conecta un LED al GP15 con una resistencia de 220 Ω y un botón al GP14. La otra pata del botón va a GND y se activa la resistencia pull-up interna de la Pico; así el botón lee 1 cuando está suelto y 0 cuando está pulsado:
1from machine import Pin
2
3led = Pin(15, Pin.OUT)
4button = Pin(14, Pin.IN, Pin.PULL_UP) # butonun diğer ucu GND'de / other leg to GND
5
6while True:
7 led.value(not button.value()) # basılıyken yanar / on while pressedBrillo de un LED con PWM
Todos los GPIO de la Pico pueden dar PWM. En MicroPython el valor de duty va de 0 a 65535. El código siguiente enciende el LED poco a poco y vuelve a empezar; la idea del PWM se explica en detalle en ¿Qué es PWM?
1from machine import Pin, PWM
2import time
3
4led = PWM(Pin(15), freq=1000)
5
6while True:
7 for d in range(0, 65536, 1024): # yavaşça yan / fade in
8 led.duty_u16(d)
9 time.sleep_ms(10)Lectura analógica y sensor de temperatura integrado
Conecta la pata central de un potenciómetro al GP26 y las de los extremos a 3V3 y GND. read_u16() devuelve un valor de 0 a 65535. La Pico lleva además un sensor de temperatura interno conectado al 4.º canal del ADC; la medida es aproximada, pero es una forma divertida de leer la temperatura sin piezas extra:
1from machine import ADC
2import time
3
4pot = ADC(26) # GP26 (ADC0) / potansiyometre orta ucu / pot wiper
5sensor = ADC(4) # dahili sıcaklık sensörü / internal temperature sensor
6
7while True:
8 value = pot.read_u16() # 0–65535
9 volts = sensor.read_u16() * 3.3 / 65535
10 temp = 27 - (volts - 0.706) / 0.001721 # °C (yaklaşık / approximate)
11 print(value, round(temp, 1))
12 time.sleep(1)Programar la Pico con el Arduino IDE
Si prefieres C++ y las librerías de Arduino, también puedes usar la Pico con el Arduino IDE. Añade https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json en el campo de URLs adicionales de tarjetas de Archivo > Preferencias e instala desde el Gestor de tarjetas el paquete Raspberry Pi Pico/RP2040/RP2350 de Earle Philhower. Para la primera carga, conecta la placa manteniendo pulsado BOOTSEL; después la carga funciona con normalidad. El ejemplo Blink con LED_BUILTIN y la mayoría de las librerías de Arduino funcionan sin problemas.
¿Pico, ESP32 o Arduino?
| Lo que necesitas | Placa recomendada |
|---|---|
| Primer proyecto, sensores de 5 V, más ejemplos y recursos | Arduino Uno |
| Wi-Fi, Bluetooth, internet, control desde el móvil | ESP32 o Pico W |
| Aprender a programar en Python | Raspberry Pi Pico |
| Precio muy bajo, temporización precisa (PIO) | Raspberry Pi Pico |
| Proyectos con cámara y audio | ESP32-S3 o ESP32-CAM |
Para proyectos inalámbricos, conoce el ESP32 en ¿Qué es el ESP32? Una ventaja exclusiva de la Pico son sus bloques PIO (entrada/salida programable): se encargan de tareas con temporización crítica, como las tiras LED WS2812B o protocolos de comunicación propios, sin cargar al procesador.
Ideas de proyectos con la Raspberry Pi Pico
- Semáforo: un semáforo con tres LED que se encienden por turnos.
- El coche fantástico: un efecto de luz que va y viene por seis LED.
- Botones e interrupciones (IRQ): código que detecta una pulsación sin esperar al bucle principal.
- Ciclo de color RGB: un efecto arcoíris en un LED RGB con tres canales PWM.
- Servidor web con la Pico W: controla un LED o un relé desde una página en el móvil.
- Mini termómetro: muestra el sensor de temperatura interno en una pantalla OLED.
Errores comunes y cómo solucionarlos
- No aparece la unidad RPI-RP2: la placa se conectó sin pulsar BOOTSEL o el cable es solo de carga; usa un cable de datos.
- Thonny no encuentra la placa: el intérprete elegido es incorrecto o MicroPython no está instalado.
- El LED no se enciende en la Pico W: en la Pico W el LED integrado está conectado al chip inalámbrico; usa Pin("LED") en lugar de Pin(25).
- Conectar señales de 5 V: los GPIO son de 3,3 V; las señales de 5 V pueden dañar el pin.
- El código no funciona al desconectar el ordenador: no se guardó en la Pico como main.py.
- Demasiada tensión en VSYS: VSYS admite como mucho 5,5 V; no conectes directamente un cargador de 9 V o 12 V.
Con su bajo precio y su soporte de Python, la Raspberry Pi Pico es una de las formas más fáciles de unir programación y electrónica. Tienes lo básico de los LED en ¿Qué es un LED?; en la app BlueGrays encontrarás proyectos con la Pico de LED, semáforo, coche fantástico, interrupciones con botón, efecto de respiración con PWM y ciclo de color RGB, paso a paso con esquemas y código MicroPython.
Preguntas frecuentes
¿La Raspberry Pi Pico es un ordenador Raspberry Pi?
No. La Pico es una placa de microcontrolador fabricada por la Fundación Raspberry Pi; no tiene sistema operativo, salida de pantalla ni escritorio. Como un Arduino, ejecuta un único programa. Las Raspberry Pi 4 y 5, en cambio, son ordenadores completos con Linux.
¿En qué lenguaje se programa la Raspberry Pi Pico?
Lo más habitual es MicroPython: se instala fácilmente con Thonny y quien sabe Python puede empezar enseguida. También se pueden usar el SDK oficial de C/C++ y el Arduino IDE (con el paquete de Earle Philhower). CircuitPython también es compatible.
¿Qué diferencia hay entre la Pico y la Pico W?
La Pico W añade un chip inalámbrico con Wi-Fi de 2,4 GHz y Bluetooth; todo lo demás es igual. Como el LED integrado de la Pico W está conectado a ese chip, en el código se usa Pin("LED") en lugar de Pin(25).
¿La Raspberry Pi Pico funciona con 5 V?
La placa se puede alimentar con los 5 V del USB o con 1,8–5,5 V en el pin VSYS. Pero los pines GPIO trabajan a 3,3 V y no toleran 5 V, así que no debes conectarles señales de 5 V directamente.
¿Cuántas entradas analógicas tiene la Pico?
Tiene tres entradas analógicas accesibles: GP26 (ADC0), GP27 (ADC1) y GP28 (ADC2). Además, el 4.º canal del ADC está conectado al sensor de temperatura interno del chip. En MicroPython, read_u16() devuelve un valor de 0 a 65535.
¿Puedo programar la Raspberry Pi Pico con el Arduino IDE?
Sí. Al instalar en el Arduino IDE el paquete de placas Raspberry Pi Pico/RP2040/RP2350 de Earle Philhower, puedes programar la Pico con órdenes de Arduino y usar la mayoría de sus librerías. Para la primera carga hay que conectar la placa manteniendo pulsado el botón BOOTSEL.
Proyectos para hacer después de leer esto
Ver todos los proyectos
Parpadeo LED Integrado Raspberry Pi Pico (GP25 LED Onboard)
¡El proyecto de apertura de la serie Raspberry Pi Pico! Hacemos parpadear el LED integrado (LED verde conectado a GP25) para verificar que la placa funciona — un experimento clásico "Hello World". SIN componentes externos, solo Pico y cable USB. El código está escrito en **MicroPython** (el lenguaje oficialmente respaldado por la Raspberry Pi Foundation). Aprende la clase `machine.Pin`, el modo `Pin.OUT`, los métodos `led.on()/off()` y `time.sleep()` en Thonny IDE. Sigue cada cambio en vivo en l

Encendido de un LED externo con la Raspberry Pi Pico (GP14 + placa de pruebas)
El siguiente paso tras el LED integrado de Pico: conectar un LED externo a la placa de pruebas y controlarlo a través del pin GP14. Con este proyecto aprenderás a utilizar cualquier pin GPIO de uso general del Pico como salida, la polaridad del LED (patilla larga = ánodo/+, patilla corta = cátodo/–) y por qué es imprescindible utilizar una resistencia limitadora de corriente (220 Ω). Si no colocas la resistencia, el LED recibirá una corriente excesiva y podría quemarse. El circuito es muy sencil

Simulador de Semáforo Raspberry Pi Pico (3 LEDs Secuenciales, GP11/GP12/GP13)
Simulamos un semáforo real con LEDs rojo, amarillo y verde. Verde 4 seg "pase", amarillo 1,5 seg "prepárese", rojo 3 seg "detenga" y rojo+amarillo 1 seg "arranque" (patrón europeo). Aprende definición de función, lógica de máquina de estados y sincronización multi-GPIO. Circuito simple: 3 LEDs en GP11/GP12/GP13.

Raspberry Pi Pico LED Secuencial (6 LEDs, GP14 → GP9)
¡Animación clásica de LED secuencial con Pico — versión 6 LEDs! 🌊 6 LEDs se encienden de izquierda a derecha secuencialmente. Aprende lista Python, comprensión de listas ([Pin(p, Pin.OUT) for p in LED_PINS]), bucle for con control de pines y enumerate(). 6 LEDs en GP9-GP14, cada uno con resistencia 220Ω. Código muy limpio: en lugar de definir 6 LEDs uno por uno, usamos una lista — incluso 100 LEDs mantendrían el código igual. Simula en Wokwi o construye en 5-7 minutos en breadboard.

Raspberry Pi Pico LED Controlado por Botón (Push, GP14 + GP2)
¡Primer proyecto de **entrada** con Pico — lectura de botón! 🔘 LED se enciende mientras el botón está presionado. Aprende `Pin.IN`, `Pin.PULL_UP` y `buton.value()`. GP14 LED, GP2 botón con PULL_UP interno. Presionado = 0, liberado = 1 — estándar.

Raspberry Pi Pico Botón Debounce: IRQ vs Software Polling (GP5 + GP4)
¿Una pulsación y el código cuenta 3-4? ¡Es contact bounce! 🔁 Compara 2 métodos de conteo en Serial: polling RAW (captura bounce, cuenta mal) vs IRQ + software debounce (preciso). Aprende física del bounce, software debounce, Pin.irq() interrupt, IRQ_FALLING trigger, ISR handlers, seguridad de variables globales en ISR.

Raspberry Pi Pico PWM LED Fade (Efecto Respiración, GP14)
¡El LED ya no solo parpadea — respira! 🌬️ Con el **PWM** (modulación por ancho de pulso) del Raspberry Pi Pico, el brillo sube y baja lentamente. Aprende la clase machine.PWM, duty_u16() (brillo de 16 bits 0–65535), la frecuencia PWM, bucles range() y salida tipo analógica. Base para mezcla de color RGB, control de motores, servos y buzzer.

Raspberry Pi Pico LED RGB Ciclo de Colores (PWM de 3 Canales, GP11-13)
¡Un LED, millones de colores! 🌈 Un LED RGB contiene 3 LEDs: rojo, verde y azul. Con un canal PWM del Pico para cada uno, los colores se mezclan: rojo + verde = amarillo, verde + azul = cian, los tres = blanco. El LED recorre 8 colores. Aprende múltiples canales PWM, funciones (def), mezcla RGB, conversión de 8 a 16 bits (x257) y cátodo común vs ánodo común.
Más artículos
Aprende que la Raspberry Pi Pico es un microcontrolador y no un ordenador, la diferencia entre Pico, Pico W y Pico 2, cómo instalar MicroPython y tus primeros proyectos con LED, botón, PWM y lecturas analógicas.

