thingy53: Firmware update using MCUboot bootloader

Dear community, 

I am a beginner with nRF products. However I managed to use the nRF52840 dongle to sniff btmesh opcodes and implement on nRF52840DK multiples bluetooth mesh models.

I bought then a Thingy53 in order to exploit btmesh sensors models.

After unpacking Thingy I managed first to see it in the nRF EdgeImpulse App. Then I use the iOS nRF Programmer and manage to install via BLE others firmwares (btmesh examples) that worked very well. So far so good.

Then I wanted to upload other programs using the MCUboot bootloader and nRF Programmer on windows (since I do not have JTAG cable, nor nRF5340DK to flash the thingy).

Before uploading my own programs, I checked the procedure with the pre-compiled firmwares available here : https://www.nordicsemi.com/Products/Development-hardware/Nordic-Thingy-53/Downloads

I have followed the process here : https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/working_with_nrf/nrf53/thingy53_gs.html#updating-through-usb

everything looks ok, Thingy is well in bootloader mode, the images are all written successfully, but I cannot see anymore Thingy in nRF app (if I upload BTmesh examples), nor I cannot see Thingy in EdgeImpusle App if I upload EdgeImpusle firmware.

Did I miss something on how to flash the Thingy53?

 

Any help will be much appreciated. Thank you very much.

Parents
  • Hello,

    Thingy in nRF app

    Is it because the precompiled files will change the name of the thingy after doing an update. For eg: If you are uploading the peripheral lbs sample then thingy53 will be visible as Nordic_LBS. 

    Could you once try with nRF programmer app for uploading the Edge impulse firmware to the thingy53? You can follow this.

    Kind Regards,

    Abhijith

  • Dear Abhijith, 

    Thank you very much for your help.

    Indeed it looks a good idea to check whether it is not a name problem.

    So I have uploaded the Edge impulse firmware (edge_impulse_1.0.0_thingy53_nrf5340.zip) to the thingy53 as you may see on pictures below :

      

    The upload looks good, and at the end of it, I can see Application: Thingy53 instead of bootloader.

    Then I am looking for a Thingy (or any other name) in Edge Impulse App, but not found :

    Also I am looking for thingy in nRF Programmer on iOS, but I cannot see any name.

    In addition I tried to update on all nearby devices with n/a names also, but still.

    Would Thingy 53 be slightly capricious :) ? 

  • I forget also to mention that as you suggested I uploaded the peripheral lbs sample but thingy53 is not visible as Nordic_LBS. 

  • This morning there has been an update of nRF programmer for desktop (on windows) 3.0.8.

    Things are working better but still not completely.

    With this new version, now I can upload the pre-compiled firmwares and Thingy53 is now recognized in apps, though not working as expected.

    My observations:

    1) Uploading (with MCU bootloader via USB & nRF programmer windows) edge_impulse_1.0.0_thingy53_nrf5340.zip

    Upload is successful. Thingy53 is recognized in nRF EdgeImpulse App (cf. 2 screenshots below), but with failure message when trying to connect: « peer removed pairing information ».

    In addition, any update with nRF programmer on iOS is not working, as seen on 3 screenshots below.

    2) Uploading (with MCU bootloader via USB & nRF programmer windows) matter_weather_station_2.0.2_thingy53_nrf5340.zip

    Upload is successful with nRF programmer windows. Blue led is blinking.

    In addition Thingy53 is visible in nRF Programmer iOS as MatterWeather.

    From there I can update via BLE with iOS nRF programmer (which was not working with EdgeImpulse above..). For instance I update the firmware with BT mesh sensors server (this reason why I bought Thingy53). Device is now seen in app as Mesh Sensor.

    BUT, unfortunately even though the Mesh sensor is recognized i provisionning process in nRF Mesh App, I am unable to connect to the device. Status stays to connecting without connecting.

      

    3) other observations.

    I noticed that the only pre-compiled firmware (uploaded with nRF Programmer windows via MCU bootloader) that allow me after to update firmware in iOS nRF Programmer is MatterWeather.

    All the other pre-compiled firmwares, there is an error when trying to update in iOS nRF programmer "Device capabilities not supported".

    I also tried to upload the other BTmesh firmwares, namely:

    - mesh_light_1.0.0_thingy53_nrf5340.zip

    - mesh_light_ctrl_1.0.0_thingy53_nrf5340.zip

    - mesh_light_switch_1.0.0_thingy53_nrf5340.zip

    I can see Thingy 53 as MeshLight, Mesh Light Fixture, Mesh Light Switch respectively in nRF Mesh App but the device is unable to be provisionned.

    I would be so happy to be able to run again the sensor model on Thingy53, so that I can practise the sensors models.

    Thanks again for any help on that topic.

Reply
  • This morning there has been an update of nRF programmer for desktop (on windows) 3.0.8.

    Things are working better but still not completely.

    With this new version, now I can upload the pre-compiled firmwares and Thingy53 is now recognized in apps, though not working as expected.

    My observations:

    1) Uploading (with MCU bootloader via USB & nRF programmer windows) edge_impulse_1.0.0_thingy53_nrf5340.zip

    Upload is successful. Thingy53 is recognized in nRF EdgeImpulse App (cf. 2 screenshots below), but with failure message when trying to connect: « peer removed pairing information ».

    In addition, any update with nRF programmer on iOS is not working, as seen on 3 screenshots below.

    2) Uploading (with MCU bootloader via USB & nRF programmer windows) matter_weather_station_2.0.2_thingy53_nrf5340.zip

    Upload is successful with nRF programmer windows. Blue led is blinking.

    In addition Thingy53 is visible in nRF Programmer iOS as MatterWeather.

    From there I can update via BLE with iOS nRF programmer (which was not working with EdgeImpulse above..). For instance I update the firmware with BT mesh sensors server (this reason why I bought Thingy53). Device is now seen in app as Mesh Sensor.

    BUT, unfortunately even though the Mesh sensor is recognized i provisionning process in nRF Mesh App, I am unable to connect to the device. Status stays to connecting without connecting.

      

    3) other observations.

    I noticed that the only pre-compiled firmware (uploaded with nRF Programmer windows via MCU bootloader) that allow me after to update firmware in iOS nRF Programmer is MatterWeather.

    All the other pre-compiled firmwares, there is an error when trying to update in iOS nRF programmer "Device capabilities not supported".

    I also tried to upload the other BTmesh firmwares, namely:

    - mesh_light_1.0.0_thingy53_nrf5340.zip

    - mesh_light_ctrl_1.0.0_thingy53_nrf5340.zip

    - mesh_light_switch_1.0.0_thingy53_nrf5340.zip

    I can see Thingy 53 as MeshLight, Mesh Light Fixture, Mesh Light Switch respectively in nRF Mesh App but the device is unable to be provisionned.

    I would be so happy to be able to run again the sensor model on Thingy53, so that I can practise the sensors models.

    Thanks again for any help on that topic.

Children
Related