This tutorial introduces how to use the Module Gateway H2 together with the CoreS3 controller to run the ESP Zigbee Host/NCP example program. ESP Zigbee NCP (Network Co-Processor) is a network co-processor mode that runs the Zigbee protocol stack on a separate processor and communicates with the main processor via a serial port. This architecture allows the main processor to focus on application-layer logic while delegating Zigbee network-related processing to the co-processor. Refer to the tutorial below to flash the ESP Zigbee NCP firmware to the Module Gateway H2 and the ESP Zigbee Host firmware to the CoreS3, thereby creating a Coordinator node.
v5.3.1
for compiling this example.git clone --recursive https://github.com/espressif/esp-idf.git
cd esp-idf
git checkout v5.3.1 # recommend
./install.sh
. ./export.sh
clone --recursive
to recursively clone the ESP-Zigbee-SDK repositorygit clone --recursive https://github.com/espressif/esp-zigbee-sdk.git
cd esp-zigbee-sdk
idf.py
depend on ESP‑IDF. Before running the commands, execute . ./export.sh
in ESP‑IDF to activate the relevant environment variables. For detailed instructions, please refer to the ESP-IDF - Getting Started with ESP32S3 Tutorial.esp32h2
.cd examples/esp_zigbee_ncp
idf.py set-target esp32h2
idf.py menuconfig
idf.py menuconfig
to enter the configuration menu. In menuconfig, configure the device pin settings under:Component config
→ Zigbee Network Co-processor
- Component config → Zigbee Network Co-processor
- UART RX Pin: 23
- UART TX Pin: 24
- Component config → ESP Zigbee → Configure the Zigbee device type
- Zigbee Coordinator or Router device # or Zigbee End Device
idf.py build
idf.py erase_flash
idf.py flash # modify according to your actual port
esp32s3
.cd examples/esp_zigbee_host
idf.py set-target esp32s3 # for CoreS3
idf.py menuconfig
idf.py menuconfig
to enter the configuration menu. In menuconfig, configure the device pin settings under:Component config
→ Zigbee NCP Host
- Component config → Zigbee NCP Host
- UART RX Pin: 10
- UART TX Pin: 17
idf.py build
idf.py flash
idf.py monitor
or other serial debugging tools at 115200bps to view the runtime logs.Normal runtime log contents: