This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2530: CC2530 does not respond on UART after flashing with ZNP firmware

Part Number: CC2530
Other Parts Discussed in Thread: Z-STACK

I am trying to get the ZNP firmware working on the CC2530. I want to use ZigBee by sending commands to the CC2530 over the serial port. The problem is that the CC2530 does not respond to serial communication.

This is what I tried:

  • I download and install Z-Stack 3.0.0 (www.ti.com/.../Z-STACK).
  • I flash the chip with Projects/zstack/ZNP/CC253x/bin/CC2530ZNP-SB.hex.
  • I set RESET_N to low, then to high.
  • I wait 60 seconds for the bootloader to expire.
  • I send fe0141000141 (SYS_RESET_REQ).
  • I expect a response within a few seconds, but don't receive one.


I connected the CC2530 according to the "Alternate pin configuration" as described in Documents/API/Z-Stack ZNP Interface Specification.pdf.

CC2530 UART
P0_2 RX <--> TX
P0_3 TX <--> RX
P0_4 CT <--> RTS
P0_5 RT <--> CTS


I use a baud rate of 115200. I did not connect CFG0 or CFG1.

Why doesn't the CC2530 respond on the serial port? How can I solve this?

Is CC2530ZNP-SB.hex the correct firmware to use? Does it indeed contain the bootloader that runs the main code after a minute? The documentation describes several pin configurations, which one should I use? Do I need to do anything with CFG0 or CFG1? Does the firmware by default use UART or SPI communication?

  • What CC2530 EVB do you use? Is it CC2530DK?
  • I have this board, and I use an Arduino Teensy with CCLib to write the firmware to it. CCLib verifies that the code is written correctly, and I was able to run a blinking led program on the CC2530 with it, so I am confident it writes to the chip correctly.

    For serial connection I also use the Teensy, with RTS and CTS enabled.

  • I suggest you to use ZTool and see if ZTOOL can recognize this EVB.
  • By the way, CC2530ZNP-SB.hex is boot loader only so your ZTool cannot recognize it. You have to build ZNP hex by yourself in Z-Stack 3.0.
  • Thank you, that is most useful information.

    I am currently trying to get it to work with the firmware compiled myself. I do this by opening Projects/zstack/ZNP/CC253x/znp.eww in IAR Embedded Workbench (evaluation license). I set the output format to "intel-extended" in the project options under linker output. I build the CC2530 - Debug project.

    I haven't got it working yet, but at least I have something new to try.

  • Since you use IAR to build ZNP, you can download ZNP firmware directly form IAR and don't need to change output format.
  • I compiled the firmware using the evaluation version of IAR. This worked correctly after I also connected CFG1 to ground, so that UART instead of SPI interface is used. I used the "Alternate pin configuration" as described in the docs (Z-Stack ZNP Interface Specification.pdf). The latest version of this document, shipped with Z-Stack 3.0.0, doesn't mention what CFG1 does at all, which I think is a pretty big omission. It controls wheter SPI (high) or UART (low) communication is used.

    I also changed the firmware a bit so that it flashes a LED on a particular place. This way, I could determine what the firmware was actually doing.

    Z-Tool now also recognizes my device. Thank you very much for your help, YiKai Chen!

  • You are welcome and it's good to know it works now.