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:
-
Download Python, if you haven’t already.
-
Install Python and make sure to include path.
-
Follow this extract from Electrolama’s Upgrading Guide:
-
Download the zipped code (cc2538-bsl-master) and extract to a folder.
-
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 -
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.) -
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”.
-
Click the address bar, and type “cmd” and hit enter (Follow pictures below)
-
A command prompt will open with the path within the folder as such:
-
STOP Zigbee2MQTT/ZHA
-
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”)
-
Click “Toggle” next to “Prep the cc2652p2 for firmware update” to put the Coordinator in BSL Mode.
-
You are ready to upgrade the firmware when the Debug Log shows:
-
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
- 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.