O mais recente lançamento da Fundação Raspberry Pi deixou toda a comunidade maker entusiasmada. A Raspberry Pi Pico é uma placa de desenvolvimento que conta com o microcontrolador RP2040 – o qual possui dois núcleos ARM Cortex-M0+ com um clock de até 133 MHz – memória RAM de 256 KB e memória Flash de 2 MB. O mais legal é que ela aceita duas linguagens de programação: Python e C/C++!

O post de hoje vai te ajudar a dar os primeiros passos com C/C++ na Raspberry Pi Pico utilizando o Visual Studio Code.
O que é o Visual Studio Code?
O VS Code é um editor de código multiplataforma criado pela Microsoft, que está disponível tanto para Windows quanto para Mac OS e Linux. Com o Visual Studio Code você pode construir programas utilizando diferentes linguagens de programação (Python, Ruby, C/C++) e diferentes placas de desenvolvimento, incluindo a Raspberry Pi Pico.
Além de ser um software totalmente gratuito, o VS Code também é open-source. Seu código está disponibilizado no GitHub, permitindo assim que a comunidade técnica possa contribuir com seu desenvolvimento, facilitando a criação de extensões e novas funcionalidades.
Materiais Necessários
Iremos montar um circuito para piscar um LED para assim testar um código C++ na nossa Raspberry Pi Pico. Para isso vamos precisar dos seguintes componentes:
- Raspberry Pi Pico
- Barra de Pinos 1×40 180 Graus
- Protoboard 400 pontos
- Cabo micro USB
- Jumpers Macho-Macho
- Led Vermelho
- Resistor 220 ohms
Instalando ferramentas para a Raspberry Pi Pico
Antes de criar seu primeiro programa em C/C++ para a Raspberry Pi Pico, é necessário preparar seu computador. O passo a passo abaixo mostra o procedimento em computadores com sistema operacional Windows.
Primeiramente, faça o download de todos os programas listados abaixo:
- Visual Studio Code
- Ferramentas de compilação para Visual Studio
- Python 3.x
- Compilador ARM GCC
- CMake
- Ferramentas pico-sdk
Durante a instalação dos programas é importante estar atento às opções do instalador. Certifique-se de que os seguintes itens abaixo sejam selecionados.
Instalação Visual Studio Code
Garanta que a opção “Adicione em PATH (disponível após reiniciar) esteja selecionada”.
Instalação Python 3
Marque a caixa “Install launcher for all users (recommended)”. Também marque a caixa “Add Python 3.9 to PATH”.
Depois clique em “Customize installation” e selecione “Install for all users”. Por fim clique em “Install”.
Instalação Compilador ARM GCC
No final da instalação, marque todas as opções.
Instalação CMake
Durante a instalação, selecione “Add CMake to the system PATH for all users”.
Instalação Ferramentas de compilação para Visual Studio
Durante a instalação, selecione apenas “Ferramentas de build do C++”.
Instalação pico-sdk
Descompacte o arquivo em um diretório à sua escolha.
Configurações do computador para a Raspberry Pi Pico
Assim que o processo de instalação for concluído, precisamos verificar se as variáveis de ambiente do Windows estão definidas corretamente. Para isso, clique na tecla WIN e digite “editar as variáveis de ambiente do sistema”. Clique em “Variáveis de Ambiente…”.
Em variáveis de usuário, verifique as seguintes informações:
Variável | Valor |
Path | C:\Users\Rosana Guse\AppData\Local\Programs\Microsoft VS Code\bin |
PICO_SDK_PATH | C:\Users\Rosana Guse\Downloads\pico-sdk |
Em variáveis de sistema, verifique as seguintes informações:
Variável | Valor |
Path | C:\Program Files\Python39\Scripts\ |
Path | C:\Program Files\Python39\ |
Path | C:\Program Files (x86)\GNU Arm Embedded Toolchain\10 2020-q4-major\bin |
Path | C:\Users\Rosana Guse\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Visual Studio Code |
Path | C:\Program Files\CMake\bin |
Configurações do VS Code para a Raspberry Pi Pico
Execute como administrador o “Developer Command Prompt for VS 2019”. Quando o prompt abrir, dê o comando “code”.
Em “Extensions” procure procure pela extensão C/C++ e clique em “Install”. Depois procure por CMake Tools e proceda com a instalação.
Agora em CMake Tools, clique em Settings > Extension Settings.
Vá até “Cmake Path” e confira se o nome é cmake.
Depois vá até “Configure Environment”, clique em “Add Item”, em “Item” digite PICO_SDK_PATH e em “Value” digite o caminho da pasta pico-sdk.
Em “Generator” digite NMake Makefiles.
Pronto! O VS Code está configurado. Antes de começarmos a construir nosso primeiro programa, feche o Visual Studio e abra novamente.
Construindo o código Blink
Crie uma pasta em seu computador com o nome do projeto. No VS Code vá em File > Open Folder e selecione a pasta recém criada.
Cada projeto para a Raspberry Pi Pico precisa de três arquivos para compilar.
1. O arquivo com o programa
Vamos dar o nome para esse arquivo de blink.c. Preste atenção ao nome, pois você precisará usá-lo em outros arquivos para compilá-lo corretamente. Toda a sua programação está neste arquivo.
#include "pico/stdlib.h" int main() { const uint LED_PIN = 16; gpio_init(LED_PIN); gpio_set_dir(LED_PIN, GPIO_OUT); while (true) { gpio_put(LED_PIN, 1); sleep_ms(250); gpio_put(LED_PIN, 0); sleep_ms(250); } }
2. O arquivo com instruções de construção Cmake
Vamos dar o nome para esse arquivo de pico_sdk_import.cmake. Ele é um conjunto de instruções para CMake que contém informações sobre onde o SDK está e como compilar o código para você. Não há necessidade de fazer nenhuma modificação.
# This is a copy of /external/pico_sdk_import.cmake # This can be dropped into an external project to help locate this SDK # It should be include()ed prior to project() # todo document if (DEFINED ENV{PICO_SDK_PATH} AND (NOT PICO_SDK_PATH)) set(PICO_SDK_PATH $ENV{PICO_SDK_PATH}) message("Using PICO_SDK_PATH from environment ('${PICO_SDK_PATH}')") endif () if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT} AND (NOT PICO_SDK_FETCH_FROM_GIT)) set(PICO_SDK_FETCH_FROM_GIT $ENV{PICO_SDK_FETCH_FROM_GIT}) message("Using PICO_SDK_FETCH_FROM_GIT from environment ('${PICO_SDK_FETCH_FROM_GIT}')") endif () if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_PATH} AND (NOT PICO_SDK_FETCH_FROM_GIT_PATH)) set(PICO_SDK_FETCH_FROM_GIT_PATH $ENV{PICO_SDK_FETCH_FROM_GIT_PATH}) message("Using PICO_SDK_FETCH_FROM_GIT_PATH from environment ('${PICO_SDK_FETCH_FROM_GIT_PATH}')") endif () set(PICO_SDK_PATH "${PICO_SDK_PATH}" CACHE PATH "Path to the PICO SDK") set(PICO_SDK_FETCH_FROM_GIT "${PICO_SDK_FETCH_FROM_GIT}" CACHE BOOL "Set to ON to fetch copy of PICO SDK from git if not otherwise locatable") set(PICO_SDK_FETCH_FROM_GIT_PATH "${PICO_SDK_FETCH_FROM_GIT_PATH}" CACHE FILEPATH "location to download SDK") if (NOT PICO_SDK_PATH) if (PICO_SDK_FETCH_FROM_GIT) include(FetchContent) set(FETCHCONTENT_BASE_DIR_SAVE ${FETCHCONTENT_BASE_DIR}) if (PICO_SDK_FETCH_FROM_GIT_PATH) get_filename_component(FETCHCONTENT_BASE_DIR "${PICO_SDK_FETCH_FROM_GIT_PATH}" REALPATH BASE_DIR "${CMAKE_SOURCE_DIR}") endif () FetchContent_Declare( pico_sdk GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk GIT_TAG master ) if (NOT pico_sdk) message("Downloading PICO SDK") FetchContent_Populate(pico_sdk) set(PICO_SDK_PATH ${pico_sdk_SOURCE_DIR}) endif () set(FETCHCONTENT_BASE_DIR ${FETCHCONTENT_BASE_DIR_SAVE}) else () message(FATAL_ERROR "PICO SDK location was not specified. Please set PICO_SDK_PATH or set PICO_SDK_FETCH_FROM_GIT to on to fetch from git." ) endif () endif () get_filename_component(PICO_SDK_PATH "${PICO_SDK_PATH}" REALPATH BASE_DIR "${CMAKE_BINARY_DIR}") if (NOT EXISTS ${PICO_SDK_PATH}) message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' not found") endif () set(PICO_SDK_INIT_CMAKE_FILE ${PICO_SDK_PATH}/pico_sdk_init.cmake) if (NOT EXISTS ${PICO_SDK_INIT_CMAKE_FILE}) message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' does not appear to contain the PICO SDK") endif () set(PICO_SDK_PATH ${PICO_SDK_PATH} CACHE PATH "Path to the PICO SDK" FORCE) include(${PICO_SDK_INIT_CMAKE_FILE})
3. Lista de arquivos para compilação
Vamos dar o nome para esse arquivo de CMakeList.txt. Você precisa modificar esse arquivo de acordo com seu projeto. O CMake precisa saber quais arquivos compilar e essa lista diz isso, portanto, altere as linhas com o nome do arquivo que contém o programa.
cmake_minimum_required(VERSION 3.12) include(pico_sdk_import.cmake) set(CMAKE_C_STANDARD 11) set(CMAKE_CXX_STANDARD 17) pico_sdk_init() project(blink) add_executable(blink blink.c) # Pull in our pico_stdlib which pulls in commonly used features target_link_libraries(blink pico_stdlib) # create map/bin/hex file etc. pico_add_extra_outputs(blink)
Por fim, vá na parte inferior da janela do VS Code e selecione o compilador GCC para arm-none-eabi.
Pronto! Agora você só precisa compilar o programa.
Circuito Pisca LED para Raspberry Pi Pico
Como visto no código acima, iremos conectar um LED na GPIO 16 da Raspberry Pi Pico. O circuito que deve ser montado para testar o código é o abaixo:
Carregando o arquivo UF2 para a Raspberry Pi Pico
Depois de compilado, um arquivo UF2 estará disponível. É esse arquivo que você deverá carregar para sua Raspberry Pi Pico.
Segure o botão BOOTSEL na sua Pico, conecte-a ao seu computador e depois solte o botão BOOTSEL. Uma unidade de armazenamento chamada de RPI-RP2 será criada. Arraste o arquivo UF2 para a unidade de armazenamento recém criada.
Sua Raspberry Pi Pico irá reiniciar e o programa começará a rodar.
Conclusão
Como você pode ver acima, preparar o computador e o Visual Studio Code para programar a Raspberry Pi Pico na linguagem C++ não é uma tarefa tão simples. No entanto, uma vez que o processo é concluído, é relativamente simples criar um programa nessa linguagem e carregá-lo para a placa.
E então, gostou de aprender como programar a Raspberry Pi Pico em C++ usando o VSCode? Conte pra gente o que achou!