Getting started with Thingy91

I am trying to flash an LED on and off on the Thingy91 I have been provided using the Blinky program.

I have managed to update the firnware and model as described in the getting started guide and updated to asset tracker v2.

I have installed the nRF connect desktop and through this the programmer and toolchain manager. Through this I open Segger studio and open an nRF connect project SDK release 1.8.0 Projects: blinky, boardname thingy_nrf9160. I build and there are no errors, this produces the file merged.hex and I use the programmer to update the Thingy91 in MCUboot mode. The hex file merged.hex deploys ok. I can tell it has deployed because the function of asset tracker v2 is replaced, and nothing happens. No LEDs blinking. There are no compiler warnings telling me that I have no onboard LED. There are other hex files produced at the same time: zephyr.hex, mcuboot_primary.hex and mcuboot_primary_app.hex.

I have also tried enabling the build for mcu boot as described here youtu.be/1jgImp7FBy8 and updating the app_signed.hex This doesn't work either.

Can you advise what I am doing wrong or preferably point me in the direction of a really basic getting started guide that deals with programming and not setting up hardware.

There is clearly a bit of the getting started process I am missing.

Thanks

  • In case this helps someone, this is the list of steps I went to to finally get an LED blinking:

    • Open nRF connect -> Toolchain manager -> nrF Connect SDK 1.8.0 -> Open Segger embedded studio
    • In Segger studio -> File -> Open nRF Connect project ->
      • nrF connect 1.8.0
      • Project: Blinky
      • Board name: thingy91_nrf9160_ns
    • Project -> Configure  nrf connect project -> menuconfig -> Filter by mcuboot. Ensure MCUboot bootloader support is checked
    • Build -> Solution
    • Navigate to Ncs\v1.8.0\zephyr\samples\basic\blinky\build_thingy91_nrf9160_ns\zephyr and obtain file app_signed.hex
    • Connect Thingy91 to computer using USB cable, power off and holding down button power on
    • nrf connect -> Programmer -> Open
    • Select Device Nordic Thingy91, click enable MCU boot.
    • Drag file app_signed.hex into right pane
    • In programmer, Click Write and Write
    • Uploading complete successfully
    • Disconnect USB cable
    • Power down and back up again
    • LED flashes

  • Thanks for the nice summary and sharing. Have a nice weekend. Slight smile

    -Amanda

  • Hi folks,

    Reusing an old thread since the question is kinda the same.

    I'm trying to build and flash blinky sample into Thingy91, however I don't see it is blinking red.

    Building code, then flash ./build/zephyr/app_signed.hex went ok. However after power cycle Thingy91, it has fading blue led in the light well or all rgb. I've tried to flash via "Programmer" and with nrfutil on Ubuntu 22.04 with the same result.

    nrfutil device program --firmware build/zephyr/app_signed.hex --traits mcuBoot
    

    Could someone provide a hint what might be wrong, so I don't get an expected result? SDK ver. 2.3.0, Thingy91 v.1.0.0

    Regards,

    Alex

  • You should probably create a new thread, as things may have changed a lot since several years ago.

    Did you try the Thingy91 Getting Started Guide?  https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/working_with_nrf/nrf91/thingy91_gsg.html

    It loads a pre-build file, and connects to nRF Cloud, so not the same as blinky.  But you it is pre-built (so rules that out), and also has steps to update the device firmware first.

    Blinky (zephyr/samples/basic/blinky) did work for me, but there isn't any logging output, so you don't really know what is happening if the LED isn't blinking.

    You could also try zephyr/samples/hello_world, to see serial output (or just add some printk() statements to blinky). 

    I usually add a bit of a delay at the start of the samples, otherwise I find it may output (e.g. errors) before the serial is connected (e.g. nRF Terminal in VS Code)

    e.g.

    void main(void)
    {
        printk("0\n"); // or LOG_INF("0");
    	k_msleep(1000);
    	printk("1\n");
    	k_msleep(1000);
    	printk("2\n");
    	k_msleep(1000);
    	printk("3\n");
    
    	printk("Hello World! %s\n", CONFIG_BOARD);
    }



  • I used the programmer on windows for this which made it quite straightforward, I have not used the command line. The fading led sounds like the default asset tracker program is running. I would recommand the get started guide and the tutorials:

    academy.nordicsemi.com/.../

Related