Como Usar a Raspberry Pi Pico com Arduino: Manual Técnico Completo

Introdução
Neste manual, será apresentado como instalar, configurar e utilizar a placa Raspberry Pi Pico utilizando o ecossistema da IDE do Arduino. Se desejar adquirir este produto, clique aqui.
Descrição geral do produto
O que é o Raspberry Pi Pico?
O Raspberry Pi Pico é uma plataforma de desenvolvimento compacta e de baixo custo baseada no microcontrolador RP2040, o primeiro circuito integrado de silício projetado pela própria Raspberry Pi Foundation no Reino Unido.
Equipada com um processador Dual-Core ARM Cortex-M0+ com frequência de operação de até 133 MHz, 264 KB de memória SRAM integrada e 2 MB de memória Flash QSPI externa, a placa se destaca pela flexibilidade de entradas e saídas e pelo suporte aos inovadores blocos de hardware PIO (Programmable I/O). Seus pinos com bordas casteladas permitem tanto o uso convencional em matrizes de contato (protoboards) com barras de pinos de 2,54 mm quanto a soldagem direta em superfície (SMD) sobre placas de circuito impresso customizadas.
Para que serve?
O Raspberry Pi Pico executa instruções de controle em tempo real para automação e interação com o mundo físico, sendo amplamente aplicado em:
- Automação residencial e industrial, instrumentação e controle de processos;
- Projetos de robótica, controle de servomotores, motores de passo e leitura de sensores analógicos e digitais;
- Sistemas de Internet das Coisas (IoT) e dispositivos de interface humana USB (teclados, mouses e joysticks via emulação HID).
Por que devo usar?
- Alto desempenho com baixo custo: processador ARM dual-core de 32 bits a 133 MHz com 264 KB de memória interna, superando com ampla folga microcontroladores tradicionais de 8 bits na mesma faixa de preço;
- Máquinas de estado PIO revolucionárias: 8 máquinas de estado programáveis independentes capazes de emular protocolos digitais (como WS2812B, VGA, I2S e barramentos industriais) sem sobrecarregar os núcleos principais da CPU;
- Facilidade e flexibilidade de programação: suporte nativo a linguagem C/C++ na IDE do Arduino, MicroPython e CircuitPython, com upload instantâneo de arquivos no formato UF2 sem a necessidade de gravador de hardware dedicado.
Quando devo usar?
A placa Raspberry Pi Pico é a escolha recomendada quando:
- O projeto exige alto poder de processamento, cálculo de ponto flutuante ou execução de tarefas multithread com custo reduzido;
- São necessários muitos canais PWM (até 16 canais independentes) ou controle preciso de temporização;
- Há necessidade de emulação de periféricos USB nativos (dispositivo e host USB 1.1).
Não é a melhor escolha quando:
- O projeto requer conectividade Wi-Fi ou Bluetooth integrada imediata no mesmo chip (neste caso, prefira o modelo Raspberry Pi Pico W ou placas da família ESP32);
- O projeto demanda um sistema operacional completo com interface gráfica ou Linux (neste caso, utilize computadores de placa única como a Raspberry Pi 4 ou Raspberry Pi 5);
- O circuito utiliza exclusivamente sensores antigos de 5V sem conversores de nível lógico, pois as portas da Pico operam estritamente em 3,3V.
Como funciona a arquitetura RP2040 e o modo BOOTSEL
O microcontrolador RP2040 possui uma ROM interna de boot que facilita o processo de carga de software. Ao pressionar o botão BOOTSEL durante a energização da porta USB, a ROM interna coloca a placa em modo de dispositivo de armazenamento em massa USB (USB Mass Storage).
O computador reconhece a placa instantaneamente como uma unidade de disco removível chamada RPI-RP2. Ao gravar o código na Arduino IDE, o arquivo executável compilado (.uf2) é transferido diretamente para essa partição virtual, gravando a memória Flash externa e reiniciando a placa de forma autônoma.
Variantes disponíveis
A plataforma Raspberry Pi Pico está disponível em diferentes versões para atender requisitos específicos de montagem e conexão:
- Raspberry Pi Pico RP2040 Padrão (RB1052): versão clássica com conector micro USB, 40 pinos de expansão e botão BOOTSEL integrado;
- Raspberry Pi Pico RP2040 USB Tipo-C (RB1733): variante atualizada com conector USB Tipo-C moderno e reversível, proporcionando maior robustez física;
- Raspberry Pi Pico RP2040-Zero (RB1470): versão ultra compacta com o mesmo chip RP2040, ideal para projetos em miniatura e espaços confinados.
Especificações técnicas
Principais especificações
| Parâmetro | Detalhes |
|---|---|
| Código do produto (SKU Loja) | RB1052 |
| Microcontrolador | Raspberry Pi RP2040 |
| Arquitetura da CPU | Dual-Core ARM Cortex-M0+ de 32 bits |
| Frequência de clock | 133 MHz (suporta overclock estável) |
| Memória SRAM interna | 264 KB (distribuída em 6 bancos independentes) |
| Memória Flash externa | 2 MB integrada (Flash SPI Quad-SPI de alta velocidade) |
| Tensão de operação lógica | 3,3 VCC |
| Tensão de entrada recomendada (VSYS) | 1,8 V a 5,5 VCC |
| Tensão de alimentação via USB (VBUS) | 5,0 VCC |
| Pinos GPIO no conector | 26 pinos multifuncionais de 3,3V |
| Entradas analógicas (ADC) | 3 canais externos de 12 bits (500 kSps) + 1 canal interno |
| Canais PWM | 16 canais de modulação por largura de pulso controláveis |
| Interfaces seriais | 2× UART, 2× SPI, 2× I2C |
| Temporizadores e Clock | RTC de alta precisão e timer de hardware integrado |
| Periféricos programáveis (PIO) | 8 máquinas de estados programáveis (2 blocos PIO) |
| Interface USB | USB 1.1 Host e Device integrado |
| Sensor de temperatura | Integrado on-board (canal analógico ADC4) |
| Botão de hardware | Botão BOOTSEL para upload e seleção de boot |
| Dimensões físicas | 21,0 mm × 51,3 mm × 3,9 mm |
Pinagem e descrição dos terminais
A Raspberry Pi Pico possui 40 terminais externos dispostos em duas fileiras de 20 pinos. A imagem a seguir detalha as funções principais de cada pino, incluindo barramentos seriais, canais de temporização e entradas analógicas:

