Após algumas semanas desde o lançamento oficial da Raspberry Pi Pico, finalmente os makers brasileiros estão recebendo as suas placas e dando os primeiros passos. Você já garantiu a sua?
Por se tratar de uma plataforma relativamente nova, estamos descobrindo o que poderemos fazer com o RP2040, novo microcontrolador desenvolvido pela própria Fundação Raspberry Pi.
Para ajudar nos primeiros passos para programação da Raspberry Pi Pico, neste artigo exibo como iniciar com MicroPython e com o SDK C/C++.
Se preferir confira o conteúdo em forma de video:
Preparando Hardware
A Raspberry Pi Pico vem sem as barras de pinos. Isso pode ser bom ou ruim, vai depender do objetivo para aplicação da placa. Como ele possui pinos do tipo castellated, é possível soldá-la diretamente em uma placa de expansão. No nosso caso, como vamos estudar o caminho mais fácil é usando um protoboard. Felizmente, a placa possui 20 pinos de cada lado, assim, apenas uma barra de pinos de 40 pinos é suficiente.
Você vai precisar de um ferro de solda. recomendo uma estação de solda ou um ferro simples de 30W.
Pronto, com as barras soldadas, agora é só encaixar no protoboard.
Incluindo um Botão de Reset
Infelizmente a placa não vem com um botão de Reset. Talvez os projetistas da placa devam ter tirado esse botão para reduzir o custo final, mas para nós esse botão faz uma falta enorme. Sem ele, precisamos toda vez que for necessário colocar a placa no modo UF2, desconectar e conectar o cabo USB. Esse processo é cansativo e pode danificar o conector USB.
Felizmente eles deixaram o pino RUN disponível no pinout. Quando esse pino ( que tem um Pull up) é colocado para nível zero o microcontrolador é reiniciado.
Dessa forma precisamos de um push button ligado a esse pino e ao GND. Eu achei, nas minhas gavetas de componentes, uma chave táctil de 2 pinos que coube como uma luva para conectar nos pinos 30(RUN) e 28 (GDN).
Se você não tiver uma chave táctil desse tipo, pode usar uma convencional de 4 terminais no protoboard. Só vai precisar de alguns cabos jumpers:
Pronto. Agora temos um setup mínimo para dar os primeiros passos na programação da Raspberry Pi Pico.
Documentação oficial para programação da Raspberry Pi Pico
A melhor opção para obter informações da placa Raspberry Pi Pico, microcontrolador RP2040 e guias de início é direto na fonte, ou seja, na Fundação Raspberry Pi.
A fundação fez um trabalho maravilhoso no desenvolvimento da documentação para a Raspberry Pi Pico. Os materiais são muito didáticos e bem diagramados, trazendo informações técnicas relevantes e guias detalhados.
Na página Getting Started, nós encontramos toda a documentação do RP2040, da Raspberry Pi Pico e guias de início para microPython e C/C++.
Recomendo que comece pela leitura do datasheet da Raspberry Pi Pico, onde você encontrará informações relevantes sobre o hardware, por exemplo, o uso do botão de reset externo que mostrei acima. Nesse documento você também encontrará as características mecânicas e elétricas da placa.
É importante ter sempre esse datasheet acessível e se possível a imagem do pinout separada, para acesso rápido ao mapa de pinos:
Você também pode acessar o datasheet do RP2040 quando for necessário obter mais informações sobre o microcontrolador. Há também um guideline de hardware muito bacana para desenvolvimento de placas compatíveis e acessórios.
Para os primeiros passos na programação da Raspberry Pi Pico, há dois guias muito bem feitos: uma para Micropython e outro para C/C++. Esses últimos serão nossas referências para iniciar na programação da Raspberry Pi Pico.
Programando a Raspberry Pi Pico com MicroPython
Para quem já trabalhou com Micropython em outras placas, o fluxo de desenvolvimento é o mesmo com a Raspberry Pi Pico. Eu já mostrei alguns artigos e palestras sobre o assunto:
Primeiros passos com MicroPython no ESP8266
Programe a BBC micro:bit com MicroPython – Hello World!
[Palestra gravada] – MicroPython: Python para microcontroladores
O projeto MicroPython já tem alguns anos de estrada e vem ganhando espaço na programação de microcontroladores. Desde 2014 já foram feitos ports para diversos microcontroladores e ultimamente para o RP2040.
Para programar a Raspberry Pi Pico com o MicroPython (assim como as outras placas compatíveis) é necessário atualizar o firmware da placa para o binário já compilado pela fundação MicroPython. Você encontra as últimas versões do binário na página do MicroPyhton para a Raspberry Pi Pico.
Feito o download do binário uf2 em seu computador, o próximo passo é colocar a placa em modo UF2. Para isso, faça o seguinte procedimento( considerando que você colocou o botão de reset):
- Ligue a placa a USB do seu PC
- Pressione e segure o botão BOOTSEL
- Pressione e solte o botão de RESET
- Solte o botão BOOTSEL
- Será aberta um dispositivo Mass Storage Device (como um pen drive) chamado RPI-RP2
6 – Arraste o binário do MicroPyhton para dentro de RPI-RP2
7 – Aguarde alguns segundos e a sua placa estará pronta para ser programada em MicroPython.
Para começar com o MicroPython, tudo que você precisará é de um monitor serial para acessar o REPL. Seja lá qual for o seu Sistema Operacional e aplicativo monitor serial, basta acessar a porta serial gerada para a placa.
No meu caso, a porta gerada foi a ttyACM0 e usei o screen para acessar o REPL:
Dentro do REPL podemos já fazer um teste com o LED presente na placa. Basta digitar:
O LED irá acender instantaneamente. Essa é a magia do MicroPython, você está manipulando a aplicação em uma linha de comandos e não precisa compilar o código e depois gravar o binário da placa.
Porém, para desenvolver aplicações maiores é importante ter um bom editor de texto. No meu caso eu uso o Visual Studio Code. Achei uma extensão bem interessante que auxilia nas tarefas de Run, Upload e gerenciamento de arquivos. A extensão chama-se PICO-GO:
Assim é possível criar programas mais elaborados e em seguida fazer o upload do script para a placa. Veja o exemplo de um Blink LED:

