Aziz Bench

Pinout Raspberry Pi Pico

Cada GPIO del RP2040 puede hacer varias cosas, pero cada señal I²C, SPI y UART solo está disponible en pines concretos. Toca un pin para ver sus funciones, o anota los pines de tu proyecto para comprobar que los buses y los canales PWM encajan.

Raspberry Pi Pico · RP2040Pinout ESP32 →
  • Libre
  • Alimentación y control
Añadir pin

Mi plan de pines

    Todavía no hay pines. Elige uno en el mapa o añádelo con el formulario.

    Listo para pegar al principio de un sketch o en una issue.

    Cómo se repiten las funciones de los pines del RP2040

    A diferencia del ESP32, el RP2040 no tiene GPIO matrix: cada señal de un periférico solo puede aparecer en ciertos pines. La buena noticia es que la tabla sigue un patrón regular, así que se puede deducir sin hoja de datos.

    El I²C se alterna cada dos pines: GP0 y GP1 son SDA y SCL de I²C0, GP2 y GP3 de I²C1, GP4 y GP5 otra vez de I²C0, y así sucesivamente. SDA siempre está en un pin par y SCL en uno impar, y los dos deben pertenecer al mismo controlador: GP4 con GP5 funciona, y también GP4 con GP9.

    El SPI va en grupos de cuatro pines, en el orden RX (MISO), CSn, SCK y TX (MOSI). De GP0 a GP7 pertenecen a SPI0, de GP8 a GP15 a SPI1 y de GP16 a GP23 otra vez a SPI0. La UART sigue un patrón parecido, con TX en el primer pin de cada grupo de cuatro y RX en el segundo.

    El PWM tiene 8 slices con dos salidas cada uno, A en los pines pares y B en los impares. GP0 y GP16 se conectan los dos a la salida A del slice 0: si usas ambos, llevan la misma señal. Dos pines del mismo slice, como GP2 y GP3, comparten la frecuencia pero pueden tener ciclos de trabajo distintos.

    Los pines que la placa se reserva

    Cuatro GPIO del RP2040 no están en el conector. GP23 controla el modo de ahorro del convertidor conmutado, GP24 detecta la alimentación USB, GP25 enciende el LED de la placa y GP29 mide VSYS a través de un divisor en el ADC3. En la Pico W, los pines GP23 a GP25 los usa el chip inalámbrico, GP29 se comparte entre su reloj y la medida de VSYS, y el LED se controla a través del chip inalámbrico.

    Tabla completa de GPIO de la Raspberry Pi Pico

    GPIOPinI²CSPIUARTPWMADC
    GP01I2C0 SDASPI0 RXUART0 TXPWM0 A—
    GP12I2C0 SCLSPI0 CSnUART0 RXPWM0 B—
    GP24I2C1 SDASPI0 SCKUART0 CTSPWM1 A—
    GP35I2C1 SCLSPI0 TXUART0 RTSPWM1 B—
    GP46I2C0 SDASPI0 RXUART1 TXPWM2 A—
    GP57I2C0 SCLSPI0 CSnUART1 RXPWM2 B—
    GP69I2C1 SDASPI0 SCKUART1 CTSPWM3 A—
    GP710I2C1 SCLSPI0 TXUART1 RTSPWM3 B—
    GP811I2C0 SDASPI1 RXUART1 TXPWM4 A—
    GP912I2C0 SCLSPI1 CSnUART1 RXPWM4 B—
    GP1014I2C1 SDASPI1 SCKUART1 CTSPWM5 A—
    GP1115I2C1 SCLSPI1 TXUART1 RTSPWM5 B—
    GP1216I2C0 SDASPI1 RXUART0 TXPWM6 A—
    GP1317I2C0 SCLSPI1 CSnUART0 RXPWM6 B—
    GP1419I2C1 SDASPI1 SCKUART0 CTSPWM7 A—
    GP1520I2C1 SCLSPI1 TXUART0 RTSPWM7 B—
    GP1621I2C0 SDASPI0 RXUART0 TXPWM0 A—
    GP1722I2C0 SCLSPI0 CSnUART0 RXPWM0 B—
    GP1824I2C1 SDASPI0 SCKUART0 CTSPWM1 A—
    GP1925I2C1 SCLSPI0 TXUART0 RTSPWM1 B—
    GP2026I2C0 SDASPI0 RXUART1 TXPWM2 A—
    GP2127I2C0 SCLSPI0 CSnUART1 RXPWM2 B—
    GP2229I2C1 SDASPI0 SCKUART1 CTSPWM3 A—
    GP2631I2C1 SDASPI1 SCKUART1 CTSPWM5 AADC0
    GP2732I2C1 SCLSPI1 TXUART1 RTSPWM5 BADC1
    GP2834I2C0 SDASPI1 RXUART0 TXPWM6 AADC2

    Pines por defecto del Pico SDK: I²C0 en GP4/GP5, SPI0 de GP16 a GP19 y UART0 en GP0/GP1. MicroPython y los cores de Arduino pueden usar otros valores por defecto, así que consulta la documentación del que uses.

    Preguntas frecuentes

    ¿La Raspberry Pi Pico tolera 5 V?

    No. Los GPIO del RP2040 trabajan a 3,3 V y no toleran 5 V. Para señales de 5 V usa un conversor de niveles lógicos o un divisor resistivo. VSYS acepta hasta 5,5 V, pero es una entrada de alimentación, no un pin de señal.

    ¿Qué pines de la Pico son analógicos?

    GP26, GP27 y GP28, en los pines físicos 31, 32 y 34, son las tres entradas ADC del conector. Un cuarto canal, GP29, mide VSYS en la placa, y un quinto lee el sensor de temperatura interno.

    ¿Puedo usar cualquier pin para I2C en la Pico?

    No cualquiera, pero sí muchos: las funciones I²C se alternan cada dos pines entre I²C0 e I²C1. Elige SDA en un pin par y SCL en un pin impar del mismo controlador, por ejemplo GP4 y GP5 para I²C0, GP6 y GP7 para I²C1, o GP4 y GP9, ambos en I²C0.

    ¿Por qué dos pines PWM cambian a la vez?

    Los pines cuyo número se diferencia en 16, como GP0 y GP16, se conectan al mismo slice y a la misma salida PWM. Cambiar uno cambia también el otro. Elige pines de slices distintos, o las salidas A y B del mismo slice si te vale la misma frecuencia.

    ¿Este pinout sirve para la Pico W y la Pico 2?

    La Pico W tiene el mismo conector; solo cambian de función los pines internos GP23 a GP25 y GP29, porque se conectan al chip inalámbrico. La Pico 2 también mantiene el mismo conector, pero su chip RP2350 añade funciones, así que consulta su hoja de datos para los detalles.