Descrição dos grupos de pinos
| Grupo de Pinos | Pinos Físicos | Nível de Tensão | Descrição e Cuidados |
|---|---|---|---|
| VBUS (Pino 40) | 40 | 5,0 V | Tensão de alimentação proveniente do conector micro USB (passa por diodo de proteção). |
| VSYS (Pino 39) | 39 | 1,8 V – 5,5 V | Entrada principal de alimentação do regulador interno da placa (baterias ou fontes externas). |
| 3V3 (Pino 36) | 36 | 3,3 V | Saída regulada do conversor buck-boost interno (fornece até 300 mA para circuitos externos). |
| 3V3_EN (Pino 37) | 37 | — | Habilitação do regulador on-board. Conectar ao terra desativa a saída de 3,3V. |
| GND | 3, 8, 13, 18, 23, 28, 33, 38 | 0 V | Terminais de referência de terra comum para sinais e alimentação. |
| GPIOs (GP0 a GP22) | Vários | 3,3 V | Pinos digitais multifunção para entradas, saídas, barramentos I2C, SPI, UART e PWM. |
| ADC (GP26, GP27, GP28) | 31, 32, 34 | 0 – 3,3 V | Entradas do conversor analógico-digital de 12 bits (identificadas como ADC0, ADC1 e ADC2). |
| ADC_VREF (Pino 35) | 35 | 3,3 V | Tensão de referência para conversões analógicas. |
| RUN (Pino 30) | 30 | 3,3 V | Pino de reset do processador. Puxar momentaneamente ao nível baixo reinicia o microcontrolador. |
⚠️ Atenção: Todos os pinos de GPIO da Raspberry Pi Pico operam em nível lógico de 3,3V. A placa não é tolerante a 5V. Conectar diretamente saídas de 5V (como as do Arduino Uno) aos pinos da Pico danificará permanentemente o circuito interno do chip RP2040. Para integrar sensores ou placas de 5V, utilize resistores em divisor de tensão ou conversores de nível lógico bidirecionais.
💡 Dica: O pino físico GP25 está conectado internamente ao LED verde onboard da placa. Não é necessário conectar componentes externos para testar o funcionamento da placa.
Configuração na Arduino IDE
Para programar a Raspberry Pi Pico com a facilidade da linguagem Arduino, o ecossistema disponibiliza o pacote oficial mantido pela comunidade através do projeto arduino-pico (desenvolvido por Earle F. Philhower, III). Este core oferece suporte completo aos recursos da placa, além de excelente velocidade de compilação.
Passo 1: Instalação da IDE do Arduino
Caso já possua a Arduino IDE instalada em sua máquina (versão 1.8.x ou 2.x), passe diretamente para o próximo passo.
- Acesse a página oficial de downloads em arduino.cc/en/software;
- Escolha o instalador compatível com o seu sistema operacional (Windows, Linux ou macOS);
- Na página de contribuição opcional, clique no botão Just Download e execute o arquivo para concluir a instalação padrão.

