Fundamentos · 6 min de leitura

O que é Raspberry Pi Pico? Instalação do MicroPython, pinagem e primeiros projetos

O que é o Raspberry Pi Pico e qual a diferença para um Raspberry Pi e um Arduino? Características do RP2040, Pico W e Pico 2, a pinagem, instalação do MicroPython com o Thonny e os primeiros códigos com LED, botão, PWM e leitura analógica.

O Raspberry Pi Pico é uma placa microcontroladora muito barata, do tamanho da palma da mão, construída em torno do RP2040, um chip projetado pela própria Raspberry Pi Foundation. O grande destaque é que ela pode ser programada em MicroPython, ou seja, em Python: você escreve o código, executa e vê o resultado na hora, sem esperar compilação. Isso faz dela uma ótima porta de entrada para estudantes que estão aprendendo Python e para iniciantes em eletrônica. Se preferir, você também pode programá-la em C/C++ ou com a Arduino IDE.

Placa microcontroladora Raspberry Pi Pico
Raspberry Pi Pico: o chip quadrado no meio é o RP2040; em uma das pontas ficam o conector micro USB e o botão BOOTSEL, com 20 pinos em cada lateral.

O que é o Raspberry Pi Pico? A diferença para um Raspberry Pi

Apesar do nome parecido, o Pico não é um computador como o Raspberry Pi 4 ou 5. Ele não tem sistema operacional, saída HDMI nem área de trabalho; como um Arduino, é uma placa microcontroladora que roda um único programa. O seu programa começa assim que você liga a placa, ela gasta pouquíssima energia e cuida em tempo real de tarefas como ler sensores, acender LEDs e acionar motores.

CaracterísticaRaspberry Pi PicoArduino Uno R3Raspberry Pi 4 / 5
TipoPlaca microcontroladoraPlaca microcontroladoraComputador de placa única
Sistema operacionalNenhumNenhumLinux
Linguagem de programaçãoMicroPython, C/C++, ArduinoC/C++ (Arduino)Python e quase qualquer linguagem
Tempo de inicializaçãoInstantâneoInstantâneo20–30 segundos
Consumo de energiaCerca de 25 mACerca de 45 mAAlguns watts
Uso típicoSensores, LEDs, motores, temporizaçãoSensores, LEDs, motoresCâmeras, servidores, computador de mesa

Especificações: Pico, Pico W e Pico 2

CaracterísticaPicoPico WPico 2
ChipRP2040, Cortex-M0+ de dois núcleos, 133 MHzRP2040, Cortex-M0+ de dois núcleos, 133 MHzRP2350, Cortex-M33 de dois núcleos, 150 MHz
RAM264 KB264 KB520 KB
Flash2 MB2 MB4 MB
Sem fioNenhumWi-Fi (2,4 GHz) + BluetoothNenhum (vem no Pico 2 W)
GPIO utilizáveis262626
Entrada analógica (ADC)3 canais, 12 bits3 canais, 12 bits3 canais, 12 bits
Tensão de operação3,3 V3,3 V3,3 V

Pinagem do Pico

O Pico tem 40 pinos no total nas duas laterais. Todos os 26 pinos GPIO, do GP0 ao GP28, podem gerar PWM, e o I2C, o SPI e a UART podem ser usados em vários pinos alternativos. A entrada analógica só existe nos pinos GP26, GP27 e GP28. Você vê o mapa completo de pinos da placa na ferramenta Pinagem; os pinos de alimentação e especiais mais importantes são:

PinoFunção
VBUS5 V vindos da USB
VSYSEntrada de alimentação externa (1,8–5,5 V)
3V3(OUT)Saída de 3,3 V para sensores (até cerca de 300 mA)
GNDTerra (há 8 na placa)
GP0–GP22Entrada/saída digital, PWM, I2C, SPI, UART
GP26–GP28Também entrada analógica (ADC0–ADC2)
RUNReinicia a placa quando ligado ao GND
Os pinos do Pico funcionam com 3,3 V e não toleram 5 V. Não ligue direto sensores com saída de 5 V; coloque um divisor de tensão no meio. Por padrão, cada pino fornece 4 mA e no máximo 12 mA; um resistor de 220–330 Ω basta para um LED, mas sempre acione cargas como motores e relés através de um transistor.

Instalando o MicroPython (com o Thonny)

  1. Baixe e instale o Thonny pelo site thonny.org.
  2. Segure o botão BOOTSEL do Pico enquanto conecta o cabo USB ao computador; o Pico aparece como uma unidade chamada RPI-RP2 (RP2350 no Pico 2).
  3. No menu do interpretador, no canto inferior direito do Thonny, escolha MicroPython (Raspberry Pi Pico) e use "Install or update MicroPython" para instalar a versão certa para a sua placa (Pico, Pico W ou Pico 2). Você também pode baixar o arquivo .uf2 em micropython.org e arrastá-lo para a unidade.
  4. Quando a instalação terminar, o Pico reinicia. Se você vir o prompt >>> no Shell, na parte de baixo do Thonny, está tudo pronto.
  5. Se você salvar o código no Pico como main.py, ele roda automaticamente toda vez que a placa é ligada, mesmo sem estar conectada a um computador.

