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.
Please run the below commands after every bootstrapping.
Workaround is 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.