Aziz Bench

Pinagem do Raspberry Pi Pico

Cada GPIO do RP2040 pode fazer várias coisas, mas cada sinal I²C, SPI e UART fica em pinos específicos. Toque em um pino para ver suas funções, ou liste os pinos do seu projeto para conferir se os barramentos e os canais PWM batem.

Raspberry Pi Pico · RP2040Pinagem do ESP32 →
  • Livre
  • Alimentação e controle
Adicionar pino

Meu plano de pinos

    Nenhum pino ainda. Escolha um no mapa ou adicione com o formulário.

    Pronto para colar no topo de um sketch ou em uma issue.

    Como as funções dos pinos do RP2040 se repetem

    Ao contrário do ESP32, o RP2040 não tem matriz GPIO: cada sinal de um periférico só pode aparecer em certos pinos. A boa notícia é que a tabela segue um padrão regular, então dá para deduzi-la sem datasheet.

    O I²C se alterna a cada dois pinos: GP0 e GP1 são SDA e SCL do I²C0, GP2 e GP3 do I²C1, GP4 e GP5 de novo do I²C0, e assim por diante. O SDA fica sempre em um pino par e o SCL em um ímpar, e os dois precisam pertencer ao mesmo controlador: GP4 com GP5 funciona, e GP4 com GP9 também.

    O SPI vem em grupos de quatro pinos, na ordem RX (MISO), CSn, SCK e TX (MOSI). GP0 a GP7 pertencem ao SPI0, GP8 a GP15 ao SPI1 e GP16 a GP23 de novo ao SPI0. A UART segue um padrão parecido, com TX no primeiro pino de cada grupo de quatro e RX no segundo.

    O PWM tem 8 slices com duas saídas cada, A nos pinos pares e B nos ímpares. GP0 e GP16 estão ligados à saída A do slice 0: se você usar os dois, eles levam o mesmo sinal. Dois pinos do mesmo slice, como GP2 e GP3, compartilham a frequência, mas podem ter duty cycles diferentes.

    Os pinos que a placa reserva para si

    Quatro GPIOs do RP2040 não estão no conector. O GP23 controla o modo de economia de energia do conversor chaveado, o GP24 detecta a alimentação USB, o GP25 aciona o LED da placa e o GP29 mede o VSYS por meio de um divisor no ADC3. No Pico W, os pinos GP23 a GP25 são usados pelo chip sem fio, o GP29 é compartilhado entre o clock desse chip e a medição do VSYS, e o LED é controlado pelo chip sem fio.

    Tabela completa de GPIOs do Raspberry Pi Pico

    GPIOPinoI²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

    Pinos padrão do Pico SDK: I²C0 em GP4/GP5, SPI0 de GP16 a GP19 e UART0 em GP0/GP1. O MicroPython e os cores Arduino podem usar outros padrões, então confira a documentação do que você usa.

    Perguntas frequentes

    O Raspberry Pi Pico tolera 5 V?

    Não. Os GPIOs do RP2040 trabalham com 3,3 V e não toleram 5 V. Para sinais de 5 V, use um conversor de nível lógico ou um divisor resistivo. O VSYS aceita até 5,5 V, mas é uma entrada de alimentação, não um pino de sinal.

    Quais pinos do Pico são analógicos?

    GP26, GP27 e GP28, nos pinos físicos 31, 32 e 34, são as três entradas ADC do conector. Um quarto canal, GP29, mede o VSYS na placa, e um quinto lê o sensor de temperatura interno.

    Posso usar qualquer pino para I2C no Pico?

    Qualquer um não, mas muitos: as funções I²C se alternam a cada dois pinos entre I²C0 e I²C1. Escolha o SDA em um pino par e o SCL em um pino ímpar do mesmo controlador, por exemplo GP4 e GP5 para I²C0, GP6 e GP7 para I²C1, ou GP4 e GP9, ambos no I²C0.

    Por que dois pinos PWM mudam juntos?

    Pinos cujos números diferem em 16, como GP0 e GP16, estão ligados ao mesmo slice e à mesma saída PWM. Ajustar um muda o outro. Escolha pinos em slices diferentes, ou as saídas A e B do mesmo slice se a mesma frequência servir.

    Esta pinagem vale para o Pico W e o Pico 2?

    O Pico W tem o mesmo layout de conector; só os pinos internos GP23 a GP25 e GP29 mudam de função, porque estão ligados ao chip sem fio. O Pico 2 também mantém o mesmo layout de conector, mas o chip RP2350 adiciona funções, então confira o datasheet dele para os detalhes.