If your Nordic Thingy:91X isn't responding, not showing up in the programmer, or stuck after a failed flash — don't panic. In this guide, I’ll walk you through simple and effective steps to bring your device back to life.
🧐 Why this guide?I found myself in a frustrating spot — my Thingy:91X was completely unresponsive after a firmware flash, and nothing seemed to work. I spent hours digging through forums, trying tools, and piecing together scattered information. After a lot of trial and error, I finally managed to bring it back to life.
This guide is the result of that experience — a clear, straightforward recovery process that I wish I had when I started. If you're stuck with a bricked Thingy:91X, I hope this saves you time, effort, and stress.
🔍 Common Signs of a Bricked Device- Not detected in nRF Connect for Desktop.
- Flashing fails or gets stuck with WEST and other tools.
- Device doesn’t boot or show logs.
- No LED indicator
Here is the errors I got 😅
23:53:32.173
Deselected device
23:53:32.175
Selecting device with the serial number 000683897796
23:53:43.851
Error: Aborted before start executing nrfutil ["device","device-info","--serial-number","000683897796","--json","--log-output=stdout","--log-level","off"]
23:53:43.984
Error: Aborted before start executing nrfutil ["device","x-execute-batch","--serial-number","000683897796","--batch-json","{\"operations\":[{\"operationId\":\"0\",\"core\":\"NRFDL_DEVICE_CORE_APPLICATION\",\"operation\":{\"type\":\"protection-get\"}}]}","--json","--log-output=stdout","--log-level","off"]
23:53:46.692
Error: Failed with exit code 1. One or more device info tasks failed: * 683897796: Timed out waiting for response from worker. (Generic). Message: Operation device-info failed, Timed out waiting for response from worker.
23:53:46.692
Selected device with the serial number 000683897796
23:53:46.692
Using nrfutil device to communicate with target via JLink
nrfjprog --recover --log
Recovering device. This operation might take 30s.
[error] [ JLink] - Specific core setup failed.
[error] [ JLink] - Specific core setup failed.
[error] [ Client] - Encountered error -21: Command recover executed for 1074 milliseconds with result -21
[error] [ JLink] - Specific core setup failed.
[error] [ JLink] - Specific core setup failed.
[error] [ JLink] - Specific core setup failed.
[error] [ JLink] - Specific core setup failed.
[error] [ Worker] - Encountered error during recovery cleanup, -11: Could not connect to CPU core. This may indicate that AP protection is enabled.
Emulator does not support the selected feature (Usually returned by functions which need specific emulator capabilities).
ERROR: Recover failed. Please make sure that the correct device family is given
ERROR: and try again.
These symptoms often point to firmware corruption or a failed bootloader state. Luckily, there’s a way back.
🛠️ What You’ll Need- Nordic nRF Programmer and nRF Connect for Desktop installed.
- Thingy:91X device (obviously).
- A debug probe (like J-Link) with SWD capabilities. Thingy:91X has SWD debug pads - I used J-Link LITE Cortex-M. You can also use Nordic nRF DK's.
- A 2.54mm Pitch 10 Pin JTAG cable
First connect J-Link with Thingy:9X, Make sure to disconnect all the cable before connecting. Both Connectors have Notch to align properly, so use that as guide to connect properly or refer this image.
You can also connect with nRF DK's.
The Thingy:91x have two main processors, nRF9151 and nRF5340, so we need to Erase flash from both of them.
Step 2.1: Erase Flash from nRF9151
Connect the JLINK to the computer and power the Thingy:91x also and put the SWD in the Thingy:91x to nRF91 mode.
Then open the Programmer from the nRF Connect for Desktop.
Choose the J-Link_SLite or whatever model you have
1. Make sure you are connected to J-LINK 2. Make sure you have "NRF9151" listed on the right side
3. Then finally click Erase all
Once erased, you can see the empty memory area.
🧰 Step 2.2: Erase the nRF52 Flash
First Turn off the Thingy and then - put the SWD in the Thingy:91x to nRF53 mode.
Turn on Thingy again and open the nRF Programmer.make sure you have the "NRF5340" selected. the click Erase All (3)
Once it's done, you can see the empty place.
You can download precompiled firmware images from thingy91x_mfw-2.0.2_sdk-2.9.0-preview
Use the "thingy91x_hello.nrfcloud.com_v2.0.1.hex" flash to the nRF91 and use "thingy91x_nrf53_connectivity_bridge_v2.0.1.hex" flash to the nRF53
Step 3.1: First load firmware to the nRF52
Connect the J-Link with Thing:91x and Open the Programmer, Make suer you choose the SWD as nRF52 and in the programmer it's listed as nRF52.
Click on "Add File" to load firmware.
Then choose the "thingy91x_nrf53_connectivity_bridge_v2.0.1.hex" and click open.
After loading the.hex file, you can see the File memory layout window, next click on "Erase & Write" to load the firmware on nRF53.
Step 3.1: Second load firmware to the Thingy:91x
Connect the J-Link with Thing:91x and Open the Programmer, Make suer you choose the SWD as nRF91 and in the programmer it's listed as nRF91.
Click on "Add File" to load firmware.
Then choose the "thingy91x_hello.nrfcloud.com_v2.0.1.hex" and click open.
After loading the.hex file, you can see the File memory layout window, next click on "Erase & Write" to load the firmware on the nRF91.
Now, you successfully rescued the Thingy:91x, and you need to setup the device as fresh.
Open the nRF Connect for Desktop and Open the "Quick Start" program.
and the connect the Thingy:91x in your computer - Unplug the JTAG and everything and Make suer you choose the SWD as nRF91 and in the programmer it's listed as nRF91.
and continues setup and enjoy your Thingy:91x.
✨ Bonus: Blink your Thingy:91xFollow my Introduction to Thingy:91x & nRF Connect guide and blink your Thingy:91X.
🥳 CONGRATULATIONS
💬 Recovered your Thingy:91X with this guide? I’d love to know what worked, what didn’t, and what could be better. Share your feedback to help refine the process for everyone.
Comments