Building and programming with Thingy:91 X

You can also program the Thingy:91 X with the images obtained by building the code in an nRF Connect SDK environment and the west tool.

To set up your system to be able to build a compatible firmware image, follow the processes described in the Building an application section. The build targets of interest for Thingy:91 X in the nRF Connect SDK are as follows:

Component

Build target

nRF9151 SiP

thingy91x/nrf9151 thingy91x/nrf9151/ns

nRF5340 SoC - Application core

thingy91x/nrf5340/cpuapp

nRF5340 SoC - Network core

thingy91x/nrf5340/cpunet

Note

LTE/GNSS features can only be used with Cortex-M Security Extensions enabled (thingy91x/nrf9151/ns build target).

The following table shows the different types of build files that are generated and the different scenarios in which they are used:

File

File format

Programming scenario

merged.hex

Full image, HEX format

Using an external debug probe and nrfutil device.

zephyr.signed.hex

MCUboot compatible image, HEX format

Using the built-in bootloader and nrfutil device.

app_update.bin

MCUboot compatible image, binary format

  • Using the built-in bootloader and mcumgr command-line tool.

  • For FOTA updates.

Programming onto Thingy:91 X

Complete the following steps to program firmware onto Thingy:91 X:

  1. Set the Thingy:91 X SWD selection switch (SW2) to nRF91 or nRF53 depending on whether you want to program the nRF9151 SiP or the nRF5340 SoC component.

  2. Connect the Thingy:91 X to the debug out port on a 10-pin external debug probe, for example, nRF9151 DK, using a 10-pin SWD cable.

  3. Connect the external debug probe to the PC using a USB cable.

  4. Make sure that the Thingy:91 X and the external debug probe are powered on.

  1. In nRF Connect for VS Code, click the Flash option in the Actions View.

    If you have multiple boards connected, you are prompted to pick a device at the top of the screen.

    A small notification banner appears in the bottom-right corner of Visual Studio Code to display the progress and confirm when the flash is complete.