Pigweed#
Sustained, robust, and rapid embedded product development for large teams
Get started#
What’s new in Pigweed?#
Highlights:
Kernel: Async IPC - Added non-blocking IPC syscalls to
pw_kernel.C++ data structures and utilities: Dynamically allocated maps with pw::DynamicMap - A new sorted map container that uses a caller-provided
pw::Allocatorto dynamically allocate nodes.Kernel: Process termination and ownership -
pw_kernelprocesses can now be terminated from inside or outside of the process, and the new process ownership model makes it possible to wait for a process to terminate.Toolchains and compilers: Access toolchain tools through Bazelisk - The active toolchain’s tools (e.g.
objdump,readelf, etc.) can now be used interactively viabazelisk run.Async and concurrency: Handle futures of varying types with BoxedFuture -
BoxedFutureuses type-erasure and dynamic allocation to make it easier to work with futures of different types.
And more! See What’s new in Pigweed: March 2026.
What is Pigweed?#
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#
Talk to us#
Our next Pigweed Live is Mon May 04, 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.