Who is this for?
This is an introductory topic for embedded software developers new to Raspberry Pi Pico.
What will you learn?
Upon completion of this Learning Path, you will be able to:
- Install the Raspberry Pi Pico SDK.
- Run a hello world example.
- Measure application performance.
- Debug applications with gdb.
Prerequisites
Before starting, you will need the following:
- Raspberry Pi Pico board.
- Raspberry Pi 3, 4, 400, or 5 as a development computer.
Summary
This summary was drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
You’ll set up a Raspberry Pi Pico C and C++ development environment and debug applications on Cortex-M0+. First, you’ll install the Pico SDK, build a hello example with CMake and GCC, and verify its LED and USB output. Then, you’ll measure Fibonacci implementations with SysTick and use the Serial Wire Debug (SWD) interface to load and debug programs without BOOTSEL.
Frequently asked questions
These FAQs were drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
Use the
pico_setup.sh script maintained in GitHub. Run it before building the examples so the SDK and build files are available.The on-board LED blinks, and the program prints Hello messages over USB. Seeing both indicates the board and SDK setup work.
CMake configure and build complete without errors and produce binaries for the Pico. Running the hello program confirms the toolchain and SDK are usable.
Run the performance example and check the printed cycle counts. The two Fibonacci implementations should report different counts, showing the counter is active.
Use the three-pin SWD interface. SWD lets you load and run from the command line and debug interactively with
gdb.