This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Program on Thingy52

I am starting with Thingy and I am having some troubles. Background is I have done some work with nRF52840 that sends beacons one-by-one with different payloads. And then receive the beacons and do decode. I am trying to do the same on Thingy but I cannot find startup examples. And I have several problems with Thingy.

First, I am not familiar with the words using across the materials, like firmware and bootloader. I have read the article about FW architecture from the infocenter, but I still have questions about it. Like, for my need, do I need to change the FW? And/or the bootloader? Second, I don't know how to flash a program onto the Thingy, it appears that you can use OTA with another 52DK to flash, is this correct? Third, I am using Thingy with 52832. Can I use S140 on it?

Parents
  • Hi mich_x. Firmware is essentially software (SW) which is designed for a specific piece of hardware. So for the Nordic Thingy, the firmware is the SW that makes the Thingy:52 do the things it can do. The SW has been specifically designed to work for the Nordic Thingy:52. A basic bootloader executes an application located at a specific memory location (see the bootloader module for more info). You will most likely need to change the FW to run the Thingy as a beacon, yes. To run custom FW on the Thingy, you will need use the secure dfu bootloader. Also, take a look at this link for compiling new FW for the Thingy. As the Thingy FW is based off of SDK v13, you should take a look at SDK 13 examples if you want to use the Thingy as a beacon.

    For flashing the Nordic Thingy FW onto the Thingy, you can either use Over the Air DFU or use a wired connection. See this link for more info on OTA-DFU. See this link for more info on the wired connection option.

    Regarding the softdevice, you cannot use the S140 Softdevice on it. You will need to use the s132 v4.0.2 Softdevice.

  • You can still flash your custom FW via OTA-DFU. OTA-DFU is a bit more complicated when flashing custom FW because you need to use the secure dfu bootloader I refer to in the answer. I am pretty sure you can re-flash the same FW OTA. The wired connection option is easier because you can just connect the Thingy to an nrf51/52 DK, plug in the 10 pin cable to the Debug Out Pin (P19) in the DK, turn both devices on & then use nrfgostudio to erase the DK, program the correct softdevice on the Thingy (i.e. v4.0.2) & then flash your custom FW.

  • I have a quick question: Is there a good reason why you are using OTA-DFU with the Thingy instead of programming via a 10-pin SWD cable via an nrf52 DK? The wired solution is a lot easier to do if you do not require the DFU functionality. I have not tried OTA-DFU on the Nordic Thingy yet, so if you really want to figure this out, I will need to test it out myself.

  • LOL. The only reason is that I have not yet got a SWD wire. I will try the wired solution. 

  • You will actually need the cable to do OTA-DFU because you do not have the private key for the bootloader that is currently on the Thingy to do OTA-DFU. So in order to do OTA-DFU, you need the wire to erase the flash on the Thingy & program your own custom bootloader, where you know the private key. But before you do this, I suggest using the cabled solution & flashing over softdevice & application instead. A lot easier & works just as well.

  • Hi, I finally got my cable to flash thingy. I erase the Thingy using nRFgo Studio I think. Because the light does not flash when I turn on the Thingy anymore. However, right now I don't have an example that will show any sign that Thingy has been flashed. Plus, although Thingy uses SDK 13 but I guess some of the codes should be different? Like the control of the light and all the sensors. Where can I find a reference on these? 

  • Hi, if I were you, I would download the Nordic Thingy FW & try to customize it a bit first. You could for example change the default blue light to a white light. You will need to follow the instructions on the Github page to setup the Thingy FW. That will most likely be a lot easier than trying to port an SDK 13 example on the Thingy. I would rather use the Thingy FW as a starting point & add the functionality you require later once you have setup the basic stuff.

Reply Children
Related