Raspberry Pi Pico SDK
github.com
What it is
Raspberry Pi Pico SDK is a free, BSD-3-Clause software development kit for writing C, C++, or assembly programs for RP-series microcontrollers. It supplies headers, hardware APIs, libraries, and a CMake build system, including access to Programmable I/O. Higher-level libraries cover timers, synchronization, Wi-Fi and Bluetooth networking, USB, and multicore programming. The SDK targets RP2040 Arm Cortex-M0+ and RP2350 Arm Cortex-M33 and Hazard3 RISC-V devices. It can support simple applications, MicroPython runtime environments, and low-level software such as an on-chip bootrom. Quick-start instructions use CMake, Python 3, a native compiler, and a GCC cross compiler. Work is possible from the command line, Visual Studio Code, or CLion. Raspberry Pi’s VS Code extension adds project generation, CMake setup, version switching, compilation, and debugging. It supports Windows, macOS, and Linux, with documentation for SDK APIs and Pico W connectivity.
Spec sheet
- Purpose
- The SDK provides the headers, libraries, and build system for writing C, C++, or assembly programs for RP-series microcontroller devices.Read 5 Oct 2026 · github.com
- License
- The pico-sdk repository identifies its license as BSD-3-Clause.Read 5 Oct 2026 · github.com
- Headquarters
- Cambridge, United KingdomRead 28 Sep 2026 · github.com
- Additional languages
- The VS Code extension supports MicroPython through MicroPico and offers project support for Rust and Zephyr.Read 5 Oct 2026 · github.com
- Build tools
- The quick-start instructions use CMake and require Python 3, a native compiler, and a GCC cross compiler.Read 5 Oct 2026 · github.com
- Documentation
- Raspberry Pi provides C/C++ SDK API documentation, getting-started material, and Wi-Fi and Bluetooth connectivity documentation for Pico W-series devices.Read 5 Oct 2026 · raspberrypi.com
- Editor support
- The official C SDK can be used from the command line or integrated development environments including Visual Studio Code and CLion.Read 5 Oct 2026 · raspberrypi.com
- Extension platforms
- The VS Code extension lists Raspberry Pi OS 64-bit, Windows 10/11, macOS Sonoma 14.0 or newer, and Linux x64 and arm64 as supported platforms.Read 5 Oct 2026 · github.com
- Hardware access
- Its C-level libraries and APIs provide access to RP-series hardware, including Programmable I/O (PIO).Read 5 Oct 2026 · github.com
- Included libraries
- Higher-level libraries cover timers, synchronization, Wi-Fi and Bluetooth networking, USB, and multicore programming.Read 5 Oct 2026 · github.com
- Integration
- The VS Code extension can integrate with the CMake Tools extension for enhanced CMake parsing in complex projects.Read 5 Oct 2026 · github.com
- Platform limitation
- The Raspberry Pi VS Code extension is not supported on 32-bit Raspberry Pi OS or Raspberry Pi OS Lite.Read 5 Oct 2026 · raspberrypi.com
- Use cases
- The SDK can be used for simple applications, runtime environments such as MicroPython, and low-level software such as the on-chip bootrom.Read 5 Oct 2026 · github.com
- VS Code extension
- Raspberry Pi provides an official VS Code extension with project generation, automatic CMake configuration, SDK and tool version switching, and one-click compilation and debugging.Read 5 Oct 2026 · github.com
Plans and prices
Strong points and limits
Strong points
- Free open-source SDK
- Supports C, C++, and assembly
- Targets RP2040 and RP2350
- Hardware and networking libraries included
- Official VS Code extension
Limits
- Requires Python, native, and GCC cross compilers
- VS Code extension excludes 32-bit Raspberry Pi OS
- Build workflow centers on CMake
Who it suits
This SDK suits developers targeting Raspberry Pi RP-series microcontrollers in C, C++, assembly, or supported companion environments. It is useful on Windows, macOS, and Linux with CMake-based builds.
Verdict
The Pico SDK combines low-level RP-series access with libraries for networking, USB, timing, and multicore work. Its toolchain requirements and Raspberry Pi OS extension limitation matter when setting up a development environment.
Where Specifiction places it
- Embedded Systems Toolchains#19 of 307.6