Pigweed#

Sustained, robust, and rapid embedded product development for large teams

Get started#


Overview

Understand the core components of Pigweed and determine whether Pigweed is a good fit for your project.

Tour of Pigweed

Explore key Pigweed features, such as hermetic building, full C++ code intelligence in VS Code, communicating with devices over RPC, host-side and on-device unit tests, and lots more in a guided walkthrough.

Bazel quickstart

Fork our minimal, Bazel-based starter project to create a new Pigweed project from scratch. The project includes a basic blinky LED program that runs on Raspberry Pi Picos and can be simulated on your development host.

More get started guides

Set up a C++-based Zephyr project, set up GitHub Actions, integrate Pigweed into an existing Bazel project, and more.

What’s new in Pigweed?#

Highlights:

  • Kernel: Async IPC - Added non-blocking IPC syscalls to pw_kernel.

  • C++ data structures and utilities: New dynamically allocated map - pw::DynamicMap is a new sorted map container that uses a caller-provided pw::Allocator to dynamically allocate nodes.

  • Kernel: Process termination and ownership - pw_kernel processes can now be terminated from inside or outside of the process, and the new ownership model makes it possible to wait for a process to terminate.

  • Toolchains and compilers: Newly exposed toolchain tools - The active toolchain’s tools (e.g. objdump, readelf, etc.) can now be used interactively via bazelisk run.

  • Async and concurrency: New PW_AWAIT macro - Simplified future polling with less boilerplate.

And more! See What’s new in Pigweed: March 2026.

What is Pigweed?#


Libraries

Over 150 libraries (“modules”) enabling you to use modern C++ and software development best practices without compromising performance, code size, or memory

Automation

Easier automated building, testing, and linting for Bazel, GN, and CMake projects

Environments

Hermetic and reproducible development environments for your entire team - no more struggling with toolchains and the “it worked on my machine” problem

Who’s using Pigweed?#

Pigweed has shipped in millions of devices, including Google’s suite of Pixel devices, Nest thermostats, satellites, and autonomous aerial drones.

Showcase: pw_console#

pw_console is our multi-purpose, pluggable REPL and log viewer. It’s designed to be a complete development and manufacturing solution for interacting with hardware devices via pw_rpc over a pw_hdlc transport. Gone are the days of hacking together a REPL and log viewer for each new project!

Using pw_console to interact with a device

Using pw_console to interact with a device#

Talk to us#


Chat room

For real-time discussion with the Pigweed team, head over to our Discord.

Monthly community meeting

Our next Pigweed Live is Mon Apr 06, 2026 1PM (PDT). Please join us to discuss what’s new in Pigweed and anything else Pigweed-related that’s on your mind. Join our mailing list to receive an invite to the next meeting.

Issues

Found a bug? Got a feature request? Please create a new issue in our tracker.