Clone this repo:


  1. eee19b9 [third_party/pigweed] Roll 19 commits by pigweed-roller · 2 hours ago main
  2. cd1921a [third_party/pigweed] Roll 4 commits by pigweed-roller · 26 hours ago
  3. aec6925 [third_party/pigweed] Roll 8 commits by pigweed-roller · 2 days ago
  4. 0b53f70 [third_party/pigweed] Roll 11 commits by pigweed-roller · 3 days ago
  5. 4e7331d [third_party/pigweed] Roll 18 commits by pigweed-roller · 6 days ago


Getting Started

  1. Clone the repo

    git clone
  2. Source to download all compilers and tooling into the environment directory:

    . ./

    This should init all git submodules for you.

  3. From here on the Pigweed environment is activated. You can activate the environment in a new shell without re-running bootstrap by sourcing

    . ./


Build for the host and device by running:

pw build

This is mostly a shortcut with nice output for running gn gen out/gn and ninja -C out/gn.

The build commands are defined in: //tools/gonk_tools/



Run the host app and connect to it via pw-system-console:

./out/gn/host_device_simulator.speed_optimized/obj/applications/system_example/bin/system_example & \
  pw-system-console --socket-addr default \
    --proto-globs third_party/pigweed/pw_rpc/echo.proto ; \
  killall system_example

On device


openocd -s $PW_PIGWEED_CIPD_INSTALL_DIR/share/openocd/scripts \
  -f $GONK_ROOT/targets/stm32f769i_disc0_stm32cube/openocd_stm32f7xx.cfg \
  -c "program out/gn/stm32f769i_disc0_stm32cube.size_optimized/obj/applications/system_example/bin/system_example.elf reset exit"

Updating STM32Cube

Checkout the desired commits in each of these submodules:


Then run from Gonk root:

python -m pw_stm32cube_build gen_file_list third_party/stm32cube_f7