I have Xenon, behaving strangely in an unknown state. I have Segger J-Link and would like to program Xenon into the factory default firmware. Is there any instruction how to do it?
Can you elaborate or provide a video?
Can you get into DFU Mode?
Hi, I would like initially to use Xenon as a standalone device (not a part of mesh network) talking to my phone and doing things like sensors reading, on/off, etc. I did follow the instruction from here https://medium.com/home-wireless/using-segger-studio-and-nordic-sdk-with-particle-xenon-91e34aeb632a to install Adafruit bootloader and use it Arduino style. I can’t get into DFU mode now. The nRF52840 chip coming from factory most likely comes with blank flash memory, so Particle does the programming of Xenon. My question is how can I flash the Particle original firmware (the bootloader, Particle OS, Nordic libraries, whatever else is there) into my Xenon.
You can have a look here
Thanks for the link. Unfortunately only the Gen 1 and 2 devices are covered and the Jlink is not covered. That part of documentation is old, not updated and very complex. Most microcontrollers today can be flashed with a single click, using a single *.hex or *.bin file instead of typing a dozen on command line commands (easy to make a mistake) Surely the Particle production must use a quicker and simpler way
@janek after some research and trying it myself, you can un-brick a Xenon, Argon and Boron using a NRF52 DK (or similar)
A full explanation is coming but you can clone this repository. Then, you can follow the instructions at the end of the Readme.
Bricked boron after using nrf sdk
Thanks a lot, much appreciate it. I will check it when back from my trip. Will it work with J-link or do I need to buy a Particle Debugger? Are the Particle, Adafruit and Nordic bootloaders compatible?
This is specifically for J-Link.
Particle’s boot loader is different from anything else.
@janek, revisiting this:
Just remember you’ll need to program the system part and the tinker app to make sure everything is working afterwards. My xenon got into a weird state probably due to programing an image out of order.
Here are the steps for anyone else who’s interested:
Run the following to program the soft device
./nrfjprog.sh --flash-softdevice /path/to/s140_nrf52_6.0.0_softdevice.hex
Then, run to program the bootloader.
./nrfjprog.sh --flash-bootloader-bin /firstname.lastname@example.org 0xf4000
The device should be blinking yellow. Next, let’s program the system part:
particle flash --usb /email@example.com
Finally, lets flash Tinker to make sure everything works!
particle flash --usb /firstname.lastname@example.org
You should be able to substitute any version of deviceOS with the one I used above. Just make sure that the boot loader, system part and Tinker are all the same version.
Here’s a picture of my setup:
@jaredwolff thank you for sharing your knowledge and experience with community. Much appreciate it, it saves a lot of time
You’re welcome. I hope it worked for you