Passo 2: Adicionando a URL do gerenciador de placas
- Abra a Arduino IDE;
- Acesse o menu superior Arquivo (File) ➔ Preferências (Preferences):

- No campo URLs Adicionais para Gerenciadores de Placas (Additional Boards Manager URLs), clique no botão à direita para abrir a lista de endereços:

- Insira a URL do core oficial da RP2040 no campo de texto:
https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json

- Clique em OK para fechar a caixa de URLs e novamente em OK para salvar as preferências.
Passo 3: Instalando a plataforma RP2040
- Acesse o menu Ferramentas (Tools) ➔ Placa (Board) ➔ Gerenciador de Placas… (Boards Manager…):

- No campo de busca do Gerenciador de Placas, digite
RP2040; - Localize o pacote intitulado Raspberry Pi Pico/RP2040 (mantido por Earle F. Philhower, III) e clique no botão Instalar (Install):

- Aguarde o download de todas as ferramentas de compilação, cabeçalhos do SDK e utilitários de gravação.
Passo 4: Selecionando a placa Raspberry Pi Pico
- No menu superior, vá em Ferramentas (Tools) ➔ Placa (Board) ➔ Raspberry Pi RP2040 Boards ➔ Raspberry Pi Pico:

- Conecte a placa ao computador utilizando um cabo micro USB de boa qualidade (certifique-se de que o cabo seja de dados e não apenas de carga).
💡 Dica: Na primeira gravação, ou caso a porta COM ainda não apareça listada, segure o botão BOOTSEL pressionado enquanto pluga o cabo USB ao computador e solte-o em seguida. O sistema operacional reconhecerá a placa em modo UF2. Ao clicar em Carregar (Upload) na Arduino IDE, o firmware será instalado e a porta serial virtual será configurada automaticamente.
Exemplos de programação
Exemplo 1: Código Blink (LED integrado)
Para validar o funcionamento do microcontrolador e o ambiente de desenvolvimento, utilize o clássico exemplo Blink para alternar o estado do LED onboard a cada 1 segundo:
- Acesse o menu Arquivo ➔ Exemplos ➔ 01.Basics ➔ Blink ou copie o código abaixo diretamente no editor:

