Recently launched by Google in developer preview, the Pigweed SDK aims to make it easier to develop, debug, test, and deploy embedded C++ applications. At the heart of the SDK lies Bazel, Google’s own build system, which has been extended to better support workflows and requirements typical of embedded development.
The Pigweed SDK leverages the Pigweed collection of embedded programming libraries that Google launched a few years ago and enhances it through a tool ecosystem that includes a Clang/LLVM toolchain, an interactive REPL, IDE integration, and more.
Pigweed’s modern and modular approach makes it easy to design applications with significantly reduced debugging and maintenance overhead, thus making it a perfect choice for medium to large product teams.
Used in Google Pixel, Nest thermostats, DeepMind robots, as well as satellites and autonomous aerial drones, Pigweed is composed of many independent modules developers can adopt separately. For example, pw_presubmit provides an integrated suite of linters that are pre-configured for microcontroller developers; pw_target_runner runs tests in parallel across multiple devices; pw_watch is a watcher that automatically creates an image when a file is modified, flashes it to the device, and verifies it by running the specific tests affected by the code changes.
The SDK assists embedded developers in navigating complex processes such as hermetic building, flashing, and testing. It encourages structuring projects using hardware-neutral C++, facilitates communication with hardware through RPC, and enables simulation of Pico devices on host computers. The SDK supports cross-platform building on macOS and Linux, with anticipated support for Windows soon.
A key feature of the SDK is Sense, a comprehensive showcase project. Google describes Sense as a moderately-sized demonstration detailing how various Pigweed components can be integrated. It functions as a basic air quality monitor demonstrating real-world integrations like amalgamating various inputs and outputs and managing state machines. The project includes a tutorial that offers a detailed guide through the project’s code.
Furthermore, the SDK includes integration features with Visual Studio Code, providing enhancements for C++ and Starlark with intelligent code support and built-in Bazel command functionalities. This integration enables superior code navigation, completion, tooltips, and alerts alongside formatting options, thereby streamlining the use of Pigweed modules.
The SDK also extends support for GitHub Actions, demonstrating the use of automatic actions for PR pre-submission verifications and post-submission merges. These actions typically include code retrieval, Bazel installation, and project build and tests, with an optional linting phase.
Raspberry Pi has been collaborating closely with Google for nearly a year to integrate support for their Pico 1 and 2 devices into the Pigweed SDK.
The Pigweed project heavily utilizes Bazel, and the team sees it as a key to the future of embedded software engineering, facilitating easier prototype and product development for large-scale professional teams using RP2350.
According to Google, the Pigweed SDK aims to be the premier development framework for the Pico device lineup, which is currently widely accessible. This strategy allows developers to quickly start prototyping and eventually adapt the Pigweed SDK for customized hardware configurations with minimal changes required in the future.
Welcome to DediRock, your trusted partner in high-performance hosting solutions. At DediRock, we specialize in providing dedicated servers, VPS hosting, and cloud services tailored to meet the unique needs of businesses and individuals alike. Our mission is to deliver reliable, scalable, and secure hosting solutions that empower our clients to achieve their digital goals. With a commitment to exceptional customer support, cutting-edge technology, and robust infrastructure, DediRock stands out as a leader in the hosting industry. Join us and experience the difference that dedicated service and unwavering reliability can make for your online presence. Launch our website.