Modern software development for embedded systems

Get started

Create a new project, integrate Pigweed into an existing project, browse example apps, or contribute to upstream Pigweed

What is Pigweed?#


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


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


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


Turnkey solutions for new projects that want to make full use of everything that Pigweed offers

Who’s using Pigweed?#

Pigweed has shipped on millions of devices.

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#

What’s new in Pigweed#

Highlights (May 2, 2024 to May 16, 2024):

  • Coroutines: You can now create asynchronous tasks using C++20 coroutines.

  • Rust with Bazel: The Rust toolchain can now be used by downstream projects using Bazel.

  • More MCUXpresso support: Several modules have additional support for projects built using the NXP MCUXpresso SDK, including multiple core support in pw_build_mcuxpresso, a new initiator in pw_i2c_mcuxpresso, a new responder in pw_spi_mcuxpresso, and a new pw_dma_mcuxpresso module.

See May 16, 2024 in our changelog for details.

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 Jun 03, 2024 1PM (PDT). Please join us to discuss what’s new in Pigweed and anything else Pigweed-related.


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