Primeiro programa: piscando o LED embutido

MicroPython
1from machine import Pin
2import time
3
4led = Pin(25, Pin.OUT)      # Pico'da dahili LED; Pico W ve Pico 2 W'de Pin("LED") yaz
5                            # onboard LED on Pico; use Pin("LED") on Pico W / Pico 2 W
6
7while True:
8    led.toggle()            # durumu tersine çevir / flip the state
9    time.sleep(0.5)

Controlando um LED com um botão

Ligue um LED no GP15 através de um resistor de 220 Ω e um botão no GP14. O outro terminal do botão vai no GND, e o resistor de pull-up interno do Pico é ativado, então o botão lê 1 quando solto e 0 quando apertado:

MicroPython
1from machine import Pin
2
3led = Pin(15, Pin.OUT)
4button = Pin(14, Pin.IN, Pin.PULL_UP)   # butonun diğer ucu GND'de / other leg to GND
5
6while True:
7    led.value(not button.value())        # basılıyken yanar / on while pressed
O chip RP2350 do Pico 2 tem um problema conhecido (E9) com os resistores de pull-down internos: às vezes o pino pode ficar preso em HIGH. Ligar o botão ao GND e usar PULL_UP é a abordagem mais segura tanto no Pico quanto no Pico 2. Para saber mais sobre a ligação de botões, veja Como ligar um botão no Arduino; a lógica é a mesma.

Brilho de LED com PWM

Todos os pinos GPIO do Pico podem gerar PWM. No MicroPython, o valor do ciclo de trabalho vai de 0 a 65535. O código abaixo aumenta devagar o brilho de um LED e depois recomeça; você encontra a ideia por trás do PWM explicada em detalhes em O que é PWM?

MicroPython
1from machine import Pin, PWM
2import time
3
4led = PWM(Pin(15), freq=1000)
5
6while True:
7    for d in range(0, 65536, 1024):   # yavaşça yan / fade in
8        led.duty_u16(d)
9        time.sleep_ms(10)

Leituras analógicas e o sensor de temperatura embutido

Ligue o pino do meio de um potenciômetro no GP26 e os pinos externos no 3V3 e no GND. read_u16() devolve um valor de 0 a 65535. O Pico também tem um sensor de temperatura interno, ligado ao 4º canal do ADC; a leitura é só aproximada, mas é um jeito divertido de medir temperatura sem nenhuma peça extra:

MicroPython
1from machine import ADC
2import time
3
4pot = ADC(26)                    # GP26 (ADC0) / potansiyometre orta ucu / pot wiper
5sensor = ADC(4)                  # dahili sıcaklık sensörü / internal temperature sensor
6
7while True:
8    value = pot.read_u16()                       # 0–65535
9    volts = sensor.read_u16() * 3.3 / 65535
10    temp = 27 - (volts - 0.706) / 0.001721       # °C (yaklaşık / approximate)
11    print(value, round(temp, 1))
12    time.sleep(1)

Programando o Pico com a Arduino IDE

Se você prefere C++ e as bibliotecas do Arduino, também pode usar o Pico com a Arduino IDE. Adicione https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json ao campo de URLs de placas adicionais em Arquivo > Preferências e depois instale o pacote Raspberry Pi Pico/RP2040/RP2350 de Earle Philhower pelo Gerenciador de Placas. No primeiro carregamento, segure o botão BOOTSEL enquanto conecta a placa; depois disso, os carregamentos funcionam normalmente. O exemplo Blink com LED_BUILTIN e a maioria das bibliotecas do Arduino funcionam sem problema.

Pico, ESP32 ou Arduino?

O que você precisaPlaca recomendada
Primeiro projeto, sensores de 5 V, o maior número de exemplos e recursosArduino Uno
Wi-Fi, Bluetooth, internet, controle pelo celularESP32 ou Pico W
Aprender a programar em PythonRaspberry Pi Pico
Preço muito baixo, temporização precisa (PIO)Raspberry Pi Pico
Projetos com câmera e áudioESP32-S3 ou ESP32-CAM

Para projetos que precisam de conexão sem fio, conheça o ESP32 em O que é ESP32? Um ponto forte exclusivo do Pico são os blocos PIO (entrada/saída programável): eles cuidam de tarefas em que o tempo é crítico, como fitas de LED WS2812B ou protocolos de comunicação personalizados, sem sobrecarregar o processador.

