Setup ESP-IDF and Matter Environment

Setting up IDF and Matter environment is one time setup.

Setup ESP-IDF (Espressif IoT Development Framework)

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.

Install Prerequisites

Get IDF v5.1

  • Clone ESP-IDF v5.1 release

    git clone -b v5.1 --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:

    cd path/to/esp-idf
    git fetch --depth 1 origin v5.1
    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
    

Setup Matter environment

Install Prerequisites

Bootstrap Matter environment

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.