Aprender

Raspberry Pi Pico pinout: every pin, its PWM slice and the power pins

Principiante

O mira todas las lecciones.

  • 503componentes en el banco de trabajo
  • 44placas funcionando ahora
  • 1.00xtiempo real, en todas las placas
Raspberry Pi Pico: un efecto de persecuciónlive0.000 s 0.00x
Haz clic para abrirlo en el editor
Un punto barre de ida y vuelta seis LED en GP2 a GP7.

La Raspberry Pi Pico tiene cuarenta pines, veintiséis de ellos GPIO, y su pinout es más simple que la mayoría: todos los GPIO pueden hacer PWM, tres son analógicos, y ninguno es un pin de arranque que impida que la placa arranque. Esta página lista los cuarenta con lo que puede hacer cada uno, el slice y canal PWM detrás de cada GPIO, los pines de alimentación y sus límites, el LED integrado y qué pin usar para qué.

El circuito de arriba es una Pico en Mokxi que barre un punto por seis LED en GP2 a GP7, uno por GPIO. La tabla se lee del mismo modelo de placa que ejecuta el simulador, y donde el simulador hace menos que el RP2040, la página lo dice.

Cada pin del header

Con el conector USB arriba, el pin físico 1 es el GP0 arriba a la izquierda, y los pines bajan por el lado izquierdo hasta el 20 y suben por el derecho del 21 al 40, así que VBUS es el pin 40 arriba a la derecha. El lado izquierdo es GP0 a GP15 con una tierra después de cada cuatro GPIO. El lado derecho, desde arriba, es VBUS, VSYS, GND, 3V3_EN, 3V3, ADC_VREF, GP28, AGND, GP27, GP26, RUN, GP22, GND, luego GP21 hasta GP16 con una tierra entre GP18 y GP17.

En el código un pin es su número GP: digitalWrite(15, HIGH) maneja el GP15, y A0 a A2 son GP26 a GP28. La columna PWM nombra el slice y el canal: "PWM 2A" es el slice 2, canal A. Los pines I2C y SPI son los valores por defecto; el RP2040 puede poner cada bus en varios otros pines.

Raspberry Pi Pico: el lado izquierdo de arriba abajo, luego el lado derecho de arriba abajo, USB arriba
PinGPIOQué puede hacerTen cuidado con
GP00PWM 0A. UART0 TX.-
GP11PWM 0B. UART0 RX.-
GND-Tierra. Siete orificios.-
GP22PWM 1A.-
GP33PWM 1B.-
GP44PWM 2A. I2C SDA (por defecto).-
GP55PWM 2B. I2C SCL (por defecto).-
GP66PWM 3A.-
GP77PWM 3B.-
GP88PWM 4A.-
GP99PWM 4B.-
GP1010PWM 5A.-
GP1111PWM 5B.-
GP1212PWM 6A.-
GP1313PWM 6B.-
GP1414PWM 7A.-
GP1515PWM 7B.-
VBUS-5 V del USB, directo del conector.Not a GPIO.
VSYS-La entrada principal de alimentación, de 1.8 a 5.5 V.Not a GPIO.
3V3_EN-En bajo apaga el regulador de 3.3 V.Not a GPIO.
3V3-La salida de 3.3 V del regulador.Mantén la carga por debajo de 300 mA.
ADC_VREF-La referencia de 3.3 V del conversor.Not a GPIO.
GP2828PWM 6A. ADC2 (A2).-
AGND-La tierra analógica para ADC0 a ADC2.-
GP2727PWM 5B. ADC1 (A1).-
GP2626PWM 5A. ADC0 (A0).-
RUN-En bajo reinicia el RP2040.Not a GPIO.
GP2222PWM 3A.-
GP2121PWM 2B.-
GP2020PWM 2A.-
GP1919PWM 1B. SPI MOSI (por defecto).-
GP1818PWM 1A. SPI SCK (por defecto).-
GP1717PWM 0B. SPI SS (por defecto).-
GP1616PWM 0A. SPI MISO (por defecto).-

Alimentación: VBUS, VSYS, 3V3 y los pines de control

VBUS son los 5 V del conector USB, sin cambios. VSYS es la entrada principal de la placa: el regulador genera 3.3 V a partir de cualquier valor entre 1.8 y 5.5 V ahí, así que dos o tres pilas AA en VSYS hacen funcionar la placa sin USB. Con el USB conectado, VSYS queda una caída de diodo por debajo de VBUS. 3V3 es la salida del regulador, y la hoja de datos de la Pico pide mantener su carga por debajo de 300 mA. 3V3_EN apaga el regulador cuando se lleva a bajo, y RUN reinicia el chip.

