Introdução
As placas Raspberry Pi Pico são placas que possuem microcontroladores desenvolvidos pela Raspberry Pi e seus microcontroladores vêm ganhando visibilidade no mercado por seu custo-benefício. Desenvolver firmware em C/C++ para a Raspberry Pi Pico utilizando o Pico SDK não é algo tão simples, é necessário fazer download de ferramentas essenciais para o toolchain, saber configurá-las e consequentemente ter certo conhecimento sobre as mesmas e como tudo se inter-relaciona, tudo para poder desenvolver o firmware para o target em questão sem muitos contratempos.
Recentemente, buscando melhorar a experiência no desenvolvimento de firmware para produtos que utilizam os microcontroladores RP2040 ou RP2350, a Raspberry Pi lançou a extensão para VS Code denominada “Raspberry Pi Pico”, uma extensão que auxilia no desenvolvimento de software embarcado, começando por auxiliar na autoconfiguração de todo ambiente para desenvolvimento — o que inclui a instalação e configuração de toda toolchain —, funções que auxiliam durante o desenvolvimento de código, tal como, funções de depuração, flashing de programa, etc.; e mais. Atualmente, a mesma suporta projetos em C/C++ ou MicroPython e já inclui diversas boards de outros fabricantes que utilizam o RP2040 ou RP2350.
Desafios no desenvolvimento de software utilizando o Pico/C++ SDK
Quem já utilizou a Raspberry Pico com o Pico C/C++ SDK sabe que preparar o ambiente para desenvolvimento, incluindo a instalação e configuração de ferramentas como gcc, cmake, openocd, gdb, entre outros, não é uma tarefa tão simples. Algumas opções para trabalhar com o Pico SDK são:
- Windows: Um instalador disponibilizado pela Raspberry Pi (Pico Setup Windows; descontinuado), ou a utilização do WSL no mesmo com USBIPD-win.
- Linux e MacOS: Soluções mais complexas, utilizando containers com ambiente e toolchain pré-configurados ou a instalação de todas as ferramentas necessárias no teu host, o que no geral demanda certo conhecimento da integração entre as ferramentas para ter o teu projeto em funcionamento.
Extensão oficial da Raspberry Pi Pico para o VS Code
Ainda no ano de 2024, a Raspberry Pi lançou a extensão “Raspberry Pi Pico” para o VS Code, uma ferramenta que busca facilitar o processo de instalação e utilização da toolchain da Raspberry Pi Pico em projetos da mesma. A mesma alinha praticidade e economia de tempo para o desenvolvedor poder ter uma melhor experiência na compilação cruzada para o target em questão. Atualmente a extensão encontra-se “em desenvolvimento”, porém já é recomendada em parte da documentação oficial da Raspberry Pi Pico, ela possui atualizações recorrentes e seu projeto se encontra no repositório pico-vscode.
Instalando as dependências
A instalação e uso da extensão já é sugerida na documentação oficial da Raspberry, conforme descrito no documento oficial da Raspberry Pi Pico “Getting Started with Raspberry Pi Pico-series: C/C++ development with Raspberry Pi Pico-series and other Raspberry Pi microcontroller-based boards”, capítulo 3, “Install the Raspberry Pi Pico VS Code Extension”, que trata sobre a instalação da extensão no VS Code, há poucos requisitos para a instalação da mesma, a depender do sistema operacional. Veja a seguir as dependências para cada sistema operacional segundo a documentação atual:
Windows: não há dependência necessária para instalar a extensão no VS Code do Windows.
Linux: No Linux é necessário instalar python3, git, tar, build-essential e gdb-multiarch, caso o OS seja Ubuntu 22.04, ainda é necessário instalar mais dois pacotes: libftdi1-2 e libhidapi-hidraw0 para utilizar o OpenOCD.
macOS: Já no Mac, a recomendação é a execução da seguinte linha de comando: $ xcode-select –install, para serem instalados o Git, Tar, e um compilador de C/C++ nativo.
Recomenda-se acompanhar também — além da documentação — o README do projeto pico-vscode no github para verificar as dependências atualizadas.
Instalando a extensão no VS Code
Após instalar as dependências, para instalar a extensão no VS Code é necessário seguir os passos a seguir:
- Abra o ícone Extensions
- Procure por “raspberry pi pico”
- Instale a extensão clicando em “Install”
Quando a instalação finalizar, verifique se o símbolo da extensão aparecerá no “Activity sidebar” do VS Code, conforme demonstrado na imagem abaixo:
Criando um projeto “Hello, world!”
Na figura abaixo é possível verificar diversas funções da extensão, as quais podem ser divididas basicamente em três partes, conforme imagem abaixo:
- Funções gerais: Servem para auxiliar na criação ou importação de projetos.
- Funções de desenvolvimento: Auxiliam no desenvolvimento e teste do firmware; Estão disponíveis funções para compilar o código, gravar o programa na placa, depurar, e assim por diante.
- Documentação: Ao clicar em um dos tópicos, é possível abrir parte da documentação da Raspberry no próprio VS Code.
Criando um novo projeto
Para continuar, clicaremos em General → New C/C++ Project, e a tela que aparecerá deverá ser parecida com a da imagem abaixo:
Nesse caso o projeto chamará “hello_world”, defini o target, que será o Pico W, e também configurei para utilizar a comunicação UART (Console over UART) entre o MCU e o meu host, para que assim eu receba o printf(“Hello World!) através do Debug Probe conectado na Raspberry Pico W.
Após clicar no botão Create, acontecerão as seguintes coisas:
- O VS Code baixará, instalará o SDK selecionado e o restante do toolchain.
- O projeto será criado, configurado e iniciado já com o ambiente de desenvolvimento previamente definido.
Montagem do circuito
Para este projeto estou utilizando uma Raspberry Pi Debug Probe conectada ao Raspberry Pi Pico W, o código é enviado através da Debug Probe para a Pico W, segue montagem conforme imagem a seguir:
Testando o código
Para compilar e gravar o firmware no nosso target, basta ir até a extensão Raspberry Pi Pico e clicar em “Flash Project”, o código então será gravado na Pico.
E por fim, na imagem a seguir é possível ver a leitura dos dados que a Pico W está enviando através do Debug Probe via UART para o computador através da extensão “Serial Monitor”.
Conclusão
A extensão demonstra ser uma boa opção para desenvolvedores de software embarcado para microcontroladores RP2040 ou RP2350, ela se destaca primeiramente pela facilidade de configuração do ambiente para trabalhar com o firmware para estes targets, dado que para tal é necessário a instalação das dependências e da extensão, e também por possuir features “de fábrica” para depuração, flashing, e assim por diante, tudo pré-configurado, mas também abrindo espaço para customizações, para que assim se adeque melhor ainda dado a necessidade de cada tipo de desenvolvedor de firmware.
Como é uma extensão relativamente nova, a mesma pode apresentar alguns bugs, ou falta de informação em documentos oficiais sobre sua utilização, mesmo assim é uma boa alternativa, principalmente porque a Raspberry Pi e os contribuidores do projeto vêm contribuindo para torná-la a cada dia mais útil e funcional.
Referências
- Raspberry Pi Pico Datasheet An RP2040-based microcontroller board – Raspberry Pi
- Boost Your Pico Projects with the new Pico VS Code Extension – Raspberry Pi
- Getting started with Raspberry Pi Pico-series – Raspberry Pi
- Placa Raspberry Pi Pico – Portal Embarcados
- O novo microcontrolador RP2350 e a nova Raspberry Pi Pico 2 – Portal Embarcados





