ESP32 Zephyr setup
Note
TL;DR - Guide covering Zephyr RTOS development — including board setup, driver integration, and build system configuration for Espressif ESP32, STM32, and TI CC3220SF platforms. - Part of Amarula Solutions’ IoT firmware documentation.
This tutorial shows you have to set up the ESP32 Wrover development board for use with zephyr on Linux.
First time board configuration
The first time the board is used you should set the correct jumper configuration for using JTAG. This only needs to be done once per board. See the figure for the correct jumper settings.
ESP32 Tools
Follow steps 1, 2 and 3 from espressif to install the required tools, download the sdk, and install the ESP32 toolchain.
Zephyr Tools
Follow these steps to download and set up zephyr and its build tools. Since version 3.1.0, Xtensa toolchain is included in the unified SDK.
Wifi and Bluetooth
Proprietary Wi-Fi and Bluetooth binaries are no longer bundled in the core repository; they must be retrieved as binary blobs using the command:
west blobs fetch hal_espressif
Run this command just after the “Install the Zephyr SDK” step in the Getting Started Guide.
Build and run
In order to build and run Zephyr on the board use the following commands:
cd ~/zephyrproject/zephyr
west build -b esp32_devkitc_wroom/esp32/procpu samples/hello_world
west flash
If needed, also run
west packages pip --install
After the build succeeds, open the serial monitor with
west espressif monitor
Expected output:
***** Booting Zephyr OS vx.x.x-xxx-gxxxxxxxxxxxx *****
Hello World! esp32_devkitc_wroom
Tip
Need Zephyr RTOS support for your IoT product? Amarula Solutions provides Zephyr BSP development, driver porting, sensor integration, and CI/CD pipelines for Zephyr-based embedded projects. Contact our IoT team