Upgrading Tube's CC2652P2 Based Zigbee to Ethernet Serial Coordinator Firmware

After making the jump and purchasing Tube’s brilliantly made Zigbee to Ethernet Serial Coordinator, I found myself trying to upgrade the Z-stack Firmware to the latest version but being the complete noob in python, it took me ages just to figure out how to get this done. As the documentation was missing more in-depth information regarding the execution of python, I’m making this guide to help my fellow programming noobs in their attempt to upgrade their Z-stack Firmware for the first time. As I’m working on a Windows machine, the guide below will be how to upgrade the firmware on Windows.

Steps to upgrade Tube’s CC2652P2 Zigbee to Ethernet Serial Coordinator Firmware:

  1. Download Python, if you haven’t already.

  2. Install Python and make sure to include path.

  3. Follow this extract from Electrolama’s Upgrading Guide:

  4. Download the zipped code (cc2538-bsl-master) and extract to a folder.

  5. Download the CORRECT firmware to be used for upgrade (CC1352P2_CC2652P_launchpad_*.zip)
    (WARNING: It will not work correctly if you download the wrong firmware)
    * = version number

  6. Extract the CC1352P2_CC2652P_launchpad_coordinator_*.hex file from the .zip file downloaded above in Step 5 to folder “cc2538-bsl-master”.
    (Not a necessity but easier to navigate when all files are found together.)

  7. Open the folder “cc2538-bsl-master” that has been extracted (Step 4). In my case, I extracted the folder to my desktop so the path is, “C:\Users\admin\OneDrive\Desktop\cc2538-bsl-master”.

  8. Click the address bar, and type “cmd” and hit enter (Follow pictures below)



  9. A command prompt will open with the path within the folder as such:

  10. STOP Zigbee2MQTT/ZHA

  11. Launch Chrome (Or any browser of your choosing) and open “http://tube_zb_gw_cc2652p2.local” or “http://COORDINATOR IP ADDRESS” (e.g. “http://192.168.1.150”)

  12. Click “Toggle” next to “Prep the cc2652p2 for firmware update” to put the Coordinator in BSL Mode.

  13. You are ready to upgrade the firmware when the Debug Log shows:

  14. Go back to the command promt (Step 9) and type
    python cc2538-bsl.py -p socket://COORDINATOR IP ADDRESS:6638 -evw FIRMWARE

  • COORDINATOR IP ADDRESS = IP address for your Zigbee Coordinator (e.g. 192.168.1.150) or “tube_zb_gw_cc2652p2.local”
  • FIRMWARE = folder path/CC1352P2_CC2652P_launchpad_coordinator_*.hex
    e.g.
    python cc2538-bsl.py -p socket://192.168.1.150:6638 -evw C:\Users\admin\OneDrive\Desktop\CC1352P2_CC2652P_launchpad_coordinator_20210708.hex
  1. The upgrade is complete when you see:

Congratulations you have successfully upgraded the Z-stack firmware of your Tube’s CC2652P2 Based Zigbee to Ethernet Serial Coordinator. I’ll try my best to help answer any questions you may have. I’m not super active on these forums so the replies may take awhile. I hope this helps somebody out.

3 Likes

Just wanted to say thanks for this, couldn’t have done this without this guide, upgraded my coordinator this morning, took a few times, but finally got it updated!

1 Like

You’re very welcome. Glad to have been of help. It took awhile for me to figure it out so I wanted to be of help to someone in a similar situation.

Just wanted to add a note here in case someone comes across this when having some troubles upgrading to the firmware that was released in December 2022. Worked with Tube0013 as the firmware update was failing for me. Short story, if you have trouble, update the esphome firmware on the device. Here’s a link to the issue I opened on github for the guidance he provided. After doing this, the update went as expected.

I’ve been dragging my feet for almost a year, afraid to brick my coordinator while trying to flash it. I finally decided to do it tonight, and these instructions were a life-saver!

Thank you.

Thanks for adding this note, I’m sure anyone who comes this post will appreciate the update. I have not been tinkering in the smart home world for a year now so I won’t be able to provide updates unfortunately. I will will pin up this note as a Solution for other user’s reference. Have a great day ahead!

I’m glad you’ve found it helpful. It was a daunting task for me too and the lack of readily available resources certainly did not help. Hope everything went smoothly. Let me know if you have any feedback, I will update the post accordingly if it makes it easier to understand.