Restore images for use with Particle Debugger

There is a new page in the docs where you can download a complete .hex file that can be flashed with the Particle Debugger or any compatible SWD/JTAG programmer to set a device to a known state.

For Gen 3 the hex file includes the bootloader, SoftDevice, UICR bytes, Device OS, and Tinker. For Tracker it includes Tracker Edge instead of Tinker.

For Gen 2 the hex file includes the bootloader, Device OS, and Tinker. This can recover a Gen 2 device in Dim D7.

I created images for 3.0.0-rc.1, 2.0.1, 1.5.2, and 1.4.4. You can upgrade or downgrade with them. Using the openocd that’s included with Particle Workbench and the Particle Debugger it takes about 60 seconds.
https://docs.particle.io/reference/developer-tools/jtag/#restore-binaries

For Gen 3 devices, if you upgrade the Particle Debugger firmware (instructions here), you don’t need Workbench at all. You can drag and drop the .hex file on the DAPLINK volume the debugger creates. It works on Mac, Windows, and Linux. It’s pretty wild.

Don’t have a computer handy? There’s an experimental web page now that works with Chrome and Opera on Android phones that support USB OTG. With the Particle debugger plugged into a OTG cable you can completely restore a Gen 3 device. Also works on Chromebooks. It takes about 3 minutes. (iPhones and iPads don’t support USB OTG so that won’t be possible.)
https://docs.particle.io/device-restore/

Is this too slow for you? Get yourself a Segger J-Link. You can upgrade or downgrade all of the binaries on a Gen 3 nRF52 MCU using nrfjprog in 7 seconds. Yes, 7 seconds to upgrade or downgrade a Gen 3 device by SWD.

What if you wanted to program your own user firmware binary instead of Tinker? There’s now a web-based tool that takes a device restore .hex file and replaces Tinker with your own user firmware binary. This would be great for manufacturing. And it’s entirely browser-based - it rebuilds a new .hex file entirely within your browser and doesn’t send your .bin file anywhere.
https://docs.particle.io/hex-generator/

6 Likes

There are now even more device restore images! Using the Particle Debugger, or other SWD/JTAG debugger, you can now restore a device to the end of most release lines back to 0.5.5 using a single .hex file. This works for both upgrade and downgrade.

  • 3.0.0-rc.2 (Argon, Boron, B4xx SoM, B5xx SoM, Tracker, Photon, P1, Electron)
  • 3.0.0-rc.1 (Argon, Boron, B4xx SoM, B5xx SoM, Tracker, Photon, P1, Electron)
  • 2.0.1 (Argon, Boron, B4xx SoM, B5xx SoM, Tracker, Photon, P1, Electron)
  • 1.5.2 (Argon, Boron, B4xx SoM, B5xx SoM, Xenon, Photon, P1, Electron)
  • 1.4.4 (Argon, Boron, B4xx SoM, Xenon, Photon, P1, Electron)
  • 1.2.1 (Argon, Boron, B4xx SoM, Xenon, Photon, P1, Electron)
  • 1.1.1 (Argon, Boron, B4xx SoM, Xenon, Photon, P1, Electron)
  • 1.0.1 (Photon, P1, Electron)
  • 0.9.0 (Argon, Boron, Xenon)
  • 0.7.0 (Photon, P1, Electron)
  • 0.6.4 (Electron)
  • 0.6.3 (Photon, P1)
  • 0.5.5 (Photon, P1, Electron)
1 Like

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.