raspberrypi/pico-sdk

Raspberry Pi Pico SDK is a C/C++ development kit that provides headers, libraries, and build infrastructure for writing programs for RP-series...

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 39 minutes ago
Type:FrameworkCategory(s):Embedded & IoTSystems, Hardware & HPC
Added to GitGenius on September 13th, 2026
Created on January 20th, 2021
Open Issues & Pull Requests: 323 (+0)
GitHub issues: Enabled
Number of forks: 1,280
Total Stargazers: 4,968 (+0)
Total Subscribers: 118 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 4.8 hours
Mean response time: 19.7 days
90th percentile: 32.1 days
Tracked items: 669

Most active contributors

Sign in to see contributor activity.

How this project is maintained

About 6% of issues opened in the past year have never received a reply. 100% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "mbedtls" is answered fastest, typically in under an hour, while "board settings" waits about 2 days. 33% of tracked open issues have had no activity in three months. 77% of issues opened in the past year have been closed, leaving a working backlog.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 165
New in 7 days: 3
Closed in 7 days: 0
Avg open age: 645 days
Stale 30+ days: 147
Stale 90+ days: 125

Recent activity

Opened in 7 days: 3
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 4

Top labels

  • documentation (44)
  • board settings (33)
  • build (27)
  • hardware_pio (23)
  • bluetooth (22)
  • pioasm (18)
  • needs reporter detail (17)
  • mbedtls (11)

Most active issues this week

Detailed Description

Raspberry Pi Pico SDK is a C/C++ development kit that provides headers, libraries, and build infrastructure for writing programs for RP-series microcontrollers such as the Raspberry Pi Pico and Pico 2.

The SDK addresses the need to program microcontroller hardware without requiring developers to work directly with register addresses or low-level hardware details. It presents a conventional programming model where applications start with a standard main() function and can use familiar C and C++ standard libraries. The tool abstracts hardware access through higher-level APIs for timers, synchronization, networking (Wi-Fi and Bluetooth), USB, and multicore programming, while still providing complete register definition headers for developers who need direct hardware control. This design allows the same SDK to support simple applications, complex runtime environments like MicroPython, and even low-level bootrom software.

Developers should adopt this SDK if they are building applications for RP-series microcontrollers and want a programming environment that bridges embedded and non-embedded C development practices. The tool suits projects ranging from simple embedded programs to sophisticated multi-core applications with networking capabilities. The SDK is designed to minimize the need for direct register access in application code, making it accessible to developers less experienced with embedded systems while remaining powerful enough for advanced use cases.

The project maintains both a stable master branch and a develop branch for testing upcoming features. Development activity shows consistent engagement with the codebase through regular updates and maintenance of the core SDK functionality. The project provides comprehensive documentation covering setup, hardware configuration, and API usage, alongside example code repositories demonstrating SDK capabilities. Support infrastructure includes Visual Studio Code integration and command-line tooling for multiple platforms, indicating attention to developer experience across different environments.