Damien Kastner

Registered on 12/10/2025 • Last connection on 12/19/2025

ZBOSS NCP Serial Protocol

Hello,


I am using the nRF52 series SoC from Nordic Semiconductor and work on a solution that communicates directly to the NCP running on the SoC without the ZBOSS NCP Host library.

Using the Zigbee R22 that Nordic was using in older NCS versions (ZBOSS Stack 3.x.x.x), I was able to communicate with the NCP following the ZBOSS NCP Serial Protocol, version 1.5 (https://cloud.dsr-corporation.com/s/BAn4LtRWbJjFiAm?dir=/&openfile=true) that is publicly available.

But now, I see that quite some changes have been made and I would like to know where I could find a more recent version of that Serial Protocol that is used by the NCP using Stack version 4.x.x.x.


Thank you in advance.

RE: ZBOSS NCP Serial Protocol

Hello,


Thanks for the link :)


I noticed something strange. As said, I am using the nordic SoC, and the latest NCP sample I can build from is using ZBOSS Stack version 4.2.2.0.

Once I communicate with the NCP from the host, I get this frame for APSDE Data Indication:

RX: b'DE:AD:42:00:06:CC:27:23:CB:00:02:06:03:16:1E:00:40:2F:87:00:00:00:00:01:01:00:00:04:01:E9:2F:87:00:00:C0:D3:00:00:18:03:01:04:00:00:42:04:45:4C:4B:4F:05:00:00:42:0D:45:6C:6B:6F:44:69:6D:6D:65:72:5A:48:41'


I underlined the Frame Type (0x02), the Command ID (0x0306) and the Param Length (0x16).


But in both ZBOSS Serial Protocol documents (v1.5 and v1.6), the Param Length is always supposed to be fixed at 21 bytes (0x15).

My question is, why is the stack sending APSDE data indication with a Param Length of 22 bytes and not 21, and why is it not specified in the Protocol documentation?


Best regards,

Damien

RE: ZBOSS NCP Serial Protocol

Hello,


Here is the info:

  • Nordic SDK version: NCS v2.9.2
  • SoC chip: nRF52840 (using nRF52840 DK)
  • The host application is a custom software that interfaces with the NCP directly over serial (using ZBOSS NCP Serial Protocol). That means the ZBOSS library is not used on the host side, only the NCP.
  • The Zigbee NCP sample (firmware) comes from the ncs-zigbee add-on v1.2.1, which pulls NCS v2.9.2.


After flashing my DK with the NCP sample, I send a version request from the host side. This is what I get:


Current NCP versions:

FW: 0.2.9.2 (this is set in my code when building the NCP sample)

Stack: 4.2.2.0

Protocol: 0.0.0.0


Raw data:

2025-12-18 09:17:43,498 [INFO]: Opened /dev/ttyUSB1 serial port

2025-12-18 09:17:43,500 [DEBUG]: TX: b'DE:AD:0C:00:06:C0:7C:DC:5A:00:00:01:00:00'

2025-12-18 09:17:43,512 [DEBUG]: RX: b'DE:AD:05:00:06:01:8F'

2025-12-18 09:17:43,513 [DEBUG]: RX: b'DE:AD:1A:00:06:C8:E7:DB:49:00:01:01:00:00:00:00:02:09:02:00:00:02:02:04:00:00:00:00'

2025-12-18 09:17:43,513 [DEBUG]: TX: b'DE:AD:05:00:06:21:11'


Best regards.