blob: 5a6728c44d8417fe01767733d62191dca98bea98 [file] [log] [blame] [view]
# 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
- [Linux](https://docs.espressif.com/projects/esp-idf/en/v5.1.2/esp32/get-started/linux-macos-setup.html#for-linux-users)
- [macOS](https://docs.espressif.com/projects/esp-idf/en/v5.1.2/esp32/get-started/linux-macos-setup.html#for-macos-users)
### Get IDF v5.1.2
- 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
```
## Setup Matter environment
### Install Prerequisites
- [Linux](https://github.com/project-chip/connectedhomeip/blob/master/docs/guides/BUILDING.md#installing-prerequisites-on-linux)
- [macOS](https://github.com/project-chip/connectedhomeip/blob/master/docs/guides/BUILDING.md#installing-prerequisites-on-macos)
### 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](build_app_and_commission.md).