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.

CC2650STK: Updating CC2650STK to latest firmware using Android app

Part Number: CC2650STK
Other Parts Discussed in Thread: CC2541, BLE-STACK

Hi,

I am an Android developer and have just begun exploring the features of SensorTag 2 (CC2650STK) with my app. The platform came with firmware 0.89 installed on it, and I was able to update the firmware to 1.12 using the this app from TI.

Version 1.12 seems to old. I have seen versions 1.20 and 1.5 being mentioned in various docs.

Which is the latest firmware available for SensorTag2 and how do I update the tag using the Android app? I don't have any JTAG debugger, CC debugger etc to program the firmware over wire, and I don't need to write custom firmware.

Thanks,

Harshad

  • Hi,

    The versions that you are referring to look like they may be for the CC2541 SensorTag. You can get the most recent ble-stack here: processors.wiki.ti.com/.../SensorTag_Firmware (ble-STACK 2.2.1).

    If you don't have a dev pack debugger, then you could try doing an OAD. You can find information on this in the OAD User's Guide (found in the ble-Stack sdk), and you should also be able to do this with the SensorTag app on your phone.

    -Nathan
  • Thanks Nathan for the pointers!

    I have downloaded the BLE-SDK-2.2.1 and I see some hex files under the ble_sdk_2_02_01_18/examples/hex folder.

    I assume these are pre-compiled firmware images (particularly, cc2650stk_sensortag_rel.hex looks relevant).

    Is there a way to use these hex files from the SensorTag app on the phone? Do I first need to convert them to "SuperHex files" or to some other format?

    I am worried of bricking the device if I upload a wrong firmware image. It would be nice if a readymade image could be provided by TI, for hobbyists like me.

    best,
    Harshad
  • Yes, cc2650stk_sensortag_rel.hex is for CC2650STK. However, you cannot download it from App. You need to use XDS110 which Is available on CC-DEVPACK-DEBUGGER.
  • Thanks YK. To ask another way, is it possible to update CC2650STK to latest firmware by just using the android app? If so, could TI or someone from the community provide the firmware image?

    (I don't use Windows, so it's very difficult for me to compile it myself from the SDK. And even after I manage to compile it, I wouldn't be sure if the process is correct. I don't want to end up with a bricked sensor tag; it took about a month for shipping)

  • Hi,

    If you want to do it from an app, you would have to do an OAD. The hex file could be used, but it would have to be run through the python script to update the metadata, and your target device would have to be set up to be an OAD target.

    -Nathan
  • That's good to know Nathan!

    I will try to work with the python script now. But what did you mean by the second sentence:

    "target device would have to be set up to be an OAD target" ?

    Is CC2650STK loaded with firmware 1.12 ready for OAD? Or something more is required?

  • Hi,

    Yes it should be loaded with the OAD configuration for the SensorTag project. You can verify this by seeing if there is an OAD characteristic.

    -Nathan
  • Nathan,

    The OAD service exists, but I am not sure if the firmware is recent enough for update via Android app. My friend received a new sensor tag today (mine is more than an year old). His sensor tag was shipped with firmware 1.30 and he was able to update to version 1.32 from the Simplelink android app. However when I open the OAD service from Simplelink Android app with my device, it doesn't show the version number and doesn't show any options for update. Does an update path exist from 1.12 to 1.32?

    Anyway, I am hoping that I will be able to update via the open-source Android app atleast.

    So, I tried using the python script but got this error:

    ➜  ~ python oad_image_tool.py -t offchip cc2650stk_sensortag_rel.hex -ob sensortag.bin                                                                 
    
    ******************************************************************************************
    Texas Instruments OAD Image Tool
    Version: 1.0
    ******************************************************************************************
    
    OAD Type: offchip
    Img Type: APP
    Input file(s): cc2650stk_sensortag_rel.hex
    Output Hex file: None
    Output Bin file: sensortag.bin
    Runtime Output: Fatal Error: -- Non Production/NP image cannot have data in reserved pages. Exiting.

    When I added -i production option, it completed successfully. But from what I understand, the production version is not meant for update over the air, but for first time flash programming. Is that correct?

    I am sorry but this feels like reinventing the wheel. It would be really nice if the binary image was provided by TI along with the Android app.

    Thanks!

  • Hi,

    The best way to get the binary image for the latest firmware is by building the BLE-stack. This can then be sent over OAD with the Android app.

    Detailed information on doing this for the SensorTag can be found here: processors.wiki.ti.com/.../CC2650_SensorTag_User's_Guide
    Specifically, see the "Firmware Upgrade" section.

    -Nathan