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.

Overview
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.

Sense: An interactive tour though Pigweed
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.

https://cs.opensource.google/pigweed/quickstart/bazel
More get started guides

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

Quickstart

What’s new in Pigweed?#

Highlights:

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

Platform overview#

Pigweed modules are building blocks and infrastructure that enable faster and more reliable embedded development.

Comms

Remote procedure calls (RPC), channels, and communication streams

Comms
Observability

Structured logging, tokenization, metrics, crash handling, and tracing

Observability
Async & concurrency

Cooperative multitasking, futures, and asynchronous primitives

Async & concurrency
Encoding & serialization

Protocol Buffers, JSON, Varint, Base64, and wire format serialization

Encoding & serialization
OS abstraction layers

Synchronization, threading, and portable RTOS abstractions

OS abstraction layers
Kernel

Embedded kernels, preemptive scheduling, and userspace isolation

Kernel
Memory & storage

Memory allocators, buffers, persistent flash storage, and key-value stores

Memory & storage
HALs

Hardware abstraction layer interfaces for timers, I2C, SPI, UART, and GPIO

HALs
Hardware support

Board support, hardware drivers, and SDK integrations for target platforms

Hardware support
Data structures & utilities

Embedded-safe collections, spans, strings, status, and error handling

Data structures & utilities
Testing

Unit testing frameworks, mocking, compilation tests, and fuzzing

Testing
Build systems

Bazel, GN, and CMake integrations and rules

Build systems

And more! See Platform.

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.

https://discord.gg/M9NSeTA
Monthly community meeting

Our next Pigweed Live is Mon Nov 16, 2026 1PM (PST). 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.

https://groups.google.com/g/pigweed
Issues

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

https://pwbug.dev