How to unbrick Xenon (return to factory default firmware)

Actually looks like I can’t edit that one. Here’s all the info in one place. I’ve modified this for 1.4.4. This should work with any version of deviceOS though.

A full explanation is coming but you can clone this repository . The only thing you’ll need to install is jlinkexe. Here’s a link to that download: https://www.segger.com/downloads/jlink/#J-LinkSoftwareAndDocumentationPack

You need to download all the files that match your device. This incluedes the Soft Device, Bootloader, System Part and Tinker images. Here’s a whole zip for 1.4.4 for each of the Particle Mesh boards:

Argon

Xenon

Boron

All links are from the release page on Github: https://github.com/particle-iot/device-os/releases/tag/v1.4.4

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:

  1. Run the following to program the soft device
    ./nrfjprog.sh --flash-softdevice /path/to/softdevice.hex
  2. Then, run to program the bootloader.
    ./nrfjprog.sh --flash-bootloader-bin /path/to/xenon-bootloader@1.4.4.bin 0xf4000
  3. The device should be blinking yellow. Next, let’s program the system part:
    particle flash --usb /path/to/xenon-system-part1@1.4.4.bin
  4. Finally, lets flash Tinker to make sure everything works!
    particle flash --usb /path/to/xenon-tinker@1.4.4.bin

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:

image.jpg

Side note: the purple board is a level translator board I designed a while back. Works great for designs that are < 2.25V. :slight_smile:

1 Like