This page covers first setup and first successful device run.
You need:
gitpython3- ESP-IDF installed locally
- serial port access for flashing
Recommended host OS:
- macOS
- Linux
Official install pages:
- Python 3: https://www.python.org/downloads/
- Git: https://git-scm.com/downloads
- ESP-IDF / EIM: https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/ and https://docs.espressif.com/projects/idf-im-cli/en/latest/
git clone <your-repo-url>
cd esp32-c6-matter
git submodule update --init --recursivecd esp-matter
./install.sh
cd ..Recommended flow:
- install ESP-IDF with Espressif Installation Manager (
eim) - at end of EIM wizard, save or export config file
- copy that file to repo root as
eim_config.toml
Minimal repo-local config also works if you only want path detection:
idf_path = "/Users/<you>/.espressif/v5.5.2/esp-idf"Repo tooling checks eim_config.toml before IDF_PATH.
python3 tools/detect_env_paths.py
python3 tools/light_pipeline.py doctorIf you want shell exports:
python3 tools/detect_env_paths.py
python3 tools/detect_env_paths.py --activate-shellESP-IDF detection order:
eim_config.tomlIDF_PATH- common install locations such as
~/esp-idf,~/esp/esp-idf, and~/.espressif/.../esp-idf
python3 tools/light_pipeline.py run \
--count 1 \
--vendor-id 0xFFF1 \
--product-id 0x8000 \
--vendor-name "My Vendor" \
--product-name "My Thread Light"This does:
- generate or reuse manifest
- build firmware
- generate factory data
- generate onboarding data
- generate labels
python3 tools/light_pipeline.py flash \
--port /dev/ttyUSB0 \
--serial-index 1python3 tools/light_pipeline.py run \
--count 1 \
--vendor-id 0xFFF1 \
--product-id 0x8000 \
--vendor-name "My Vendor" \
--product-name "My Thread Light" \
--port /dev/ttyUSB0 \
--serial-index 1Use --dry-run before erase or flash operations:
python3 tools/light_pipeline.py run --count 1 --dry-run
python3 tools/light_pipeline.py flash --port /dev/ttyUSB0 --serial-index 1 --dry-run- hardware assumptions:
hardware.md - pipeline behavior:
pipeline.md - CLI options:
cli.md