Ideias de projetos com Raspberry Pi Pico

  • Semáforo: um semáforo com três LEDs acendendo em sequência.
  • Knight Rider: um efeito de luz que corre de um lado para o outro em seis LEDs.
  • Botões e interrupções (IRQ): um código que captura o aperto de um botão sem esperar o loop principal.
  • Ciclo de cores RGB: um efeito arco-íris em um LED RGB com três canais PWM.
  • Servidor web no Pico W: controle um LED ou um relé por uma página aberta no celular.
  • Minitermômetro: mostre em um display OLED a leitura do sensor de temperatura embutido.

Erros comuns e como resolvê-los

  • A unidade RPI-RP2 não aparece: a placa foi conectada sem segurar o BOOTSEL, ou o cabo é só de carga; use um cabo de dados.
  • O Thonny não encontra a placa: o interpretador errado está selecionado, ou o MicroPython não está instalado na placa.
  • O LED não acende em um Pico W: no Pico W, o LED embutido está ligado ao chip sem fio; use Pin("LED") em vez de Pin(25).
  • Ligar sinais de 5 V: os GPIO são de 3,3 V; sinais de 5 V podem danificar um pino.
  • O código não roda quando desconectado do computador: ele não foi salvo no Pico como main.py.
  • Tensão demais no VSYS: o VSYS aceita no máximo 5,5 V; não ligue um adaptador de 9 V ou 12 V direto.

Com preço baixo e suporte a Python, o Raspberry Pi Pico é um dos jeitos mais fáceis de juntar programação e eletrônica. Você encontra o básico dos LEDs em O que é LED?; no app BlueGrays você encontra projetos com Pico de LED piscante, semáforo, Knight Rider, interrupções com botão, efeito de respiração com PWM e ciclo de cores RGB, passo a passo, com esquemas do circuito e código em MicroPython.

Perguntas frequentes

O Raspberry Pi Pico é um computador Raspberry Pi?

Não. O Pico é uma placa microcontroladora feita pela Raspberry Pi Foundation; ele não tem sistema operacional, saída de vídeo nem área de trabalho. Como um Arduino, ele roda um único programa. O Raspberry Pi 4 e o 5 são computadores completos que rodam Linux.

Em que linguagem o Raspberry Pi Pico é programado?

A escolha mais comum é o MicroPython; ele é fácil de instalar com o Thonny e quem sabe Python começa na hora. O SDK oficial em C/C++ e a Arduino IDE (com o pacote de Earle Philhower) também podem ser usados. O CircuitPython também é compatível.

Qual é a diferença entre o Pico e o Pico W?

O Pico W acrescenta um chip sem fio que dá ao Pico Wi-Fi de 2,4 GHz e Bluetooth; todo o resto é igual. Como o LED embutido do Pico W está ligado a esse chip, no código você usa Pin("LED") em vez de Pin(25).

O Raspberry Pi Pico funciona com 5 V?

A placa pode ser alimentada com os 5 V da USB ou com 1,8–5,5 V no pino VSYS. Os pinos GPIO, no entanto, funcionam com 3,3 V e não toleram 5 V, então você não deve ligar sinais de 5 V direto neles.

Quantas entradas analógicas o Pico tem?

São três entradas analógicas disponíveis para o usuário: GP26 (ADC0), GP27 (ADC1) e GP28 (ADC2). O 4º canal do ADC também está ligado ao sensor de temperatura dentro do chip. No MicroPython, read_u16() devolve um valor de 0 a 65535.

Posso programar o Raspberry Pi Pico com a Arduino IDE?

Sim. Depois de instalar na Arduino IDE o pacote de placas Raspberry Pi Pico/RP2040/RP2350 de Earle Philhower, você programa o Pico com os comandos do Arduino e usa a maioria das bibliotecas do Arduino. No primeiro carregamento, você precisa segurar o botão BOOTSEL enquanto conecta a placa.

Ver todos os projetos
Piscar o LED integrado do Raspberry Pi Pico (Pico e Pico W)
#147Iniciante

Piscar o LED integrado do Raspberry Pi Pico (Pico e Pico W)

O primeiro projeto da série Raspberry Pi Pico! Fazemos o LED verde integrado piscar para verificar se a placa funciona — um primeiro experimento no estilo clássico "Hello World". SEM componentes externos, apenas o Pico e um cabo USB. O código foi escrito em MicroPython (a linguagem com suporte oficial da Raspberry Pi Foundation). Aprenda a usar a classe machine.Pin, o modo Pin.OUT, os métodos led.on()/off() e time.sleep() no Thonny IDE.

5.0(1)
10
Raspberry Pi Pico: controle de LED externo (protoboard)
#148Iniciante

Raspberry Pi Pico: controle de LED externo (protoboard)