Todos los GPIO son de 3.3 V y ninguno tolera 5 V. Los pines del RP2040 manejan 4 mA por defecto y pueden configurarse a 2, 8 o 12 mA, lo que basta para un LED con resistencia y no mucho más. En Mokxi la placa siempre está en USB, VBUS da 5 V y VSYS 4.7 V.

PWM: qué pines comparten un slice

El RP2040 tiene ocho slices PWM, cada uno con dos canales, A y B. El GPIO n está en el slice (n / 2) mod 8, canal A para un pin par y B para uno impar. Así, GP0 y GP16 son ambos slice 0 canal A, y GP0 y GP1 comparten el slice 0.

Dos pines en un slice comparten su frecuencia. Pueden tener ciclos útiles distintos, así que dos LED en GP0 y GP1 se desvanecen de forma independiente, pero un servo a 50 Hz y un motor a 20 kHz no pueden compartir un slice. Ponlos en pines cuyos slices sean distintos, por ejemplo GP2 y GP4. Mokxi modela los ocho slices de la misma manera, así que el LED integrado en GP25 también se puede desvanecer.

Entradas analógicas, el LED y los pines que no están en el header

El conversor es de doce bits con una referencia de 3.3 V, en GP26, GP27 y GP28, que son ADC0 a ADC2 y A0 a A2. analogRead devuelve diez bits a menos que analogReadResolution pida más. Usa AGND como tierra de un sensor analógico y ADC_VREF si necesitas la referencia. Mokxi modela el conversor una muestra a la vez, sin FIFO, DMA ni ruido.

El LED verde está en GP25 y se enciende cuando el pin está en HIGH; LED_BUILTIN es 25. GP25 no está en el header, ni tampoco GP23, que controla el modo de la fuente de alimentación, GP24, que detecta VBUS, o GP29, que mide VSYS a través de un divisor. Por eso el header salta de GP22 a GP26. En una Pico W esos cuatro van al chip inalámbrico y el LED se mueve con ellos; el pinout de la Raspberry Pi Pico W explica la diferencia.

Serial, I2C, SPI y BOOTSEL

GP0 y GP1 son TX y RX de la UART0. En el núcleo de Arduino para la Pico, Serial es el puerto USB y Serial1 es la UART0 en esos dos pines. En Mokxi, Serial llega directo al monitor serie y GP0 y GP1 siguen siendo pines normales.

Wire.begin() pone el I2C en GP4 para SDA y GP5 para SCL, y el SPI es GP18, GP16, GP19 y GP17 para SCK, MISO, MOSI y SS. En Mokxi ambos buses corren por software en esos pines, porque los bloques I2C y SPI del RP2040 no están modelados. BOOTSEL no es un GPIO: si lo mantienes presionado al conectar la placa, hace que la Pico aparezca como una unidad USB para un programa nuevo, y nada que conectes puede activarlo por accidente.

Preguntas

¿Qué pin de la Pico debo usar para un botón?

Cualquier pin GP, con `INPUT_PULLUP` y el botón a tierra. La Pico también tiene pull-downs internos, así que `INPUT_PULLDOWN` con el botón a 3V3 funciona igual. No hay pines de arranque que evitar.

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

GP26, GP27 y GP28, que son ADC0, ADC1 y ADC2, o `A0` a `A2` en el código. Mantén la señal entre 0 y 3.3 V.

¿La Pico tiene un pin de 5V?

VBUS son 5 V del USB y VSYS son unos 5 V menos una caída de diodo. Ambos pueden alimentar un módulo de 5 V. Ningún GPIO tolera 5 V.

¿Qué pines son I2C y SPI en una Pico?

I2C usa por defecto GP4 (SDA) y GP5 (SCL). SPI usa por defecto GP18 (SCK), GP16 (MISO), GP19 (MOSI) y GP17 (SS).

¿Qué pines de la Pico pueden hacer PWM?

Todos. Dos pines en el mismo slice comparten frecuencia, así que un servo y un PWM rápido para un motor deben ir en pines cuyos slices sean distintos.

Ármalo en la vida real

Abre el editor, cambia un valor y mira cómo el número cambia con él. Nada que instalar y sin necesidad de cuenta.