Flashing CC2531 without CC Debugger

The easiest way to flash CC2531 Zigbee USB sniffer

I’m switching to Zigbee2MQTT for now. If you want to know if you should too, I talked about the differences between Zigbee Hubs and the DIY approach before. While this method is mentioned in the original documentation, I found that I have been postponing the process forever because of how complicated and obscure flashing CC2531 without CC Debugger is at first glance. If you recently bought the Zigbee USB sniffer and like me discovered “I need to buy a $10 CC Debugger and wait 40 days for it to arrive”. This is the post for you!

Requirements

Flashing CC2531 without CC Debugger will need you to have the following items available to you:

  • CC2531 (obviously, shop on aliexpress, banggood or gearbest)
  • 4 jumper cables (that you don’t mind cutting in half)
  • Soldering Iron (and steady hands, I use this one)
  • Raspberry Pi (of some sorts)

If you are interested in home automation, and you have not tried Raspberry Pi to date, you are doing yourself a massive disservice. I know it may seem silly to buy one just for flashing the CC2531 USB stick, but in all honesty, Raspberry Pi Zero costs $5 and can be used to run your whole automation, and CC Debugger will be used once and will set you back almost a $10.

Zigbee CC2531
Support NotEnoughTech
Buy Zigbee CC2531
Use Zigbee2MQTT to control your Zigbee enabled devices.

USB Zigbee stick CC2351

Soldering iron and 4 jumper wires are needed, as the debug pins on the CC2351 are smaller than your usual breadboard pins. It’s ok if you have a correct header, otherwise, you will have to bend the pins a little, cut the wires and solder it to the pins.

It’s not a difficult task and you will need only 4 wires. If you are clever enough, you will use the wires matching the Raspberry Pi’s header and long enough to reach directly to its header.

Pay attention to the pinout below, and once the CC2351 is connected via USB AND GPIO go through the instructions below:

Raspberry PiCC2531
GNDGDN
Pin 38DD
Pin 36DC
Pin 35RST

Flashing CC2531 without CC Debugger

  1. Check if WiringPi is installed (should be) by running gpio -v if you don’t see the version in the output here are the complete instructions.
  2. Clone flash it to your Raspberry Pi:
    git clone https://github.com/jmichault/flash_cc2531.git
  3. Navigate to the folder cd flash_cc2531 and see if the USB device is wired correctly running: ./cc_chipid
  4. You should see ID = b524. if any other outcome is given, check your wires.
  5. Upload the latest firmware (unpack and use .hex file) CC2531_20190425.zip
  6. Clear the flash with ./cc_erase
  7. Upload new firmware using ./cc_write /path/to/CC2531ZNP-Prod.hex this will take about 3 min.
  8. Disconnect the wires and reboot the Raspberry Pi.

If you followed all the steps carefully, you should have your CC2531 flashed with the new firmware! Congratulations.

Conclusion

Honestly, I’m not sure why this method isn’t listed as the 1st one, but it needs some exposure. In the next tutorial, I will cover the installation of the Zigbee2MQTT and problems I came across while doing so. I hope this will make your time much easier! If you have any questions, please leave it in this Reddit thread.

Support NotEnoughTech
A lot of time and effort goes into keeping NotEnoughTech alive! If my work helped you out, consider buying me a coffee or check out exclusive rewards available to Patreon supporters.

SHARE