O próximo passo após o LED integrado do Pico: conectar um LED externo à protoboard e controlá-lo pelo pino GP14. Neste projeto, você aprende a usar qualquer pino GPIO de uso geral do Pico como saída, a polaridade do LED (terminal longo = ânodo/+, terminal curto = cátodo/–) e por que um resistor limitador de corrente (220Ω) é necessário. Sem o resistor, uma corrente excessiva passa pelo LED e pode queimá-lo. O circuito é muito simples: Pico GP14 → resistor de 220Ω → LE

4.5(2)
7
Raspberry Pi Pico: semáforo (3 LEDs em sequência)
#150Iniciante

Raspberry Pi Pico: semáforo (3 LEDs em sequência)

Simulamos um semáforo real com LEDs vermelho, amarelo e verde — o primeiro projeto com 3 LEDs da série Pico! Verde por 4 segundos: "siga"; amarelo por 1,5 segundo: "prepare-se"; vermelho por 3 segundos: "pare"; e vermelho+amarelo por 1 segundo: "saída" (padrão de semáforo europeu). Aprenda definição de funções (def all_off()), lógica de máquina de estados (sequência) e sincronização de vários GPIOs.

4.0(1)
12
Raspberry Pi Pico: LEDs sequenciais (6 LEDs)
#153Iniciante

Raspberry Pi Pico: LEDs sequenciais (6 LEDs)

A clássica animação de LEDs sequenciais com o Pico — versão com 6 LEDs! Os 6 LEDs acendem em sequência da esquerda para a direita, como se a luz percorresse a fileira. Aprenda listas em Python, compreensão de listas ([Pin(p, Pin.OUT) for p in LED_PINS]), controle de pinos com laço for e enumerate(). São 6 LEDs nos pinos GP9-GP14, cada um com um resistor limitador de corrente de 220Ω.

0.0(0)
8
Raspberry Pi Pico: LED controlado por botão (enquanto pressionado)
#155Iniciante
Premium

Raspberry Pi Pico: LED controlado por botão (enquanto pressionado)

Primeiro projeto de entrada com o Pico — leitura de botão! O LED acende enquanto o botão está pressionado e apaga ao soltá-lo. O grande passo depois das animações com LEDs: entrada de sinais do mundo para o Pico. Aprenda a usar Pin.IN (modo de entrada), Pin.PULL_UP (pull-up interno — padrão para botões) e a leitura com button.value(). LED no GP14, botão no GP2. Pressionado = LOW (0), solto = HIGH (1) — essa lógica invertida confunde no início, mas é padrão da indústria.

0.0(0)
11
Raspberry Pi Pico: debounce de botão com IRQ ou consulta por software
#159Intermediário
Premium

Raspberry Pi Pico: debounce de botão com IRQ ou consulta por software

Você pressiona o botão uma vez e o código conta 3-4? Isso é oscilação dos contatos — os contatos metálicos oscilam por microssegundos! Compare 2 métodos de contagem lado a lado no Monitor Serial: consulta sem filtro (detecta as oscilações e conta a mais) e IRQ + debounce por software (contagem correta). Aprenda a física da oscilação dos contatos, debounce por software (ticks_diff() > 50ms), registro de interrupção com Pin.irq(), disparo IRQ_FALLING, rotinas ISR, global e…

0.0(0)
12
Raspberry Pi Pico: variação de brilho do LED com PWM (efeito de respiração)
#160Iniciante

Raspberry Pi Pico: variação de brilho do LED com PWM (efeito de respiração)

O LED não só pisca — ele respira! Com o PWM (modulação por largura de pulso) do Raspberry Pi Pico, o brilho do LED aumenta e diminui lentamente, como a luz de um MacBook em repouso. Aprenda a usar a classe machine.PWM, duty_u16() (brilho de 16 bits, de 0–65535), frequência PWM (freq(1000) — 1.000 ciclos de ligar/desligar por segundo, sem cintilação visível), laços com passos usando range() (crescentes e decrescentes) e saída semelhante à analógica em um pino digital.

0.0(0)
4
Ciclo de cores com LED RGB no Raspberry Pi Pico (PWM de 3 canais)
#161Iniciante

Ciclo de cores com LED RGB no Raspberry Pi Pico (PWM de 3 canais)

Um LED, milhões de cores! Um LED RGB contém, na verdade, 3 LEDs: vermelho, verde e azul. Controlar cada um com seu próprio canal PWM do Pico mistura as cores: vermelho + verde = amarelo, verde + azul = ciano, os três = branco. Aqui, o LED alterna entre 8 cores. Aprenda sobre múltiplos canais PWM, definição de funções (def set_color(...)), mistura de cores RGB (como funcionam telas e lâmpadas inteligentes), conversão de 8 bits → 16 bits (x257 converte 0–255 em…

0.0(0)
6