// Definição do pino do LED integrado (LED_BUILTIN é o GP25 na Raspberry Pi Pico padrão)
const int pinoLed = LED_BUILTIN;
void setup() {
// Inicializa o pino do LED como uma saída digital
pinMode(pinoLed, OUTPUT);
}
void loop() {
// Envia nível lógico ALTO (3,3V) para ligar o LED
digitalWrite(pinoLed, HIGH);
// Aguarda 1000 milissegundos (1 segundo) com o LED ligado
delay(1000);
// Envia nível lógico BAIXO (0V) para desligar o LED
digitalWrite(pinoLed, LOW);
// Aguarda 1000 milissegundos (1 segundo) com o LED desligado
delay(1000);
}
- Clique no botão de seta Carregar (Upload) na barra de ferramentas;
- Aguarde o término da compilação e a mensagem
Done uploading. O LED onboard começará a piscar imediatamente.
Exemplo 2: Leitura do sensor de temperatura interno do RP2040
O microcontrolador RP2040 possui um sensor de temperatura integrado conectado internamente ao canal analógico ADC4. O código a seguir realiza a leitura periódica do sensor, converte a tensão analógica em graus Celsius e transmite os dados para o Monitor Serial da Arduino IDE:
// Canal analógico interno conectado ao sensor de temperatura do RP2040
const int canalSensorInterno = 4;
void setup() {
// Inicia a comunicação serial com taxa de transferência de 115200 bps
Serial.begin(115200);
// Aguarda até 3 segundos para abertura do Monitor Serial
while (!Serial && millis() < 3000);
// Imprime cabeçalho informativo de inicialização
Serial.println("==============================================");
Serial.println("RoboBuilders - Leitura de Temperatura RP2040");
Serial.println("==============================================");
}
void loop() {
// Lê o valor bruto do conversor analógico-digital (faixa de 0 a 1023 ou 4095)
int leituraBruta = analogRead(canalSensorInterno);
// Converte a leitura de bits para tensão (tensão de referência ADC_VREF = 3,3V)
float tensaoVolts = leituraBruta * (3.3f / 1023.0f);
// Converte a tensão para temperatura em graus Celsius conforme a fórmula do datasheet do RP2040
// Fórmula oficial: T = 27 - (V - 0.706) / 0.001721
float temperaturaCelsius = 27.0f - ((tensaoVolts - 0.706f) / 0.001721f);
// Imprime a temperatura calculada no Monitor Serial
Serial.print("Temperatura interna do chip: ");
Serial.print(temperaturaCelsius, 2);
Serial.println(" °C");
// Aguarda 1,5 segundo antes da próxima leitura
delay(1500);
}
Exemplo 3: Controle de servo motor com a Raspberry Pi Pico
A arquitetura flexível de temporização da Raspberry Pi Pico permite controlar servomotores padrão (como o SG90 ou MG995) com extrema estabilidade utilizando a biblioteca nativa Servo.h:
// Inclusão da biblioteca de controle de servomotores
#include <Servo.h>
// Instanciação do objeto de controle do servo motor
Servo meuServo;
// Definição do pino de controle conectado à linha de sinal do servo
const int pinoServo = 15;
void setup() {
// Vincula o objeto do servo ao pino GP15 da placa
meuServo.attach(pinoServo);
}
void loop() {
// Posiciona o eixo do servo no ângulo de 0 graus
meuServo.write(0);
// Aguarda 1 segundo para estabilização mecânica
delay(1000);
// Posiciona o eixo do servo no ângulo central de 90 graus
meuServo.write(90);
// Aguarda 1 segundo para estabilização mecânica
delay(1000);
// Posiciona o eixo do servo no ângulo máximo de 180 graus
meuServo.write(180);
// Aguarda 1 segundo para estabilização mecânica
delay(1000);
}
Resolução de dúvidas frequentes (FAQ)
| Pergunta | Causa Provável | Solução Recomendada |
|---|---|---|
| A porta COM da Raspberry Pi Pico não aparece no menu Ferramentas da Arduino IDE. | A placa está no modo de fábrica ou com firmware anterior que não inicializou o canal USB CDC serial. | Mantenha o botão BOOTSEL pressionado enquanto conecta o cabo USB ao computador. Solte o botão após a conexão. A placa abrirá a unidade RPI-RP2. Clique diretamente no botão Carregar na IDE; a porta COM passará a ser reconhecida nas gravações seguintes. |
| O processo de compilação ou upload falha com erro de gravação UF2. | Cabo USB com defeito (somente de carga) ou unidade montada sem permissão de escrita. | Troque o cabo micro USB por um modelo certificado de dados. Verifique se o antivírus não está bloqueando o acesso temporário à unidade removível RPI-RP2. |
| Posso alimentar a placa com 5V no pino VSYS? | Sim, o circuito de regulação interna suporta até 5,5V. | O pino VSYS (Pino 39) possui um regulador interno tipo buck-boost com faixa de 1,8V a 5,5V. É perfeitamente seguro alimentá-lo com 5V de fontes chaveadas ou baterias de lítio. Não confunda com os pinos GPIO (que operam estritamente em 3,3V). |
| Posso conectar sensores de 5V (como o sensor ultrassônico HC-SR04) aos pinos da Pico? | O chip RP2040 não suporta tensões superiores a 3,3V em suas entradas. | Para sinais de saída do sensor de 5V em direção à Pico, use um divisor resistivo (ex.: resistor de 1 kΩ e 2 kΩ) no pino de retorno (ECHO) para reduzir o nível de sinal para 3,3V. |
| Como restaurar a placa caso eu queira voltar a usar MicroPython? | A gravação em C/C++ substitui a memória Flash externa onde ficava o interpretador. | Baixe o arquivo oficial de firmware .uf2 do MicroPython na página da Raspberry Pi. Conecte a Pico em modo BOOTSEL e arraste o arquivo .uf2 para dentro da unidade RPI-RP2. |
Conclusão
Este manual abordou de forma completa como configurar, programar e utilizar a placa Raspberry Pi Pico com a IDE do Arduino, integrando conceitos de hardware e etapas práticas de programação:
- O que é e arquitetura RP2040: plataforma dual-core ARM Cortex-M0+ de 32 bits a 133 MHz, alta capacidade de memória e periféricos PIO exclusivos;
- Variantes disponíveis: modelos padrão com conector micro USB (RB1052), versão moderna com conector USB Tipo-C (RB1733) e placa miniatura RP2040-Zero (RB1470);
- Especificações técnicas: detalhamento de alimentação, clock, interfaces seriais (UART, SPI, I2C), conversores ADC e temporizadores;
- Pinagem e conexões: distribuição dos 40 terminais físicos, mapeamento de GPIOs e advertência crucial sobre a operação estrita em nível lógico de 3,3V;
- Configuração na Arduino IDE: instalação do core especializado da comunidade Earle Philhower, configuração de URLs de placas e seleção do ambiente;
- Exemplos práticos de código: upload através do modo BOOTSEL, teste de Blink do LED onboard, leitura do sensor térmico interno do chip RP2040 e acionamento de servo motor;
- Solução de problemas (FAQ): diagnóstico de portas seriais ausentes, modo de recuperação UF2 e compatibilidade elétrica.
Com seu processador de alto desempenho, periféricos flexíveis e a facilidade de desenvolvimento da Arduino IDE, a Raspberry Pi Pico representa uma das soluções mais eficientes e acessíveis para entusiastas e engenheiros criarem projetos embarcados de robótica e IoT.
Solução de problemas
Olá! Sou o assistente técnico da RoboBuilders. Descreva seu problema com o Como Usar a Raspberry Pi Pico com Arduino: Manual Técnico Completo e eu ajudarei a encontrar a solução.
O assistente usa IA e pode errar. Confirme informações críticas no datasheet oficial do fabricante.