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 v4.4.4 release
$ git clone -b v4.4.4 --recursive https://github.com/espressif/esp-idf.git $ cd esp-idf $ ./install.sh
To update an existing esp-idf toolchain to v4.4.4:
$ cd path/to/esp-idf $ git fetch origin $ git checkout v4.4.4 $ git reset --hard origin/v4.4.4 $ git submodule update --recursive --init $ git clean -fdx $ ./install.sh
For ESP32C6 & ESP32H2, please use commit 47852846d3.
$ cd esp-idf $ git checkout 47852846d3 $ git submodule update --init $ ./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.
For MacOS, gdbgui
python package will not be installed using bootstrap.sh
script as it is restricted only for x64 Linux platforms. It is restricted because, building wheels for gevent
(dependency of gdbgui
) fails on MacOS.
For ARM-based Mac, no further installation steps are necessary if Python3 version is greater than or equal to 3.11.
If Python3 version is less than 3.11 or you are using x86(Intel-based) Mac then please run the below commands after every bootstrapping to install gdbgui wheels as binary
python3 -m pip install -c scripts/setup/constraints.txt --no-cache --prefer-binary gdbgui==0.13.2.0 deactivate
Once IDF and Matter environment is set up, head over to application building and commissioning guide.