Cargando la figura…
RP2040 o RP2350 en una tira de 21 x 51 mm: MicroPython, PIO y, en las placas W, Wi-Fi
Cada lección ejecuta tu propio código en la placa. Supera sus comprobaciones para marcarla.
Monta la placa en el orden correcto y después dale corriente y compruébala, como en el banco de trabajo.
0 de 10 pasosUna Pico es una placa de una sola cara: todas las piezas están en la cara de arriba y se sueldan por reflujo en la fábrica. Desmóntala hasta la PCB desnuda para ver el cobre, el borde almenado y las huellas.
Cada avería ocurre de verdad en la simulación. Provoca una, mira la figura y luego lee por qué.
Las placas de microcontrolador de la propia Raspberry Pi. La Pico lleva un RP2040 (dos núcleos Arm Cortex-M0+ a hasta 133 MHz, 264 KB de SRAM) con 2 MB de flash QSPI; la Pico 2 lleva un RP2350 (dos núcleos Cortex-M33 o dos RISC-V Hazard3 a 150 MHz, 520 KB de SRAM) con 4 MB. Las versiones W añaden una radio Wi-Fi y Bluetooth Infineon CYW43439 bajo una tapa metálica, con una antena impresa en el extremo opuesto. Las cuatro comparten el mismo contorno de 21 x 51 mm con 40 pines almenados en una rejilla de 2,54 mm, un conector micro-USB que va directo al chip (no hay puente USB-serie), un botón BOOTSEL y un único LED verde. Un regulador reductor-elevador genera 3,3 V a partir de cualquier tensión entre 1,8 y 5,5 V en VSYS. Todos los GPIO funcionan a 3,3 V; solo los pines digitales del RP2350 toleran 5 V, y solo mientras la placa tiene alimentación. No hay botón de reinicio ni LED de alimentación: una placa con la flash vacía no enciende nada y aparece como una unidad USB.
| Conector | Pin | Nombre | Funciones | Nivel | Corriente máx. | Notas |
|---|---|---|---|---|---|---|
| edge | 1 | GP0 | UART0 TX, I2C0 SDA, SPI0 RX, PWM0A, PIO | 3,3 V | 12 mA | TX del UART0 por defecto: el UART(0) de MicroPython y el stdio del SDK de C usan GP0 y GP1. |
| edge | 2 | GP1 | UART0 RX, I2C0 SCL, SPI0 CSn, PWM0B, PIO | 3,3 V | 12 mA | RX del UART0 por defecto. |
| edge | 3 | GND | – | – | – | |
| edge | 4 | GP2 | I2C1 SDA, SPI0 SCK, PWM1A, PIO | 3,3 V | 12 mA | |
| edge | 5 | GP3 | I2C1 SCL, SPI0 TX, PWM1B, PIO | 3,3 V | 12 mA | |
| edge | 6 | GP4 | UART1 TX, I2C0 SDA, SPI0 RX, PWM2A, PIO | 3,3 V | 12 mA | SDA del I2C0 en los pines por defecto del SDK; lo usa la lección de I2C. |
| edge | 7 | GP5 | UART1 RX, I2C0 SCL, SPI0 CSn, PWM2B, PIO | 3,3 V | 12 mA | SCL del I2C0 en los pines por defecto del SDK. |
| edge | 8 | GND | – | – | – | |
| edge | 9 | GP6 | I2C1 SDA, SPI0 SCK, PWM3A, PIO | 3,3 V | 12 mA | |
| edge | 10 | GP7 | I2C1 SCL, SPI0 TX, PWM3B, PIO | 3,3 V | 12 mA | |
| edge | 11 | GP8 | UART1 TX, I2C0 SDA, SPI1 RX, PWM4A, PIO | 3,3 V | 12 mA | |
| edge | 12 | GP9 | UART1 RX, I2C0 SCL, SPI1 CSn, PWM4B, PIO | 3,3 V | 12 mA | |
| edge | 13 | GND | – | – | – | |
| edge | 14 | GP10 | I2C1 SDA, SPI1 SCK, PWM5A, PIO | 3,3 V | 12 mA | |
| edge | 15 | GP11 | I2C1 SCL, SPI1 TX, PWM5B, PIO | 3,3 V | 12 mA | |
| edge | 16 | GP12 | UART0 TX, I2C0 SDA, SPI1 RX, PWM6A, PIO | 3,3 V | 12 mA | |
| edge | 17 | GP13 | UART0 RX, I2C0 SCL, SPI1 CSn, PWM6B, PIO | 3,3 V | 12 mA | |
| edge | 18 | GND | – | – | – | |
| edge | 19 | GP14 | I2C1 SDA, SPI1 SCK, PWM7A, PIO | 3,3 V | 12 mA | El botón de las lecciones: conectado a GND con la pull-up interna, pulsado lee 0. |
| edge | 20 | GP15 | I2C1 SCL, SPI1 TX, PWM7B, PIO | 3,3 V | 12 mA | El LED externo de las lecciones, a través de 330 Ω a GND. Cualquier GPIO puede generar PWM; este es el slice 7 del PWM, canal B. |
| edge | 21 | GP16 | UART0 TX, I2C0 SDA, SPI0 RX, PWM0A, PIO | 3,3 V | 12 mA | |
| edge | 22 | GP17 | UART0 RX, I2C0 SCL, SPI0 CSn, PWM0B, PIO | 3,3 V | 12 mA | |
| edge | 23 | GND | – | – | – | |
| edge | 24 | GP18 | I2C1 SDA, SPI0 SCK, PWM1A, PIO | 3,3 V | 12 mA | |
| edge | 25 | GP19 | I2C1 SCL, SPI0 TX, PWM1B, PIO | 3,3 V | 12 mA | |
| edge | 26 | GP20 | UART1 TX, I2C0 SDA, SPI0 RX, PWM2A, PIO | 3,3 V | 12 mA | |
| edge | 27 | GP21 | UART1 RX, I2C0 SCL, SPI0 CSn, PWM2B, PIO | 3,3 V | 12 mA | |
| edge | 28 | GND | – | – | – | |
| edge | 29 | GP22 | I2C1 SDA, SPI0 SCK, PWM3A, PIO | 3,3 V | 12 mA | |
| edge | 30 | RUN | RUN (reset, active low) | 3,3 V | – | Habilitación del chip con una pull-up interna de unos 50 kΩ. Ponlo en cortocircuito con GND para reiniciar el chip: la placa no tiene botón de reinicio, así que conecta un pulsador de RUN a GND. |
| edge | 31 | GP26_A0 | ADC0, I2C1 SDA, SPI1 SCK, PWM5A, PIO | 3,3 V | 12 mA | ADC0. Los pines de entrada analógica tienen un diodo a 3,3 V y tienen que quedarse por debajo de unos 3,6 V en todas las placas, también en las del RP2350. |
| edge | 32 | GP27_A1 | ADC1, I2C1 SCL, SPI1 TX, PWM5B, PIO | 3,3 V | 12 mA | ADC1. 12 bits, leído como 0-65535 con read_u16() en MicroPython. |
| edge | 33 | AGND | Analog ground | – | – | Tierra analógica para los pines del ADC: devuelve aquí un potenciómetro o un sensor para lecturas más limpias. |
| edge | 34 | GP28_A2 | ADC2, UART0 TX, I2C0 SDA, SPI1 RX, PWM6A, PIO | 3,3 V | 12 mA | ADC2. |
| edge | 35 | ADC_VREF | ADC reference | 3,3 V | – | Referencia del ADC: la línea de 3,3 V a través de un filtro de 200 Ω y 2,2 µF. Tiene ruido; aquí se puede poner una referencia externa de 3,0 V. |
| edge | 36 | 3V3 | 3.3 V out | 3,3 V | 300 mA | Salida de 3,3 V del reductor-elevador para sensores y módulos, por debajo de 300 mA. Nunca metas 5 V por aquí. |
| edge | 37 | 3V3_EN | SMPS enable | 4,7 V | – | Habilitación del regulador de 3,3 V, con una pull-up a VSYS de 100 kΩ. Únelo a GND y se apaga toda la placa. |
| edge | 38 | GND | – | – | – | |
| edge | 39 | VSYS | 1.8-5.5 V in / out | 4,7 V | – | Entrada de 1,8 a 5,5 V (una batería) o salida de unos 4,7 V cuando la placa funciona con USB. Sin protección contra la inversión. |
| edge | 40 | VBUS | USB 5 V | 5 V | – | Salida de los 5 V del USB cuando el cable está conectado, 0 V si no. Una fuente de 5 V conectada aquí alimenta la placa a través de D1. |
| DEBUG | 1 | SWCLK | SWD clock | 3,3 V | – | Pads de Serial Wire Debug (SWCLK, GND, SWDIO): aquí se conecta una Raspberry Pi Debug Probe o una segunda Pico con debugprobe para poner puntos de ruptura. Son pines dedicados a la depuración, no GPIO. |
| DEBUG | 2 | GND | – | – | – | |
| DEBUG | 3 | SWDIO | SWD data | 3,3 V | – |
Sensores y actuadores que maneja esta placa, con sus conexiones reales.
Un LED de 5 mm desde GP15 a través de una resistencia de 330 Ω a GND: (3,3 - 2,0) / 330 ≈ 4 mA para un LED rojo, dentro de los 4 mA de salida por defecto del pin.
| Pin de la pieza | Pin de la placa |
|---|---|
| A | GP15Cable de color naranja |
| K | GNDCable de color negro |
No quites nunca la resistencia: el pin intentaría dar mucho más de 12 mA.
Un botón de 6 x 6 mm de GP14 a GND con Pin.PULL_UP: lee 0 mientras está pulsado. Ponlo a caballo sobre el canal central de la protoboard.
| Pin de la pieza | Pin de la placa |
|---|---|
| 1 | GP14Cable de color amarillo |
| 3 | GNDCable de color negro |
En las primeras placas Pico 2 (RP2350 A2) no te fíes de la pull-down interna: la errata E9 deja que el pin flote en alto.
Un potenciómetro de 10 kΩ: un extremo a 3V3 (pin 36), el otro a AGND (pin 33) y el cursor a GP26 / ADC0.
| Pin de la pieza | Pin de la placa |
|---|---|
| 1 | 3V3Cable de color rojo |
| 2 | GP26Cable de color amarillo |
| 3 | AGNDCable de color negro |
Nunca pongas 5 V en los extremos: los pines del ADC admiten 3,3 V como mucho en todas las Pico.
Una fotorresistencia de 3V3 a GP27 con una resistencia de 10 kΩ de GP27 a GND: más luz, lectura más alta.
| Pin de la pieza | Pin de la placa |
|---|---|
| 1 | 3V3Cable de color rojo |
| 2 | GP27Cable de color amarillo |
El TMP36 funciona desde 2,7 V, así que 3V3 va bien: Vout en GP28 marca 0,75 V a 25 °C, 10 mV por grado.
| Pin de la pieza | Pin de la placa |
|---|---|
| +Vs | 3V3Cable de color rojo |
| Vout | GP28Cable de color amarillo |
| GND | AGNDCable de color negro |
Un piezo pasivo en GP18 y GND, controlado con PWM: pwm.freq(440) toca un la.
| Pin de la pieza | Pin de la placa |
|---|---|
| + | GP18Cable de color naranja |
| - | GNDCable de color negro |
Señal del SG90 en GP16 con PWM a 50 Hz (un pulso de 0,5 a 2,4 ms), alimentación desde VBUS (5 V del USB) y GND compartido.
| Pin de la pieza | Pin de la placa |
|---|---|
| signal | GP16Cable de color naranja |
| V+ | VBUSCable de color rojo |
| GND | GNDCable de color marrón |
Nunca alimentes un servo desde 3V3: su corriente de bloqueo hunde la línea de 3,3 V y la Pico se reinicia. Usa VBUS con USB o una fuente de 5 V aparte con la tierra común.
Una placa GY-521 con MPU-6050 en el I2C0: SDA a GP4, SCL a GP5, VCC a 3V3. Su dirección es 0x68 (0x69 con AD0 en alto).
| Pin de la pieza | Pin de la placa |
|---|---|
| VCC | 3V3Cable de color rojo |
| GND | GNDCable de color negro |
| SCL | GP5Cable de color amarillo |
| SDA | GP4Cable de color azul |
Una OLED SSD1306 de 0,96 pulgadas en el I2C0 (GP4 y GP5) en la dirección 0x3C, alimentada desde 3V3. MicroPython necesita el driver ssd1306 de micropython-lib (mip.install("ssd1306")).
| Pin de la pieza | Pin de la placa |
|---|---|
| GND | GNDCable de color negro |
| VCC | 3V3Cable de color rojo |
| SCL | GP5Cable de color amarillo |
| SDA | GP4Cable de color azul |
Lee la serigrafía de la tira: unos módulos son GND VCC SCL SDA y otros VCC GND SCL SDA.
El HC-SR04 necesita 5 V: VCC a VBUS, TRIG a GP16 (3,3 V bastan para dispararlo), ECHO a GP17 a través de un divisor (1 kΩ en serie, 2 kΩ a GND) para que el eco de 5 V llegue como 3,3 V.
| Pin de la pieza | Pin de la placa |
|---|---|
| VCC | VBUSCable de color rojo |
| TRIG | GP16Cable de color naranja |
| ECHO | GP17Cable de color amarillo |
| GND | GNDCable de color negro |
ECHO es una salida de 5 V. Directa a un pin del RP2040, mete corriente por el diodo de protección del pin hacia la línea de 3,3 V y daña el chip. Los GPIO del RP2350 lo toleran con la placa alimentada, pero mantén el divisor.