Device OS versions
Programming and debugging notes
If you don't see any notes below the table or if they are the wrong version, please select your Firmware Version in the table below to reload the page with the correct notes. Otherwise, you must have come here from a firmware release page on GitHub and your version's notes will be found below the table :)
Firmware Version | |||||||
---|---|---|---|---|---|---|---|
v5.0.x releases | v5.1.0 | v5.2.0 | v5.3.0 | v5.3.1 | v5.3.2 | - | |
v5.0.x releases | v5.0.1 | - | - | - | - | - | |
v5.0.x releases | v5.0.0 | - | - | - | - | - | |
v4.0.x releases | v4.0.0 | v4.0.1 | v4.0.2 | - | - | - | |
v4.0.x prereleases | v4.0.0-beta.1 | v4.0.1-rc.1 | - | - | - | - | |
v3.3.x releases | v3.3.0 | v3.3.1 | - | - | - | - | |
v3.3.x prereleases | v3.3.0-rc.1 | - | - | - | - | - | |
v3.2.x releases | v3.2.0 | - | - | - | - | - | |
v3.2.x prereleases | v3.2.0-rc.1 | - | - | - | - | - | |
v3.1.x releases | v3.1.0 | - | - | - | - | - | |
v3.1.x prereleases | v3.1.0-rc.1 | - | - | - | - | - | |
v3.0.x releases | v3.0.0 | - | - | - | - | - | - |
v3.0.x prereleases | v3.0.0-beta.1 | v3.0.0-rc.1 | v3.0.0-rc.2 | - | - | - | |
v2.3.x default releases | v2.3.0 | v2.3.1 | - | - | - | - | |
v2.3.x prereleases | v2.3.0-rc.1 | - | - | - | - | - | |
v2.2.x default releases | v2.2.0 | - | - | - | - | - | |
v2.2.x prereleases | v2.2.0-rc.1 | v2.2.0-rc.2 | - | - | - | - | |
v2.1.x default releases | v2.1.0 | - | - | - | - | - | |
v2.1.x prereleases | v2.1.0-rc.1 | - | - | - | - | - | |
v2.0.x default releases | v2.0.0 | v2.0.1 | v2.0.2 | - | - | - | |
v2.0.x prereleases | v2.0.0-rc.1 | v2.0.0-rc.2 | v2.0.0-rc.3 | v2.0.0-rc.4 | - | - | |
v1.5.x default releases | v1.5.0 | v1.5.1 | v1.5.1 | - | - | - | |
v1.5.x prereleases | v1.5.0-rc.1 | v1.5.0-rc.2 | v1.5.1-rc.1 | v1.5.4-rc.1 | v1.5.4-rc.2 | - | |
v1.4.x default releases | v1.4.0 | v1.4.1 | v1.4.2 | v1.4.3 | v1.4.4 | - | - |
v1.4.x prereleases | v1.4.0-rc.1 | v1.4.1-rc.1 | - | - | - | - | |
v1.3.x default releases | v1.3.1 | - | - | - | - | - | - |
v1.3.x prereleases | v1.3.0-rc.1 | v1.3.1-rc.1 | - | - | - | - | |
v1.2.x default releases | v1.2.1 | - | - | - | - | - | - |
v1.2.x prereleases | v1.2.0-beta.1 | v1.2.0-rc.1 | v1.2.1-rc.1 | v1.2.1-rc.2 | v1.2.1-rc.3 | - | |
v1.1.x default releases | v1.1.0 | v1.1.1 | - | - | - | - | - |
v1.0.x prereleases | v1.0.1-rc.1 | - | - | - | - | - | - |
v1.1.x prereleases | v1.1.0-rc.1 | v1.1.0-rc.2 | v1.1.1-rc.1 | - | - | ||
v1.0.x default releases | v1.0.0 | v1.0.1 | - | - | - | - | - |
v1.0.x prereleases | v1.0.1-rc.1 | - | - | - | - | - | - |
v0.8.x-rc.x prereleases | v0.8.0-rc.10 | v0.8.0-rc.11 | v0.8.0-rc.12 | v0.8.0-rc.14 | - | - | - |
v0.8.x-rc.x prereleases | v0.8.0-rc.1 | v0.8.0-rc.2 | v0.8.0-rc.3 | v0.8.0-rc.4 | v0.8.0-rc.7 | v0.8.0-rc.8 | v0.8.0-rc.9 |
v0.7.x default releases | v0.7.0 | - | - | - | - | - | - |
v0.7.x-rc.x prereleases | v0.7.0-rc.1 | v0.7.0-rc.2 | v0.7.0-rc.3 | v0.7.0-rc.4 | v0.7.0-rc.5 | v0.7.0-rc.6 | v0.7.0-rc.7 |
v0.6.x default releases | v0.6.0 | v0.6.1 | v0.6.2 | v0.6.3 | v0.6.4 | - | - |
v0.6.x-rc.x prereleases | v0.6.2-rc.1 | v0.6.2-rc.2 | - | - | - | - | - |
- | v0.6.0-rc.1 | v0.6.0-rc.2 | v0.6.1-rc.1 | v0.6.1-rc.2 | - | - | - |
v0.5.x default releases | v0.5.0 | v0.5.1 | v0.5.2 | v0.5.3 | v0.5.4 | v0.5.5 | - |
v0.5.x-rc.x prereleases | v0.5.3-rc.1 | v0.5.3-rc.2 | v0.5.3-rc.3 | - | - | - | - |
release-notes-wrapper
@FW_VER@0.5.0if
@FW_VER@0.5.0endif
@FW_VER@0.5.1if
@FW_VER@0.5.1endif
@FW_VER@0.5.2if
@FW_VER@0.5.2endif
@FW_VER@0.5.3if
@FW_VER@0.5.3endif
@FW_VER@0.5.4if
@FW_VER@0.5.4endif
@FW_VER@0.5.5if
@FW_VER@0.5.5endif
@FW_VER@0.6.0if
@FW_VER@0.6.0endif
@FW_VER@0.6.1if
@FW_VER@0.6.1endif
@FW_VER@0.6.2if
@FW_VER@0.6.2endif
@FW_VER@0.6.3if
@FW_VER@0.6.3endif
@FW_VER@0.6.4if
@FW_VER@0.6.4endif
@FW_VER@0.7.0if
@FW_VER@0.7.0endif
@FW_VER@1.1.1if
@FW_VER@1.1.1endif
@FW_VER@1.2.1if
@FW_VER@1.2.1endif
@FW_VER@1.3.1if
@FW_VER@1.3.1endif
@FW_VER@1.4.0if
@FW_VER@1.4.0endif
@FW_VER@1.4.1if
@FW_VER@1.4.1endif
@FW_VER@1.4.2if
@FW_VER@1.4.2endif
@FW_VER@1.4.3if
@FW_VER@1.4.3endif
@FW_VER@1.4.4if
@FW_VER@1.4.4endif
@FW_VER@1.5.0if
@FW_VER@1.5.0endif
@FW_VER@1.5.1if
@FW_VER@1.5.1endif
@FW_VER@1.5.2if
@FW_VER@1.5.2endif
@FW_VER@1.5.4if
@FW_VER@1.5.4endif
@FW_VER@2.0.0if
@FW_VER@2.0.0endif
@FW_VER@2.1.0if
@FW_VER@2.1.0endif
@FW_VER@2.2.0if
@FW_VER@2.2.0endif
@FW_VER@2.3.0if
@FW_VER@2.3.0endif
@FW_VER@3.0.0if
@FW_VER@3.0.0endif
@FW_VER@3.1.0if
@FW_VER@3.1.0endif
@FW_VER@3.2.0if
@FW_VER@3.2.0endif
@FW_VER@3.3.0if
@FW_VER@3.3.0endif
@FW_VER@5.0.0if
@FW_VER@5.0.0endif
@FW_VER@5.0.1if
@FW_VER@5.0.1endif
@FW_VER@5.1.0if
@FW_VER@5.1.0endif
@FW_VER@5.2.0if
@FW_VER@5.2.0endif
@FW_VER@5.3.0if
@FW_VER@5.3.0endif
@FW_VER@5.3.1if
@FW_VER@5.3.1endif
@FW_VER@5.3.2if
@FW_VER@5.3.2endif
@CLI_VER@1.15.0if
@CLI_VER@1.15.0endif
@CLI_VER@1.17.0if
@CLI_VER@1.17.0endif
@CLI_VER@1.18.0if
@CLI_VER@1.18.0endif
@CLI_VER@1.20.1if
@CLI_VER@1.20.1endif
@CLI_VER@1.21.0if
@CLI_VER@1.21.0endif
@CLI_VER@1.22.0if
@CLI_VER@1.22.0endif
@CLI_VER@1.23.1if
@CLI_VER@1.23.1endif
@CLI_VER@1.24.1if
@CLI_VER@1.24.1endif
@CLI_VER@1.25.0if
@CLI_VER@1.25.0endif
@CLI_VER@1.26.2if
@CLI_VER@1.26.2endif
@CLI_VER@1.29.0if
@CLI_VER@1.29.0endif
@CLI_VER@1.32.1if
@CLI_VER@1.32.1endif
@CLI_VER@1.32.4if
@CLI_VER@1.32.4endif
@CLI_VER@1.33.0if
@CLI_VER@1.33.0endif
@CLI_VER@1.35.0if
@CLI_VER@1.35.0endif
@CLI_VER@1.36.3if
@CLI_VER@1.36.3endif
@CLI_VER@1.37.0if
@CLI_VER@1.37.0endif
@CLI_VER@1.38.0if
@CLI_VER@1.38.0endif
@CLI_VER@1.39.0if
@CLI_VER@1.39.0endif
@CLI_VER@1.40.0if
@CLI_VER@1.40.0endif
@CLI_VER@1.41.0if
@CLI_VER@1.41.0endif
@CLI_VER@1.41.1if
@CLI_VER@1.41.1endif
@CLI_VER@1.41.2if
@CLI_VER@1.41.2endif
@CLI_VER@1.42.0if
@CLI_VER@1.42.0endif
@CLI_VER@1.43.0if
@CLI_VER@1.43.0endif
@CLI_VER@1.43.1if
@CLI_VER@1.43.1endif
@CLI_VER@1.43.3if
@CLI_VER@1.43.3endif
@CLI_VER@1.46.1if
@CLI_VER@1.46.1endif
@CLI_VER@1.47.0if
@CLI_VER@1.47.0endif
@CLI_VER@1.48.0if
@CLI_VER@1.48.0endif
@CLI_VER@1.49.0if
@CLI_VER@1.49.0endif
@CLI_VER@1.52.0if
@CLI_VER@1.52.0endif
@CLI_VER@1.53.0if
@CLI_VER@1.53.0endif
@CLI_VER@2.1.0if
@CLI_VER@2.1.0endif
@CLI_VER@2.3.0if
@CLI_VER@2.3.0endif
@CLI_VER@2.5.0if
@CLI_VER@2.5.0endif
@CLI_VER@2.6.0if
@CLI_VER@2.6.0endif
@CLI_VER@2.7.2if
@CLI_VER@2.7.2endif
@CLI_VER@2.8.1if
@CLI_VER@2.8.1endif
@CLI_VER@2.9.0if
@CLI_VER@2.9.0endif
@CLI_VER@2.10.0if
@CLI_VER@2.10.0endif
@CLI_VER@2.10.1if
@CLI_VER@2.10.1endif
@CLI_VER@2.11.0if
@CLI_VER@2.11.0endif
@CLI_VER@2.12.0if
@CLI_VER@2.12.0endif
@CLI_VER@2.16.0if
@CLI_VER@2.16.0endif
@CLI_VER@3.1.0if
@CLI_VER@3.1.0endif
@CLI_VER@3.4.0if
@CLI_VER@3.4.0endif
@CLI_VER@3.5.0if
@CLI_VER@3.5.0endif
@CLI_VER@3.7.0if
@CLI_VER@3.7.0endif
@CLI_VER@3.10.1if
@CLI_VER@3.10.1endif
@ELECTRON_PARTS@2if
@ELECTRON_PARTS@2endif
@ELECTRON_PARTS@3if
@ELECTRON_PARTS@3endif
The following instructions are for upgrading to Device OS v@FW_VER@ which requires Particle CLI v@CLI_VER@.
Updating Device OS Automatically
To update your Photon or P1 Device OS version automatically, compile and flash your application in the Web IDE, selecting version @FW_VER@ in the devices drawer. The app will be flashed, following by the system part1 and part2 firmware for Photon and P1. Other update instructions for Photon, P1 and Electron can be found below.
The easy local method using Particle CLI
@FW_VER@0.5.4if
Note: There is no version of the Particle CLI released that supports the particle update
command for firmware version @FW_VER@. Please download the binaries and use one of the other supported programming methods.
@FW_VER@0.5.4endif
@FW_VER@0.5.5if
Note: There is no version of the Particle CLI released that supports the particle update
command for firmware version @FW_VER@. Please download the binaries and use one of the other supported programming methods.
@FW_VER@0.5.5endif
The easiest way to upgrade to Device OS Version @FW_VER@ is to use the
Particle CLI with a single command. You will first upgrade the Device
OS, then optionally program Tinker on the device. This requires CLI version @CLI_VER@. You can check with particle --version
.
If you have the Particle CLI installed already, you can update it with the following command sudo npm update -g particle-cli@v@CLI_VER@
(note: you can try without sudo first if you wish).
To upgrade Device OS, make sure the device is in DFU mode (flashing yellow LED) and run these commands in order:
The easy local method using Particle CLI
1) Make sure the device is in DFU mode and run:
particle update
2) Optionally add Tinker as the user firmware instead of an app that you may currently have running on your device. Have the device in DFU mode and run:
particle flash --usb tinker
The OTA method using Particle CLI
@FW_VER@0.6.0if
Note: You must update your Electron to (v0.5.3, v0.5.3-rc.2, or v0.5.3-rc.3) first before attempting to use OTA or YModem transfer to update to v0.6.0. If you use DFU over USB, you can update to v0.6.0 directly, but make sure you have installed v1.18.0 of the CLI first.
@FW_VER@0.6.0endif
@FW_VER@0.7.0if
Note: The following update sequence is required!
- First Update to 0.5.3 (if the current version is less than that)
- Then update to 0.6.3(Photon/P1) or 0.6.4(Electron) (if the current version is less than that)
- Then update to 0.7.0
@FW_VER@0.7.0endif
@FW_VER@1.1.1if
Note: The following update sequence is required!
- First Update to 0.5.3 (if the current version is less than that)
- Then update to 0.6.3(Photon/P1) or 0.6.4(Electron) (if the current version is less than that)
- Then update to 0.7.0
- Then update to 1.1.1
@FW_VER@1.1.1endif
@FW_VER@1.2.1if
Note: The following update sequence is required!
- First Update to 0.5.3 (if the current version is less than that)
- Then update to 0.6.3(Photon/P1) or 0.6.4(Electron) (if the current version is less than that)
- Then update to 0.7.0
- Then update to 1.2.1
@FW_VER@1.2.1endif
@FW_VER@1.3.1if
Note: The following update sequence is required!
- First Update to 0.5.3 (if the current version is less than that)
- Then update to 0.6.3(Photon/P1) or 0.6.4(Electron) (if the current version is less than that)
- Then update to 0.7.0
- Then update to 1.2.1
- Then update to 1.3.1
@FW_VER@1.3.1endif
@FW_VER@1.4.0if
Note: The following update sequence is required!
- First Update to 0.5.3 (if the current version is less than that)
- Then update to 0.6.3(Photon/P1) or 0.6.4(Electron) (if the current version is less than that)
- Then update to 0.7.0
- Then update to 1.2.1
- Then update to 1.4.0
@FW_VER@1.4.0endif
@FW_VER@1.4.1if
Note: The following update sequence is required!
- First Update to 0.5.3 (if the current version is less than that)
- Then update to 0.6.3(Photon/P1) or 0.6.4(Electron) (if the current version is less than that)
- Then update to 0.7.0
- Then update to 1.2.1
- Then update to 1.4.1
@FW_VER@1.4.1endif
@FW_VER@1.4.2if
Note: The following update sequence is required!
- First Update to 0.5.3 (if the current version is less than that)
- Then update to 0.6.3(Photon/P1) or 0.6.4(Electron) (if the current version is less than that)
- Then update to 0.7.0
- Then update to 1.2.1
- Then update to 1.4.2
@FW_VER@1.4.2endif
@FW_VER@1.4.3if
Note: The following update sequence is required!
- First Update to 0.5.3 (if the current version is less than that)
- Then update to 0.6.3(Photon/P1) or 0.6.4(Electron) (if the current version is less than that)
- Then update to 0.7.0
- Then update to 1.2.1
- Then update to 1.4.3
@FW_VER@1.4.3endif
@FW_VER@1.4.4if
Note: The following update sequence is required!
- First Update to 0.5.3 (if the current version is less than that)
- Then update to 0.6.3(Photon/P1) or 0.6.4(Electron) (if the current version is less than that)
- Then update to 0.7.0
- Then update to 1.2.1
- Then update to 1.4.4
@FW_VER@1.4.4endif
@FW_VER@1.5.0if
Note: The following update sequence is required!
- First Update to 0.5.3 (if the current version is less than that)
- Then update to 0.6.3(Photon/P1) or 0.6.4(Electron) (if the current version is less than that)
- Then update to 0.7.0
- Then update to 1.2.1
- Then update to 1.5.0
@FW_VER@1.5.0endif
Note: As a Product in the Console, when flashing a >= 0.6.0 user app, Electrons can now Safe Mode Heal from < 0.5.3 to >= 0.6.0 firmware. This will consume about 500KB of data as it has to transfer two 0.5.3 system parts and three >= 0.6.0 system parts. Devices will not automatically update Device OS if not added as a Product in Console.
Note: You must download system binaries to a local directory on your machine for this to work. Binaries are attached to the bottom of the GitHub Release Notes.
If your device is online, you can attempt to OTA (Over The Air) update these system parts as well with the Particle CLI. Run the following commands in order for your device type:
@ELECTRON_PARTS@2if
The OTA method using Particle CLI
// Photon
particle flash YOUR_DEVICE_NAME system-part1-@FW_VER@-photon.bin
particle flash YOUR_DEVICE_NAME system-part2-@FW_VER@-photon.bin
particle flash YOUR_DEVICE_NAME tinker (optional)
// P1
particle flash YOUR_DEVICE_NAME system-part1-@FW_VER@-p1.bin
particle flash YOUR_DEVICE_NAME system-part2-@FW_VER@-p1.bin
particle flash YOUR_DEVICE_NAME tinker (optional)
// Electron
particle flash YOUR_DEVICE_NAME system-part1-@FW_VER@-electron.bin
particle flash YOUR_DEVICE_NAME system-part2-@FW_VER@-electron.bin
particle flash YOUR_DEVICE_NAME tinker (optional)
@ELECTRON_PARTS@2endif
@ELECTRON_PARTS@3if
The OTA method using Particle CLI
// Photon
particle flash YOUR_DEVICE_NAME system-part1-@FW_VER@-photon.bin
particle flash YOUR_DEVICE_NAME system-part2-@FW_VER@-photon.bin
particle flash YOUR_DEVICE_NAME tinker (optional)
// P1
particle flash YOUR_DEVICE_NAME system-part1-@FW_VER@-p1.bin
particle flash YOUR_DEVICE_NAME system-part2-@FW_VER@-p1.bin
particle flash YOUR_DEVICE_NAME tinker (optional)
// Electron
particle flash YOUR_DEVICE_NAME system-part1-@FW_VER@-electron.bin
particle flash YOUR_DEVICE_NAME system-part2-@FW_VER@-electron.bin
particle flash YOUR_DEVICE_NAME system-part3-@FW_VER@-electron.bin
particle flash YOUR_DEVICE_NAME tinker (optional)
@ELECTRON_PARTS@3endif
The local method over USB using Particle CLI
This requires CLI version @CLI_VER@ or newer. You can check with particle --version
.
If you have the Particle CLI installed already, you can update it with the following command sudo npm update -g particle-cli
(note: you can try without sudo first if you wish).
To upgrade Device OS, make sure the device is in DFU mode (flashing yellow LED) and run these commands in order for your device type:
@ELECTRON_PARTS@2if
The local method over USB using Particle CLI
// Photon
particle flash --usb system-part1-@FW_VER@-photon.bin
particle flash --usb system-part2-@FW_VER@-photon.bin
particle flash --usb tinker (optional)
// P1
particle flash --usb system-part1-@FW_VER@-p1.bin
particle flash --usb system-part2-@FW_VER@-p1.bin
particle flash --usb tinker (optional)
// Electron
particle flash --usb system-part1-@FW_VER@-electron.bin
particle flash --usb system-part2-@FW_VER@-electron.bin
particle flash --usb tinker (optional)
@ELECTRON_PARTS@2endif
@ELECTRON_PARTS@3if
The local method over USB using Particle CLI
// Photon
particle flash --usb system-part1-@FW_VER@-photon.bin
particle flash --usb system-part2-@FW_VER@-photon.bin
particle flash --usb tinker (optional)
// P1
particle flash --usb system-part1-@FW_VER@-p1.bin
particle flash --usb system-part2-@FW_VER@-p1.bin
particle flash --usb tinker (optional)
// Electron
particle flash --usb system-part1-@FW_VER@-electron.bin
particle flash --usb system-part2-@FW_VER@-electron.bin
particle flash --usb system-part3-@FW_VER@-electron.bin
particle flash --usb tinker (optional)
@ELECTRON_PARTS@3endif
The local DFU-UTIL method
can be applied to offline devices locally over USB using dfu-util
- Put the device in DFU mode (flashing yellow LED)
- open a terminal window, change to the directory where you downloaded the files above, and run these commands in order for your device type:
@ELECTRON_PARTS@2if
The local DFU-UTIL method
// Photon
dfu-util -d 2b04:d006 -a 0 -s 0x8020000 -D system-part1-@FW_VER@-photon.bin
dfu-util -d 2b04:d006 -a 0 -s 0x8060000:leave -D system-part2-@FW_VER@-photon.bin
// P1
dfu-util -d 2b04:d008 -a 0 -s 0x8020000 -D system-part1-@FW_VER@-p1.bin
dfu-util -d 2b04:d008 -a 0 -s 0x8060000:leave -D system-part2-@FW_VER@-p1.bin
// Electron
dfu-util -d 2b04:d00a -a 0 -s 0x8020000 -D system-part1-@FW_VER@-electron.bin
dfu-util -d 2b04:d00a -a 0 -s 0x8040000:leave -D system-part2-@FW_VER@-electron.bin
@ELECTRON_PARTS@2endif
@ELECTRON_PARTS@3if
The local DFU-UTIL method
// Photon
dfu-util -d 2b04:d006 -a 0 -s 0x8020000 -D system-part1-@FW_VER@-photon.bin
dfu-util -d 2b04:d006 -a 0 -s 0x8060000:leave -D system-part2-@FW_VER@-photon.bin
// P1
dfu-util -d 2b04:d008 -a 0 -s 0x8020000 -D system-part1-@FW_VER@-p1.bin
dfu-util -d 2b04:d008 -a 0 -s 0x8060000:leave -D system-part2-@FW_VER@-p1.bin
// Electron
dfu-util -d 2b04:d00a -a 0 -s 0x8060000 -D system-part1-@FW_VER@-electron.bin
dfu-util -d 2b04:d00a -a 0 -s 0x8020000 -D system-part2-@FW_VER@-electron.bin
dfu-util -d 2b04:d00a -a 0 -s 0x8040000:leave -D system-part3-@FW_VER@-electron.bin
@ELECTRON_PARTS@3endif
Downgrading from @FW_VER@ to current default firmware
Current default Device OS would be the latest non-rc.x firmware version. E.g. if the current list of default releases was 0.5.3, 0.6.0, 0.6.1 (would be the latest).
@FW_VER@0.5.1if
Caution: After upgrading to 0.5.1, DO NOT downgrade Device OS via OTA remotely! This will cause Wi-Fi credentials to be erased on the Photon and P1. This does not affect the Electron. Feel free to downgrade locally with the understanding that you will have to re-enter Wi-Fi credentials. Also note that 0.5.1 fixes several important bugs, so there should be no reason you'd normally want to downgrade.
@FW_VER@0.5.1endif
@FW_VER@0.5.2if
Note: Upgrading to 0.5.2 will now allow you to downgrade remotely OTA to v0.5.0 or earlier without erasing Wi-Fi credentials. There are still some cases where a downgrade will erase credentials, but only if you have explicitly set the country code to something other than the default
or JP2
. For example, if you set the country code to GB0
or US4
, if you downgrade to v0.5.0 your Wi-Fi credentials will be erased. Leaving the country code at default
or set to JP2
will not erase credentials when downgrading to v0.5.0. Do not downgrade to v0.5.1 first, and then v0.5.0... this will erase credentials in all cases.
@FW_VER@0.5.2endif
@FW_VER@0.7.0if
Note: If you need to downgrade, you must downgrade to 0.6.3(Photon/P1) or 0.6.4(Electron) to ensure that the bootloader downgrades automatically. When downgrading to older versions, downgrade to 0.6.3(Photon/P1) or 0.6.4(Electron) first, then to an older version such as 0.5.3. You will have to manually downgrade the bootloader as well (see release notes in 0.7.0-rc.3 release)
@FW_VER@0.7.0endif
@FW_VER@0.7.0if
Note: The following is not applicable for 0.7.0, please see above.
@FW_VER@0.7.0endif
The easiest way to downgrade from a Device OS Version @FW_VER@ is to use the Particle CLI with a single command. You will first put the Tinker back on the device, then downgrade the Device OS. Running the commands in this order prevents the device from automatically re-upgrading (based on user app version dependencies) after downgrading. This will require a CLI version associated with your desired default firmware. To determine which version to use, click on the default version desired in the table under Programming and Debugging Notes and refer to the CLI version required in The easy local method using Particle CLI section.
If you have the Particle CLI installed already, you can install a specific version like v1.16.0 with the following command sudo npm update -g particle-cli@v1.16.0
(note: you can try without sudo first if you wish). Replace v1.16.0 with your desired version.
To downgrade Device OS, make sure the device is in DFU mode (flashing yellow LED) and run these commands in order:
Downgrading from @FW_VER@ to current default firmware
1) Make sure Tinker is installed, instead of a @FW_VER@ app that you may currently have running on your device. Have the device in DFU mode and run:
particle flash --usb tinker
2) Make sure the device is in DFU mode and run:
particle update
Note: The CLI and particle update
command is only updated when default firmware versions are released. This is why we install a specific version of the CLI to get a specific older version of default firmware.
Debugging for Electron
Instructions on using the Tinker USB Debugging app are here
This is useful for simply capturing the Electron's connection process.
Instructions on using the Electron Troubleshooting app are here
This is useful for interacting with the Electron's connection process.