Se preferir, confira o processo em video:
Você também pode usar a Thonny IDE como indicado na documentação oficial: https://thonny.org/. Confira também a apresentação do Leandro Santos sobre a Raspberry Pi Pico e os primeiros passos com MicroPyhton usando o Thonny:
Agora que já tem o MicroPython na sua placa, explore os periféricos e recursos da programação Python. Siga os exemplos exibidos na documentação e crie suas próprias aplicações.
Para quem não tem o Raspberry Pi Pico e quer testar o MicroPython, recomendo que veja os artigos que publiquei e teste em alguma placa compatível.
Programando a Raspberry Pi Pico com o SDK C/C++
Se você deseja explorar mais a fundo o RP2040, criar aplicações mais complexas e até mesmo bibliotecas, é muito importante explorar o SDK C/C++.
Para quem já programa microcontroladores ARM sabe que fazer a configuração inicial da toolchain pode ser um pouco trabalhoso. A plataforma Arduino solucionou bem essa dor inicial dos makers para configuração dos toolchains para microcontroladores. Porém, isso acaba mascarando e muitas pessoas nem sabem o que tem embaixo do “capô”.
A documentação da Raspberry Pi Pico para o SDK C/C++ está muito bem feita, deixando o processo de instalação bem tranquilo. As ferramentas usadas para compilação são ferramentas usadas no fluxo de desenvolvimento de projetos embarcados com microcontroladores ARM. Portanto, entrar nessa jornada de exploração do SDK C/C++ para programação da Raspberry Pi Pico o deixará mais capacitado para trabalhar com microcontroladores. Então, bora instalar as ferramentas.
Instalação do SDK C/C++
Na documentação oficial eles exibem primeiramente a instalação das ferramentas para as SBCs Raspberry Pi. Nesse tutorial vamos considerar a instalação para uma máquina Linux com Debian/Ubuntu. Para quem usa Windows ou Mac, o capítulo 9 da documentação exibe como instalar os pré requisitos e toolchain nesses SOs.
Antes de instalar o SDK vamos instalar as ferramentas necessárias para compilação. Vamos precisar do Cmake e do gcc para ARM:
Abra o terminal e digite:
sudo apt update
sudo apt install git cmake gcc-arm-none-eabi libnewlib-arm-none-eabi build-essentialAgora crie uma pasta para fazer o clone do SDK:
cd ~/
mkdir pico
cd picoO próximo passo é fazer o clone do repositório do SDK dentro desse diretório:
git clone -b master https://github.com/raspberrypi/pico-sdk.gitAgora entre no diretório pico-sdk e atualize os submódulos:
cd pico-sdk
git submodule update --initEm seguida saia do diretório e faça o clone dos exemplos dentro de pico:
cd ..
git clone -b master https://github.com/raspberrypi/pico-examples.gitVocê também pode atualizar os submódulos:
cd pico-exemplos
git submodule update --initPronto, agora exporte as variáveis de ambiente:
export PICO_SDK_PATH=../../pico-sdkPara não precisar exportar toda vez que abre o terminal, você pode incluir o export dentro de .bashrc. Para isso, abra o arquivo e inclua:
export PICO_SDK_PATH=../../pico-sdkMaravilha, agora entre no repositório de exemplos e crie um diretório chamado build:
cd pico-examples
mkdir buildEntre nesse diretório e rode o cmake:
cd build
cmake ..Agora vamos compilar o exemplo, blink. Dentro de build entre em blink e faça o make:
cd blink
make -j4Será feita a compilação é gerado o arquivo blink.uf2. Esse arquivo será gravado na placa.
Você deve colocar a placa no modo uf2, assim como fizemos para atualizar o micropython. Para isso faça o seguinte procedimento ( considero que você colocou o botão de reset externo):
- Ligue a placa a USB do seu PC
- Pressione e segure o botão BOOTSEL
- Pressione e solte o botão de RESET
- Solte o botão BOOTSEL
- Será aberta um dispositivo Mass Storage Device (como um pen drive) chamado RPI-RP2
Agora é só copiar o blink.uf2 para esse dispositivo. Você pode fazer manualmente ou por linha de comando (que é mais fácil):
cp blink.uf2 /media/fabio/RPI-RP2/Pronto a sua placa começará a piscar o LED.

