Setting up IDF and Matter environment is one time setup.
Building the example application requires the use of the ESP-IDF and the xtensa-esp32-elf toolchain for ESP32 modules or the riscv-esp32-elf toolchain for ESP32C3 modules.
The VSCode devcontainer has these components pre-installed, so you can skip this step.
Clone ESP-IDF [v5.1.2 release](https://github.com/espressif/esp-idf/releases/tag/v5.1.2
git clone -b v5.1.2 --recursive --depth 1 --shallow-submodule https://github.com/espressif/esp-idf.git cd esp-idf ./install.sh
To update an existing esp-idf toolchain to v5.1.2:
cd path/to/esp-idf git fetch --depth 1 origin v5.1.2 git reset --hard FETCH_HEAD git submodule update --depth 1 --recursive --init # -ff is for cleaning untracked files as well as submodules git clean -ffdx ./install.sh
Execute the below command to bootstrap Matter environment. This script takes care of downloading GN, ninja, and setting up a Python environment with libraries used to build and test.
source scripts/bootstrap.sh
Whenever Matter environment is out of date, it can be updated by running above command.
In IDF v4.4.x, esptool
is part of the esp-idf repository, but in IDF v5.x, it is moved out as a Python package which can be installed using pip.
If you are using IDF v5.x or later, please install esptool
using the command below:
# Please make sure to run this command in the Matter Python environment python3 -m pip install esptool
Once IDF and Matter environment is set up, head over to application building and commissioning guide.