# CHIP ESP32 Pigweed Example Application Please [setup ESP-IDF and CHIP Environment](../../../docs/platforms/esp32/setup_idf_chip.md) and refer [building and commissioning](../../../docs/platforms/esp32/build_app_and_commission.md) guides to get started. --- - [Introduction](#introduction) - [Testing the Example Application](#testing-the-example-application) --- ### Introduction The ESP32 example demonstrates the usage of Pigweed module functionalities in an application. The example is based on [CHIP](https://github.com/project-chip/connectedhomeip), the [Pigweed](https://pigweed.googlesource.com/pigweed/pigweed) module, which is a collection of libraries that provide different functionalities for embedded systems, and the ESP32 platform. You can use this example as a training ground for making experiments, testing Pigweed module features and checking what actions are necessary to fully integrate Pigweed in a CHIP project. Pigweed functionalities are being gradually integrated into CHIP. Currently, the following features are available: - **Echo RPC** - Creates a Remote Procedure Call server and allows sending commands through the serial port to the device, which makes echo and sends the received commands back. ### Testing the Example Application Run the following command to start an interactive Python shell, where the Echo RPC commands can be invoked: python -m pw_hdlc.rpc_console --device /dev/tty.SLAB_USBtoUART -b 115200 $CHIP_ROOT/third_party/pigweed/repo/pw_rpc/pw_rpc_protos/echo.proto -o /tmp/pw_rpc.out To send an Echo RPC message, type the following command, where the actual message is the text in quotation marks after the `msg=` phrase: rpcs.pw.rpc.EchoService.Echo(msg="hi")