Você pode alterar o exemplo blink.c, que está em pico-examples/blink:
Salve, compile novamente e copie o blink.uf2 para a placa, conforme exibido acima.

Se você abrir a pasta exemplos no VSCODE, tudo já estará configurado para você. Você pode instalar a extensão cmake que lhe ajudará no processo de compilação:
Se preferir assista o video com o processo de instalação e uso do SDK:
Próximos passos na programação da Raspberry Pi Pico
Agora que já tem os ambientes configurados, o próximo passo é fazer aplicações com a placa. Aproveite os exemplos exibidos na documentação oficial e crie seus próprios projetos.
Se tiver qualquer dúvida, deixe seu comentário aqui. Bom diversão!









Parabéns, Fábio, pelo excelente artigo! Eu instalei o Visual Studio Code no meu Mac e ao tentar instalar a extensão oficial Raspberry Pi Pico via Marketplace, apareceu um pop-up de alerta informando que, além dela, extensões não verificadas de outros desenvolvedores seriam também instaladas. Você saberia me dizer do que tratam essas outras extensões? Obrigado.
Reinaldo, são extensões que ajudarão com a comunicação com a placa. São importantes. Esse warning é devido à política de publicação de extensões pela Microsoft. Pode instalar com essa do paulober que é confiável.
Entendi. Muito obrigado pelos esclarecimentos, Fábio!
Eu somente quero dizer, Parabéns Fabio pelo seu trabalho. Eu sou professor de sistemas embarcados e nunca tinha usado o pico e suas orientações me ajudaram e muito para poder usa-lo.
Prof. Wagner Ideali
Muito obrigado Professor Wagner
Olá. Gostaria de tirar uma duvida com relação ao cmake-3.20.1
Estou na duvida de qual dos app contidos no zip devo instalar para programa-lo em c++.
consultando o tutorial não me ficou muito claro. Ah… meu MS é Windows10.
obrigado
Danilo, você precisará instalar essas ferramentas:
Talvez esse script possa te ajudar na instalação das ferramentas no windows: https://github.com/ndabas/pico-setup-windows
Eu fiz tudo que manda no link acima, mas quando eu chego na parte do cmake para gerar o uf2 do hello_world aparece erro e não consegui sanar. Segui tbm o que manda o manual do pico. step by step e acontece um erro no mesmo local.
Professor Wagner, qual erro está dando?
Olá Fábio, minha placa PI Pico não retorna depois de colado o python. Ela fecha e não volta., o que pode ser?
Olá Edmar, não volta no REPL? Caso seja isso, quando conectar pressione CTRL+ C. A placa deve estar presa no loop infinito
Caro Edmar,tive o mesmo problema,consegui resolver Graças a Deus numa dúvida no forum rapberry pi pico.O meu problema estava no driver do windows 7,acredito que tem bastante pessoas com o mesmo problema.Não consigo colar os links aqui mas caso queira-os,deixe seu email que lhe envio.
Duas observações sobre a instalação do SDK C/C++:
1) No meu recém instalado Linux Mint não tinha o git… Sugestão: acrescente o git no sudo apt install
2) Eu preferi colocar um path absoluto no PICO_SDK_PATH (~/pico/pico-sdk)
Excelente guia, já estou preparado para fazer programas em C!
Olá Daniel. Obrigado pelas observações. Vou ajustar o texto.
Muito bacana. Parabéns pelo artigo! Esta placa vai ser um sucesso.
Muito obrigado professor Fabiano Fruett. Tem muito potencial. Acredito que a fundação Raspberry Pi tem bons planos para o futuro com essa placa e microcontrolador.