pdf-icon

Product Guide

Real-Time AI Voice Assistant

Offline Voice Recognition

Thread

Module Gateway H2

IoT Tools

IoT Cloud

Ethernet Camera

Develop Tools

DIP Switch Usage Guide

Module GPS v2.0

Module GNSS

Module ExtPort For Core2

ESP Zigbee NCP

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.

1. Preparations

ESP-IDF version
It is recommended to use ESP-IDF version 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
  • 2.Use the Git command clone --recursive to recursively clone the ESP-Zigbee-SDK repository
git clone --recursive https://github.com/espressif/esp-zigbee-sdk.git
cd esp-zigbee-sdk

2. Compiling the NCP Firmware

  • 1.Refer to the commands below to navigate to the corresponding NCP firmware directory and set the build target to esp32h2.
cd examples/esp_zigbee_ncp
idf.py set-target esp32h2
idf.py menuconfig
  • 2.Use idf.py menuconfig to enter the configuration menu. In menuconfig, configure the device pin settings under:
    Component configZigbee 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
  • 3.Execute the following commands to build, erase flash, and flash the NCP firmware:
idf.py build
idf.py erase_flash
idf.py flash # modify according to your actual port

3. Compiling the HOST Firmware

  • 1.Refer to the commands below to navigate to the corresponding HOST firmware directory and set the build target to esp32s3.
cd examples/esp_zigbee_host
idf.py set-target esp32s3 # for CoreS3
idf.py menuconfig
  • 2.Use idf.py menuconfig to enter the configuration menu. In menuconfig, configure the device pin settings under:
    Component configZigbee NCP Host
- Component config → Zigbee NCP Host
  - UART RX Pin: 10
  - UART TX Pin: 17
  • 3.Execute the following commands to build and flash the HOST firmware:
idf.py build
idf.py flash

4. Getting Started

  • Connect the CoreS3 and the Module Gateway H2.

  • Connect the CoreS3 to your computer.

  • Use idf.py monitor or other serial debugging tools at 115200bps to view the runtime logs.

Normal runtime log contents:

  • The NCP side shows that the Zigbee protocol stack has initialized successfully.
  • The Host side shows a successful connection to the NCP.
  • Zigbee network creation successful (Coordinator mode).
On This Page