CC1352P-2 via serial (ESP8266) - failed to connect

Dear fellow Z2M users,

I need some help to make the newly received CC1352P-2 work remotely via serial with a connected esp8266.

The CC1352P-2 is flashed with the latest firmware (CC1352P_2_20200312.hex) and works when directly connected to a synology - at least zigbee2mqtt starts and finds the CC1352.

For various reasons I’d like to make it work over serial, at least for now, and set up an esp8266 as described in the z2m docs: ESPEasy with serial server device, connected the CC1352 (ESP TX -> DIO12, ESP RX -> DIO13, ESP VCC -> 3.3V, ESP GND -> GND). I also removed the TX and RX jumpers on the CC1352. Z2M port is configured to ‘tcp://’, rtscts=false. The CC1352 is powered via USB cable (charger), the esp8266 is powered from the CC1352 pins (3.3V).

I’m able to establish a connection via telnet, but don’t receive any data. When starting Z2M, I get the following in the log:

zigbee2mqtt:info  2020-04-05 12:06:11: Starting zigbee2mqtt version 1.12.0-dev (commit #3ef7555)
winston:file written true false
zigbee2mqtt:info  2020-04-05 12:06:11: Starting zigbee-herdsman...
winston:file written true false
zigbee2mqtt:debug 2020-04-05 12:06:11: Using zigbee-herdsman with settings: '{"network":{"panID":6755,"extendedPanID":[221,221,221,221,221,221,221,221],"channelList":[11],"networkKey":"HIDDEN"},"databasePath":"/app/data/database.db","databaseBackupPath":"/app/data/database.db.backup","backupPath":"/app/data/coordinator_backup.json","serialPort":{"baudRate":115200,"rtscts":false,"path":"tcp://"},"adapter":{"concurrent":null}}'
winston:file written true false
  serialport/bindings loading LinuxBinding +0ms
  serialport/stream .list +0ms
winston:file logged 85 info  2020-04-05 12:06:11: Starting zigbee2mqtt version 1.12.0-dev (commit #3ef7555)

winston:file logged 140 info  2020-04-05 12:06:11: Starting zigbee-herdsman...

winston:file logged 577 debug 2020-04-05 12:06:11: Using zigbee-herdsman with settings: '{"network":{"panID":6755,"extendedPanID":[221,221,221,221,221,221,221,221],"channelList":[11],"networkKey":"HIDDEN"},"databasePath":"/app/data/database.db","databaseBackupPath":"/app/data/database.db.backup","backupPath":"/app/data/coordinator_backup.json","serialPort":{"baudRate":115200,"rtscts":false,"path":"tcp://"},"adapter":{"concurrent":null}}'

winston:file file open ok data/log/2020-04-05.12-06-10/log.txt
  zigbee-herdsman:controller:log Starting with options '{"network":{"networkKeyDistribute":false,"networkKey":[37,144,6,222,52,17,32,164,162,241,0,75,88,197,12,134],"panID":6755,"extendedPanID":[221,221,221,221,221,221,221,221],"channelList":[11]},"serialPort":{"baudRate":115200,"rtscts":false,"path":"tcp://"},"databasePath":"/app/data/database.db","databaseBackupPath":"/app/data/database.db.backup","backupPath":"/app/data/coordinator_backup.json","adapter":{"concurrent":null}}' +0ms
  zigbee-herdsman:adapter:zStack:znp:log Opening TCP socket with +0ms
  zigbee-herdsman:adapter:zStack:znp:log Socket connected +78ms
  zigbee-herdsman:adapter:zStack:znp:log Socket ready +0ms
  zigbee-herdsman:adapter:zStack:znp:log Writing skip bootloader payload +1ms
  zigbee-herdsman:adapter:zStack:unpi:writer --> buffer [239] +0ms
  zigbee-herdsman:adapter:zStack:znp:SREQ --> SYS - ping - {"capabilities":1} +0ms
  zigbee-herdsman:adapter:zStack:unpi:writer --> frame [254,0,33,1,32] +1s
zigbee2mqtt:error 2020-04-05 12:06:18: Error while starting zigbee-herdsman
winston:file written true false
zigbee2mqtt:error 2020-04-05 12:06:18: Failed to start zigbee
winston:file written true false
zigbee2mqtt:error 2020-04-05 12:06:18: Exiting...
winston:file written true false
zigbee2mqtt:error 2020-04-05 12:06:18: Error: Failed to connect to the adapter (Error: SRSP - SYS - ping after 6000ms)
    at ZStackAdapter.<anonymous> (/app/node_modules/zigbee-herdsman/dist/adapter/z-stack/adapter/zStackAdapter.js:71:23)
    at Generator.throw (<anonymous>)
    at rejected (/app/node_modules/zigbee-herdsman/dist/adapter/z-stack/adapter/zStackAdapter.js:6:65)
winston:file written true false

It looks like a connection is established, but then I get the dreaded “Failed to connect to adapter”.

  • Was anybody able to make this (esp8266 + cc1352) work?
  • What should I see when connection via telnet ? Is there an other way to test the remote connection ?
  • Is this correct: the pins of the cc1352 are 3.3V, no logic level converter is needed between the cc1352 and the esp8266 ?

I’d be thankul for any pointers to make the serial connection work.

Kind regards,

Little question : where is the link with the documentation to connect a CC1352P-2 with an esp ?

There’s no documentation for this exact combination. There is documentation for connection an esp8266 to a cc2530:

And there is at least someone who connected the very similar CC2652R to a serial-to-ethernet connector:

Ok, that’s why I did not find anything. It it the only thing that keeps me changing to one of the newer boards. My CC2530/CC2591/ESP01 combination is in the middle of the house, if I have one of the newer boards I have to move it again to the back of the house where my PI’s are.

To follow up on this, just in case somebody else is going down the same route:

I was able to connect the CC1352P-2 with a serial2ethernet converter, the CC1352 being powered via USB with an POE splitter, and the S2E converter from the pins of the CC1352 board (3.3V).

I didn’t need a logic level converter (S2E running on 3.3V).

Important bits of the zigbee2mqtt configuration:

  port: 'tcp://'
  pan_id: 6757
  baudrate: 115200
  rtscts: false

Use the IP and the local port of the S2E converter to configure the serial port, and set rtscts to false. Also, pan_id must be changed from what was used before.

At some point, I deleted database.db and had to repair all devices. I’m not sure if it is possible to upgrade without repairing.

Most important: I’m running zigbee2mqtt in docker on a synology, and only the dev release of zigbee2mqtt was able to connect over tcp! Other releases (latest) complained about not finding a device on /dev/tty... and shut down.

This setup is working now for about week and seems to be stable. I didn’t yet reconnect the 2 ikea zigbee repeaters nor the diy CC2530 router (, it looks like this is not necessary anymore.

I’m pretty sure this would also work with the Esp8266+espEasy over wifi. Key for me was to make it first work on a local zigbee2mqtt instance before making it work with docker.

Hope this may help someone.

1 Like

Hi everyone, Just wanted to pass my experience to all of you. I have managed to get the CC1352P-2 to work with a D DOLITY -06 Wireless WiFi Serial Port TTL WiFi Transmission Module HC-06 (
I am powering the CC1352P-2 using a 12v UPS 3A 5v 9v NBN PHONES MODEMS EFTPOS CCTV LITHIUM RECHARGEABLE BATTERY which will provide almost 24hr power to CC1352P during power failure.

I have connected the TTL Wifi card to CC1352 as follows
CC1352P - TTL Wifi
3.3v - vcc
ground - ground
DIO12 - TX
DIO13 - RX

On your computer (with wifi facility) look for the TTL-wifi card and connect to it (Doit_WiFi).
find out the ip address of the TTL-Wifi and go on to the web interface using the ip address.
Then go on to module and select wifi

Disable Soft AP Setting
Enable Station Settings
type in ssid name of your wifi router or select from list
insert password of your wifi router.
Disable DHCP
Assign your desired wifi ip address in my case I had assigned
Assign gateway ip address - this is your router ip address - in my case it is
once done save it and restart the TTL-wifi and login using the new static ip address - in my case

Once in the webpage got to module and select network and update the TCP Server Port as per the image below

save and go to module - serial and change boudrate to 115200
save and restart

go into zigbeetomqtt and uppdate the config.yaml
I highlighted the ip and port which have to be used in the configuration.yaml of zigbee2mqtt:
port: ‘tcp://’
baudrate: 115200
rtscts: false

  • this is my static ip address of the ttl-wifi. yours will be what ever you have setup

Don’t forget to change the pan_id when migrating from a CC2531 as I did.