How to unbrick Xenon (return to factory default firmware)

xenon
Tags: #<Tag:0x00007fe2232068d8>

#21

Can you send a pic of your setup? Generally speaking, “does not work” isn’t helpful in debugging. :sweat_smile:

One suggestion though is to make sure you’re plugging into the correct port on the NRFSDK. Reference my picture above. It’s tempting to use the other one on the board but that’s for the J-Link processor.

If your DK is unmodified, it won’t use the Debug Out port unless it sees 3.3V on the input. So you need to power both the programmer and the Particle board via USB.

I’m assuming the DK works standalone?


#22

Thanks @jaredwolff. Finally got time to come back on this project. Yes it is resolved - tried another (unmodified) NRF5x DK using 10 pin cable directly back to back worked well.

Thank you again for your kind help and tips.


#23

Thanks @jaredwolff. After I lost my mind you instructions and code made my Xenon working. I had the use a j-link and an adapter board. Is there some way we can put all the instruction and the GitHub in one place for the next guy. It really took some digging to find all the links.

Thanks Again.


#24

@Chappy happy to help! :slight_smile: I’ll pop it all in the repository.

@janek can you select my post below as the “answer”? That way people don’t get lost. :innocent:


#25

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:

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:


I think I broke my argon