Particle Device OS Updates Thread

##:particle: :particle: Firmware 0.5.1 Release is out on the Build IDE for Core/Photon/P1/Electron - and the Particle CLI has been updated from 1.12.0 to 1.14.0 :particle: :particle:

Note: This is a Release and may be used for production. Any known issues are minor and mostly likely slated for 0.6.x release (check Github issues). It is available by default for all devices. To use, select the 0.5.1 version dropdown from the devices drawer. Please observe the warning below about downgrading.

Note: Some users previously had last used 0.5.1-rc.1 or 0.5.1-rc.2 on various platforms. Since these are no longer available, please re-flash your devices with 0.5.1. This is technically the same as 0.5.1-rc.2. As usual, you will have to locally upgrade the Electron system firmware to 0.5.1 first.

:warning: Caution: After upgrading to 0.5.1, DO NOT downgrade system firmware via OTA remotely

This will cause Wi-Fi credentials to be erased on the Photon and P1. This does not affect the Core or 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. :warning:

v0.5.1 Changelog

FEATURES

  • [Electron] Added support in HAL for a SMS received callback handler.
  • Wi-Fi Country Code can be set to configure the available channels and power transmission. #942

ENHANCEMENTS

  • ARM GCC 5.3.1 compiler support

BUGFIXES

  • [Photon/P1] Fix a timing-critical bug in WICED that causes system freeze. #877
  • Tone not available on A7 after stop-mode sleep. #938
  • Regression in EEPROM emulation size. #983
  • [Electron] Wrong bitmask is provided for 4208 setting in power management #987

#System Binaries (all devices) & Device Upgrader (Photon & Electron)


Updating System Firmware (and optionally adding Tinker)

To update your device, compile and flash your application in the Build IDE, selecting version 0.5.1 in the devices drawer. Update instructions for Core, Photon, P1 and Electron below. Electron system firmware must be updated locally (see below) to minimize data usage, after which user applications can be flashed OTA from the Build IDE.

Particle CLI (easy method)

The easiest way to upgrade to 0.5.1 system firmware, is to use the CLI and run these commands. First upgrade the System firmware, then optionally put Tinker on the device. This requires CLI version 1.14.0 or newer. You can check with particle --version.

If you have the Particle CLI installed already, you can update it with the following command. Make sure the device is in DFU mode (flashing yellow LED) and run:

sudo npm update -g particle-cli
// Note: you can try without sudo first if you wish
  1. Make sure the device is in DFU mode and run:
particle update
  1. 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

For devices already online and connected to the cloud, the system firmware can be updated OTA using these commands:

If your device is online, you can attempt to OTA (Over The Air) update these system parts as well with the particle-cli:

Note: You must download system binaries to a local directory on your machine for this to work. Binaries are attached to the bottom of this release.

Core:

particle flash YOUR_DEVICE_NAME tinker-0.5.1-core.bin

Photon:

particle flash YOUR_DEVICE_NAME system-part1-0.5.1-photon.bin
particle flash YOUR_DEVICE_NAME system-part2-0.5.1-photon.bin
particle flash YOUR_DEVICE_NAME tinker (optional)

P1:

particle flash YOUR_DEVICE_NAME system-part1-0.5.1-p1.bin
particle flash YOUR_DEVICE_NAME system-part2-0.5.1-p1.bin
particle flash YOUR_DEVICE_NAME tinker (optional)

Electron:

particle flash YOUR_DEVICE_NAME system-part1-0.5.1-electron.bin
particle flash YOUR_DEVICE_NAME system-part2-0.5.1-electron.bin
particle flash YOUR_DEVICE_NAME tinker (optional)

The local method over USB using Particle CLI

This requires CLI version 1.14.0 or newer. You can check with particle --version.

If you have the Particle CLI installed already, make sure it is updated with the following command. Make sure the device is in DFU mode and run:
sudo npm update -g particle-cli (note: you can try without sudo first if you wish)

Core:

particle flash --usb tinker-0.5.1-core.bin

Photon:

particle flash --usb system-part1-0.5.1-photon.bin
particle flash --usb system-part2-0.5.1-photon.bin
particle flash --usb tinker (optional)

P1:

particle flash --usb system-part1-0.5.1-p1.bin
particle flash --usb system-part2-0.5.1-p1.bin
particle flash --usb tinker (optional)

Electron:

particle flash --usb system-part1-0.5.1-electron.bin
particle flash --usb system-part2-0.5.1-electron.bin
particle flash --usb tinker (optional)

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:

Core:

dfu-util -d 1d50:607f -a 0 -s 0x8005000:leave -D tinker-0.5.1-core.bin

Photon:

dfu-util -d 2b04:d006 -a 0 -s 0x8020000 -D system-part1-0.5.1-photon.bin
dfu-util -d 2b04:d006 -a 0 -s 0x8060000:leave -D system-part2-0.5.1-photon.bin

P1:

dfu-util -d 2b04:d008 -a 0 -s 0x8020000 -D system-part1-0.5.1-p1.bin
dfu-util -d 2b04:d008 -a 0 -s 0x8060000:leave -D system-part2-0.5.1-p1.bin

Electron:

dfu-util -d 2b04:d00a -a 0 -s 0x8020000 -D system-part1-0.5.1-electron.bin
dfu-util -d 2b04:d00a -a 0 -s 0x8040000 -D system-part2-0.5.1-electron.bin

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.