Particle Firmware Updates Thread


#43

Hey gang!

Just a quick update that firmware repo branch latest has been deleted, and replaced by release/stable.

release/stable and master have been updated to point to release/v0.6.1

You can update your local versions with either of these commands:

git checkout release/stable && git pull
git checkout master && git pull

If you have any trouble with this, please reference this previous post Particle Firmware Updates Thread


Update local build directory
#44

Firmware 0.6.2-rc.1 Pre-release is out on the Web IDE for Core/Photon/P1/Electron

released on production servers April 5, 2017

Note: This is a pre-release and is not intended for production yet. We’ve tested this pre-release to the best of our ability and we want to know what you think now! Please understand that some care and attention is necessary when testing this pre-release, and be sure to upgrade to the final release when it’s available. It will not be available by default. To use you must select the version dropdown from the devices drawer. Downgrading back to the current release info is at the bottom of this post.

Note: You must update your Electron to v0.5.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.21.0 of the CLI first.

062rc1

0.6.2-rc.1 Changelog

ENHANCEMENT / BUG FIX

:pencil: We have done extensive testing against all Particle Libraries currently published and if they were not compiling on 0.6.1, they are now compiling once again with 0.6.2-rc.1. Please give it a test and let us know if you find anything not working properly.


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

https://github.com/spark/firmware/releases/tag/v0.6.2-rc.1


Programming and Debugging

You can view specific programming and debugging notes for this version of firmware here.


#45

Firmware 0.6.2-rc.2 Pre-release is out on the Web IDE for Core/Photon/P1/Electron

released on production servers April 27, 2017

Note: This is a pre-release and is not intended for production yet. We’ve tested this pre-release to the best of our ability and we want to know what you think now! Please understand that some care and attention is necessary when testing this pre-release, and be sure to upgrade to the final release when it’s available. It will not be available by default. To use you must select the version dropdown from the devices drawer. Downgrading back to the current release info is at the bottom of this post.

Note: You must update your Electron to v0.5.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.21.0 of the CLI first.

062rc2

0.6.2-rc.2 Changelog

FEATURES

  • [PR #1311] [Implements CH1537] [Electron] Added support for Twilio SIMs by default in system firmware.

BUG FIX

  • [PR #1310] Fixes a error when <algorithm> has already been included before the math.h header. Now we only include math.h when Arduino compatibility is requested. (math.h was not included in 0.6.0).

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

https://github.com/spark/firmware/releases/tag/v0.6.2-rc.2


Programming and Debugging

You can view specific programming and debugging notes for this version of firmware here.


#46

Firmware 0.6.2 release is out on the Web IDE for Core/Photon/P1/Electron

released on production servers May 3rd, 2017

Note: This is a Release and may be used for production. Any known issues are likely slated for 0.7.0-rc.1 (check Github issues). It is available by default for all devices. To use, select the 0.6.2 version dropdown from the devices drawer.

Note: If you have previously last used one of the prerelease versions of 0.6.2 on a Core/Photon/P1 device, please re-flash it with 0.6.2. You must upgrade (locally preferred) the Electron system firmware to 0.6.2 first before you can OTA new user apps.

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.2 directly, but make sure you have installed v1.22.0 of the CLI first.

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 system firmware if not added as a Product in Console.

062

0.6.2 Changelog

FEATURES

  • [PR #1311] [Implements CH1537] [Electron] Added support for Twilio SIMs by default in system firmware.

ENHANCEMENT / BUG FIX

BUG FIX

  • [PR #1310] Fixes a error when <algorithm> has already been included before the math.h header. Now we only include math.h when Arduino compatibility is requested. (math.h was not included in 0.6.0).

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

https://github.com/spark/firmware/releases/tag/v0.6.2


Programming and Debugging

You can view specific programming and debugging notes for this version of firmware here.


#47

Firmware 0.7.0-rc.1 Pre-release is out on the Web IDE for Core/Photon/P1/Electron

released on production servers June 29th, 2017

:pencil: Please read all notes in the Notes Festival :tada: below

Note: There are 2 known issues with 0.7.0-rc.1 where when using SYSTEM_THREAD(ENABLE) that are already fixed and will be released in 0.7.0-rc.2. See details here to see if it will affect you.

Note: This is a pre-release and is not intended for production yet. We’ve tested this pre-release to the best of our ability and we want to know what you think now! Please understand that some care and attention is necessary when testing this pre-release, and be sure to upgrade to the final release when it’s available. It will not be available by default. To use you must select the version dropdown from the devices drawer. Downgrading back to the current release info is at the bottom of this post.

Note: You must update your Electron to v0.5.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.21.0 of the CLI first.

Note about Downgrading [Photon/P1]: First downgrade system-part2 back to 0.6.2. Any attempts to write to the DCT while the device is in DFU mode will fail now. At this point, attempting to downgrade system-part1 will fail silently, since the new bootloader (v100) cannot access DCT and read module update info, thus, in order to downgrade from 0.7.0-rc.1 to 0.6.2, photon/p1 firmware modules should be flashed in the following order with 0.6.2 system binaries: system-part2 -> bootloader (v11) -> system-part1.

Note about Downgrading [Electron]: Downgrade in normal order with 0.6.2 system binaries: system-part3 -> system-part2 -> system-part1 -> bootloader (v11).

0.6.2 bootloaders have been added to this release below for convenience.

0.7.0-rc.1 Changelog

FEATURES

ENHANCEMENTS

  • [PR #1242] [Photon/P1/Electron] DFU transfer speeds increased! v100 bootloader is now 41% faster than v7 and 60% faster than the latest v11.
  • [PR #1236] [Fixes #1201] [Fixes #1194] Added type-safe wrapper for enum-based flags for Particle.publish() which enables logical OR’ed flag combinations PRIVATE | WITH_ACK
  • [PR #1247] Adds error checking to WiFi.setCredentials(), will return true if credentials has been stored successfully, or false otherwise.
  • [PR #1248] Added an overload to map() function that takes double arguments.
  • [PR #1296] [Photon/P1] [Docs] Added support for setting a custom DNS hostname, default is device ID.
  • [PR #1260] [Implements #1067] Adds ability to interrupt the blinking cyan cloud connection with the SETUP/MODE button.
  • [PR #1271] [Implements #1180] [Photon/P1] Constrains WiFi.RSSI() to -1dBm max.
  • [PR #1270] Removes spark/device/ota_result event and instead sends OTA’d module info as a payload in UpdateDone message, or as an ACK to UpdateDone.
  • [PR #1300] Restores public server key and server address if missing
  • [PR #1325] Use backup registers instead of DCT to store system flags to avoid chance of a DCT corruption.
  • [PR #1306] Bootloader module dependency and integrity checks have been added to system-part2. If they fail, the device is forced into safe mode and a new bootloader will be OTA transferred to the device.
  • [PR #1329] Adds a verification and retry scheme to the bootloader flashing routine.
  • [PR #1330] [Electron] Added CRC checking to the Electron DCD implementation so that write errors are detected. Added a critical section around flash operations and around DCD operations to make them thread safe.
  • [PR #1307] [Photon/P1] New version of WICED adds CRC checking to the DCT implementation so that write errors are detected. Added a critical section around flash operations and around DCT operations to make them thread safe.
  • [PR #1269] [Closes #1165] Cloud connection can be closed gracefully allowing confirmable messages to reach the cloud before the connection is terminated

BUGFIX

  • [PR #1246] Fixes possible corruption of event data in multi-threaded firmware
  • [PR #1234] [Fixes #1139] [Electron] spark/hardware/max_binary event was sent in error, adding 69 more bytes of data to handshake (full or session resume). Also fixes other preprocessor errors.
  • [PR #1236] [Fixes #1201] [Fixes #1194] Sanitized Particle.publish() overloads.
  • [PR #1237] Fixes potential memory leak and race condition issues in RGB.onChange() function.
  • [PR #1247] Previously no null pointer checks on password argument of WiFi.setCredentials().
  • [PR #1248] [Fixes #1193] Fixes divide by zero on incorrect parameters of map() function.
  • [PR #1254] [Fixes #1241] WiFi.connecting() was returning false while DHCP is resolving, will now remain true.
  • [PR #1296] [Fixes #1251] [Photon/P1] Default Wi-Fi DNS hostname changed to device ID, to avoid spaces in name which may cause issues.
  • [PR #1255] [Fixes #1136] [Core] Interrupts were disabled by default.
  • [PR #1259] [Fixes #1176] Makes System.sleep(mode, seconds) a synchronous operation in multithreaded firmware. This ensures the device is in a well-defined state before entering sleep mode.
  • [PR #1315] Fixes Particle Publish flag implicit conversion issue. e.g. Particle.publish("event", "data", NO_ACK); was previously changing event’s TTL instead disabling acknowledgement of the event)
  • [PR #1316] Fixes LED indication when network credentials are cleared by holding the SETUP button for >10 seconds.
  • [PR #1270] [Fixes #1240] TCP Firmware will not ACK every chunk in Fast OTA mode now.
  • [PR #1302] [Fixes #1282] [Electron] Wire1 was not working correctly.
  • [PR #1326] Renamed system_error enum to system_error_t to avoid conflicts with std::system_error class.
  • [PR #1286] Improves stability of TCP server implementation: 1) Update server’s list of clients on a client destruction (thanks @tlangmo!), 2) TCPClient now closes underlying socket on destruction.
  • [PR #1327] [Fixes #1098] [Photon/P1] Previously, when entering Sleep-stop mode: System.sleep(D1, RISING, 60); while in the process of making a Wi-Fi connection resulted in some parts of the radio still being initialized, consuming about 10-15mA more than normal.
  • [PR #1336] Fixes an issue with Serial when receiving consecutive multiple 64-byte transmissions from Host
  • [PR #1337] Fixed system attempting to enter listening mode every 1ms when the SETUP button is pressed.
  • [PR #1289] Fixes a stack overlap with system-part2 static RAM on Photon/P1
  • [PR #1289] Fixes a memory leak when Thread is terminated
  • [PR #1289] Fixes a deadlock in SoftAP, when connection is terminated prematurely
  • [PR #1340] [Electron] Fixes the monolithic build

INTERNAL

  • [PR #1313] Compilation fixes for GCC platform
  • [PR #1323] USB vendor requests should be executed on system thread instead of being processed in ISR.
  • [PR #1338] Do not read or write feature flags from an ISR

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

https://github.com/spark/firmware/releases/tag/v0.7.0-rc.1


Programming and Debugging

You can view specific programming and debugging notes for this version of firmware here.


Particle Tools Changelog
Electron Flashing Green - Will not connect until battery removed
Bug Bounty: Electron not booting after battery discharges completely
What is the Future API
#48

Firmware 0.7.0-rc.2 Pre-release is out on the Web IDE for Core/Photon/P1/Electron

released on production servers July 14th, 2017

:pencil: Please read all notes in the Notes Festival :tada: below

Note: This is a pre-release and is not intended for production yet. We’ve tested this pre-release to the best of our ability and we want to know what you think now! Please understand that some care and attention is necessary when testing this pre-release, and be sure to upgrade to the final release when it’s available. It will not be available by default. To use you must select the version dropdown from the devices drawer. Downgrading back to the current release info is at the bottom of this post.

Note: You must update your Electron to v0.5.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.21.0 of the CLI first.

Note about Downgrading [Photon/P1] OTA: First downgrade system-part2 back to 0.6.2. Any attempts to write to the DCT while the device is in DFU mode will fail now. At this point, attempting to downgrade system-part1 will fail silently, since the new bootloader (v100) cannot access DCT and read module update info, thus, in order to downgrade from 0.7.0-rc.2 to 0.6.2, photon/p1 firmware modules should be flashed in the following order with 0.6.2 system binaries: system-part2 -> bootloader (v0.6.2) -> system-part1.

Note about Downgrading [Electron] OTA: Downgrade in normal order with 0.6.2 system binaries: system-part3 -> system-part2 -> system-part1 -> bootloader (v11).

0.6.2 bootloaders have been added to this release below for convenience.

070rc2

0.7.0-rc.2 Changelog

ENHANCEMENTS

  • [PR #1357] Expands the device code from 4 digits to 6 digits for Photon/P1/Electron platforms

BUGFIX

  • [PR #1346] [Fixes #1344] [Photon/P1] When using SYSTEM_THREAD(ENABLED) the TCPServer and WPA Enterprise connections were broken.
  • [PR #1354] [Fixes #1062] A call to WiFi.scan() when Wi-Fi module is off or not ready was resulting in a hard fault.
  • [PR #1357] [Fixes #1348] SoftAP SSID was not respecting the string’s null terminator, 2 char SSID would appear as 4.
  • [PR #1355] When using WPA Enterprise access point and constantly reconnecting to it, heap was becoming fragmented which resulted in inability to connect to the access point anymore. Also reduced overall heap usage.

INTERNAL

  • [PR #1342] Removed the firmware-docs subtree from the firmware repo. Docs updates are made directly to docs repo again.
  • [PR #1352] Added test for RGB.onChange() handler leak
  • [PR #1358] Updates minimal ARM gcc version required to 5.3.1
  • [PR #1359] Fixes build with PLATFORM=gcc on OSX with clang’s gcc wrapper

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

https://github.com/spark/firmware/releases/tag/v0.7.0-rc.2


Programming and Debugging

You can view specific programming and debugging notes for this version of firmware here.


Cannot flash new code
Cannot flash new code
Cannot flash new code
Particle Tools Changelog
#49

Firmware 0.7.0-rc.3 Pre-release is out on the Web IDE for Core/Photon/P1/Electron

released on production servers August 15th, 2017

:pencil: Please read all notes in the Notes Festival :tada: below

Note: This is a pre-release and is not intended for production yet. We’ve tested this pre-release to the best of our ability and we want to know what you think now! Please understand that some care and attention is necessary when testing this pre-release, and be sure to upgrade to the final release when it’s available. It will not be available by default. To use you must select the version dropdown from the devices drawer. Downgrading back to the current release info is at the bottom of this post.

Note: You must update your Electron to v0.5.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.21.0 of the CLI first.

Note about Downgrading [Photon/P1] OTA or YModem transfer: First downgrade system-part2 back to 0.6.2. Any attempts to write to the DCT while the device is in DFU mode will fail now. At this point, attempting to downgrade system-part1 will fail silently, since the new bootloader (v100) cannot access DCT and read module update info, thus, in order to downgrade from 0.7.0-rc.3 to 0.6.2, photon/p1 firmware modules should be flashed in the following order with 0.6.2 system binaries: system-part2 -> bootloader (v0.6.2) -> system-part1.

Note about Downgrading [Electron] OTA or YModem transfer: Downgrade in normal order with 0.6.2 system binaries: system-part3 -> system-part2 -> system-part1 -> bootloader (v11).

:pencil2:0.6.2 bootloader binaries have been added to this release below (on github) convenience.

:pencil2:You can only flash the bootloader OTA or YModem over USB. DFU mode over USB will fail because it uses the bootloader itself for that mode of operation.

070rc3

0.7.0-rc.3 Changelog

DEPRECATED API

[PR #1365] Beginning with 0.8.0 release, Particle.publish() and Particle.subscribe() methods will require event scope to be specified explicitly. Please update your apps now to include the event scope to avoid compilation errors in >=0.8.0.

BUGFIX

[PR #1362] [Fixes #1360] Fixed SoftAP HTTP usage hard faulting in 0.7.0-rc.1 and 0.7.0-rc.2


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

https://github.com/spark/firmware/releases/tag/v0.7.0-rc.3


Programming and Debugging

You can view specific programming and debugging notes for this version of firmware here.


Flash system FW from 0.7.0-rc.3 to 0.6.2 problem / Safemode
Particle Tools Changelog
[SoftAP] HTTP-based public-key command times out
Particle_using_deprecated_api
#50

##Firmware 0.5.4 release is out on the Web IDE for Core/Photon/P1/Electron
released on production servers September 28th, 2017

Note: This release is primarily for MFG. It is not necessary to upgrade to this version from 0.5.3 unless you would like the Firmware Reset feature, which is also available in >=0.6.0. Most devices are on >=0.6.2 with all platforms, so this is mostly a silent release. If you would like see the release, it is here: https://github.com/spark/firmware/releases/tag/v0.5.4


0.5.4 release vs 0.6.2
#51

Firmware 0.5.5 release is out on the Web IDE for Photon/P1/Electron. (None of the changes affect the Core.)

released on production servers November 7th, 2017

Note: This is a Release and may be used for production. It is available for all devices. To use, select the 0.5.5 version dropdown from the devices drawer.

ENHANCEMENTS

  • Downgrade bootloader when downgrading from 0.7.0 or newer. #1417

BUGFIXES


KRACK Patch ETA
Particle Tools Changelog
#52

Firmware 0.6.3 release is out on the Web IDE for Photon/P1/Electron. (None of the changes affect the Core.)

released on production servers November 7th, 2017

Note: This is a Release and may be used for production. It is available for all devices. To use, select the 0.6.3 version dropdown from the devices drawer.

image

ENHANCEMENTS

  • Downgrade bootloader when downgrading from 0.7.0 or newer. #1416

BUGFIXES


KRACK Patch ETA
Particle Tools Changelog
#53

Firmware 0.6.4 release is out on the Web IDE for Electron. (None of the changes affect the Core/P1 or Photon.)

released on production servers December 2nd, 2017

Note: This is a Release and may be used for production. It is available for all devices. To use, select the 0.6.4 version dropdown from the devices drawer.

image

BUGFIXES

  • Downgrade bootloader functionality in 0.6.3 would enter an infinite loop after flashing system part 1 0.7.0-rc.X using OTA/serial. particle flash --usb/DFU was not affected.

Remote Firmware Upgrade for Electron
#54

Firmware 0.7.0-rc.6 Pre-release is out on the Web IDE for Core/Photon/P1/Electron

image

released on production servers December 12th, 2017

:pencil: Please read all notes in the Notes Festival :tada: below

Note: This is a pre-release and is not intended for production yet. We’ve tested this pre-release to the best of our ability and we want to know what you think now! Please understand that some care and attention is necessary when testing this pre-release, and be sure to upgrade to the final release when it’s available. It will not be available by default. To use you must select the version dropdown from the devices drawer. Downgrading back to the current release info is at the bottom of this post.

OTA or YModem transfer on Electron

  • update to 0.5.3 (if the current version is less than that)
  • then update to 0.6.4 if the current version is less than that)
  • then update to 0.7.0-rc.6.

Note that the upgrade sequences are only needed when updating with Over-the-Air updates or using YModem or particle flash --serial.

If you use DFU over USB (particle flash --usb), you can update to 0.7.0-rc.6 directly.

Note about Downgrading [Electron/Photon/P1] OTA or YModem transfer: You should downgrade to 0.6.4 to ensure that the bootloader downgrades automatically. When downgrading to other versions, you will have to manually downgrade the bootloader as well (see release notes in previous 0.7.0-rc.3 release)

0.7.0-rc.6 Changelog

BUGFIX

  • [Electron] Add dependency in system-part-1 on 0.6.4 system-part-3 to prevent upgrades from 0.6.3 or earlier to avoid incompatibilities with these releases.
  • The device ID is output in lowercase in DFU mode. #1432
  • increase the DTLS buffer from 768 to 800 bytes, so that the system describe message is sent.
  • remove rigid dependency check in bootloader that was causing DCT functions to not load in 0.8.0-rc.1 #1436

System Binaries (all devices)


Programming and Debugging

You can view specific programming and debugging notes for this version of firmware here.


#55

Firmware 0.8.0-rc.1 Pre-release is out on the Web IDE for Core/Photon/P1/Electron

:pencil: Please read all notes in the Notes Festival :tada: below

Note: This is a pre-release and is not intended for production yet. We’ve tested this pre-release to the best of our ability and we want to know what you think now! Please understand that some care and attention is necessary when testing this pre-release, and be sure to upgrade to the final release when it’s available. It will not be available by default. To use you must select the version dropdown from the devices drawer. Downgrading back to the current release info is at the bottom of this post.

image

Upgrading via particle flash --usb or Web IDE (OTA)

No special steps are necessary to upgrade to this release.

Upgrading via particle flash --serial or particle flash <device-id>

When you use YModem or OTA updates to update the device by hand, it’s necessary to follow an upgrade sequence so that the upgrade is successful. If the sequence is not followed, the upgrade will not happen and the version of system firmware will remain unchanged.

Electron

  • first, update to 0.5.3 (if the current version is less than that)
  • then update to 0.6.4 if the current version is less than that)
  • then update to this release, 0.8.0-rc.1.

Photon/P1

  • first, update to 0.7.0-rc.6 first
  • then update to this release, 0.8.0-rc.1

Note about Downgrading [Electron/Photon/P1] OTA or YModem transfer: You should downgrade to 0.6.4 to ensure that the bootloader downgrades automatically. When downgrading to other versions, you will have to manually downgrade the bootloader as well (see release notes in previous 0.7.0-rc.3 release)

0.8.0-rc.1 Changelog

FEATURES

  • Low-latency interrupt handlers [#1394] (https://github.com/spark/firmware/pull/1394)
  • [Electron] Reworked power management #1412
  • Battery State diagnostics #1398
  • Battery charge diagnostics #1395
  • RAM usage diagnostic sources data #1411
  • Network Signal Quality/Strength rework and diagnostics #1423
  • System uptime diagnoatics #1393
  • Diagnostics for unacked messages and rate limited events #1391
  • Network and Cloud diagnostics #1424
  • Diagnostics service #1390

ENHANCEMENTS

  • [Photon/P1] Wi-FI firmware compression #1421
  • [Photon/P1] Moves Wi-Fi tester into application module #1378

BUGFIXES

  • Cloud random seed not working #1312
  • [Electron] Error handling in the data usage API #1435

System Binaries (all devices)

Available on the GitHub release page



Photon - Firmware After 0.6.3?
Particle Tools Changelog
TlsTcpClient library 0.2.6 update
#56

Firmware 0.7.0-rc.7 Pre-release is out on the Web IDE for Core/Photon/P1/Electron

image

released on production servers February 7th, 2018

:pencil: Please read all notes in the Notes Festival :tada: below

Note: This is a pre-release and is not intended for production yet. We’ve tested this pre-release to the best of our ability and we want to know what you think now! Please understand that some care and attention is necessary when testing this pre-release, and be sure to upgrade to the final release when it’s available. It will not be available by default. To use you must select the version dropdown from the devices drawer. Downgrading back to the current release info is at the bottom of this post.

OTA or YModem transfer on Electron

  • update to 0.5.3 (if the current version is less than that)
  • then update to 0.6.4 if the current version is less than that)
  • then update to 0.7.0-rc.7.

Note that the upgrade sequences are only needed when updating with Over-the-Air updates or using YModem particle flash --serial.

If you use DFU over USB (particle flash --usb), you can update to 0.7.0-rc.7 directly.

P1/Photon Bootloader

The cloud will automatically update the bootloader on P1/Photon devices. If your device does not connect to the cloud, you should flash the bootloader to the device using particle flash --serial. This should be done after upgrading system firmware.

Note about Downgrading [Electron/Photon/P1] OTA or YModem transfer: You should downgrade to 0.6.4 to ensure that the bootloader downgrades automatically. When downgrading to other versions, you will have to manually downgrade the bootloader as well (see release notes in previous 0.7.0-rc.3 release)

0.7.0-rc.7 Changelog

BUGFIX

  • [Photon] Regression with SoftAP and URL-encoded form query #1432
  • Particle.connect() hard blocking since 0.6.1-rc.1 #1399
  • [Electron] Cellular resolve does not return 0 / false when it receives bad DNS resolution related to bad cell service #1304
  • [Core] Use the device ID as the USB serial number #1367
  • [Electron] Fix heap bounds for system part 1 #1478
  • [Electron] connect_cancel() fix #1464
  • Fixed shadowing of write(const unint_8_t*, sizte_t) in USBKeyboard #1372

Particle Tools Changelog
Photon stuck in safe mode while upgrading to 0.7.0
#57

Firmware 0.8.0-rc.2 Pre-release is out on the Web IDE for Core/Photon/P1/Electron

image

:pencil: Please read all notes in the Notes Festival :tada: below

Note: This is a pre-release and is not intended for production yet. We’ve tested this pre-release to the best of our ability and we want to know what you think now! Please understand that some care and attention is necessary when testing this pre-release, and be sure to upgrade to the final release when it’s available. It will not be available by default. To use you must select the version dropdown from the devices drawer. Downgrading back to the current release info is at the bottom of this post.

Upgrading via particle flash --usb or Web IDE (OTA)

No special steps are necessary to upgrade to this release. When using the command-line, simply run the update commands in the correct order, updating system-part1, then system-part2 etc.

From the WebIDE, select the version of system firmware in the devices drawer for your selected device and flash an app to the device. The system firmware will be updated automatically.

Note: P1/Photon: the bootloader must be upgraded using either Serial or OTA update.

Upgrading via particle flash --serial or particle flash <device-id>

When you use YModem or OTA updates to update the device by hand, it’s necessary to follow an upgrade sequence so that the upgrade is successful. If the sequence is not followed, the upgrade will not happen and the version of system firmware will remain unchanged.

Electron

  • first, update to 0.5.3 (if the current version is less than that)
  • then update to 0.6.4 if the current version is less than that)
  • then update to this release, 0.8.0-rc.1.

Photon/P1

  • first, update to 0.7.0-rc.6 first
  • then update to this release, 0.8.0-rc.1

Note about Downgrading [Electron/Photon/P1] OTA or YModem transfer: You should downgrade to 0.6.4 to ensure that the bootloader downgrades automatically. When downgrading to other versions, you will have to manually downgrade the bootloader as well (see release notes in previous 0.7.0-rc.3 release)

0.8.0-rc.2 Changelog

FEATURES

  • USB request handlers #1444
  • Out of heap system event and heap fragmentation detection #1452
  • Network and cloud diagnostics #1424
  • [Photon/P1] TCPClient: non-blocking, blocking, blocking with timeout writes support #1485
  • [Electron] adds UPSV handling to cellular_hal #1480

ENHANCEMENTS

  • Serialize access to the CRC peripheral (STM32F2xx) #1465
  • System.sleep() wake up reason #1410
  • System.sleep(): support for multiple wake up pins #1405
  • Disable WKP pin waking device up from SLEEP_MODE_DEEP #1409
  • [Photon/P1] Increase maximum supported number of simultaneously active TCP connections #1350
  • [Photon/P1] WiFi.dnsServerIP()/WiFi.dhcpServerIP() support #1386
  • Generalize FuelGauge to also use alternative I2C interfaces. #1443
  • Firmware update and access to internal flash via USB requests #1456
  • Added docs on local build setup #1374
  • Use ‘using std::**’ instead of define * std::* #1258
  • Only remake $(TARGET_BASE).elf el al. if necessary #1223

BUGFIXES

  • [Electron] Fix heap bounds build for system part1 #1478
  • [Electron] Guard cellular_command() with a global lock #1415
  • [Electron] Fix caching of the description CRCs in the backup RAM #1413
  • [Electron] connect_cancel() fix #1464
  • [Electron] DCD fixes #1454
  • [Electron] moves some newlib functions into part1 #1471
  • [Core] Fixes I2C slave mode #1309
  • [Virtual] Fixes virtual device running with UDP protocol #1462
  • Fix usage of an incorrect prerequisite name in program-* targets #1463
  • Fixed shadowing of write(const unint_8_t*, sizte_t) in USBKeyboard #1372

INTERNAL

  • Fixes some 0.8.0-rc.2 tests #1476
  • fixes the unit test build #1474
  • IS_CLAIMED request fixes #1472
  • Documents low level USB request completion notifications #1475
  • [Electron] Flash size optimizations #1469
  • Minor refactoring of the USB protocol implementation #1473

System and bootloader binaries


Help choosing correct SLEEP mode w/ Asset Tracker v2
How to tell deep sleep wake up reason between rising signal on wake up pin and RTC clock time out?
Was 0.7.0 ever released?
#58

Firmware 0.7.0 release is out on the Web IDE for Core/Photon/P1/Electron

released on production servers March 26th, 2018

Note: This is a Release and may be used for production. Any known issues are likely slated for 0.8.0-rc.3 (check Github issues). It is available by default for all devices. To use, select the 0.7.0 version dropdown from the devices drawer. Downgrading back to a previous release info is at the bottom of this post.

Note: If you have previously last used one of the prerelease versions of 0.7.0 on a Core/Photon/P1 device, please re-flash it with 0.7.0. You must upgrade (locally preferred) the Electron system firmware to 0.7.0 first before you can OTA new user apps.

Note: OTA or YModem transfer on Electron (sequence required)

  1. First Update to 0.5.3 (if the current version is less than that)
  2. Then update to 0.6.4 (if the current version is less than that)
  3. Then update to 0.7.0.

Note: DFU over USB on Electron/Photon/P1 (sequence not required)

  • You may update to 0.7.0 directly, but make sure you have installed v1.30.0 of the CLI (check with particle --version) then run particle update.

Note: P1/Photon Bootloader
The cloud will automatically update the bootloader on P1/Photon devices. If your device does not connect to the cloud, you should flash the bootloader to the device using particle flash --serial. This should be done after upgrading system firmware.

Note: Downgrading [Electron/Photon/P1] OTA or YModem transfer:
If you need to downgrade, you must downgrade to 0.6.3(Photon/P1), 0.6.4(Electron) to ensure that the bootloader downgrades automatically. When downgrading to older versions, downgrade to 0.6.3(Photon/P1), 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 previous 0.7.0-rc.3 release)

070

0.7.0 (see additional changelog 0.7.0-rc.1 ~ 0.7.0-rc.7)

BUGFIX

  • [Photon/Electron] WKP pin needs to be disabled as a wakeup source on boot to allow its normal operation #1496

0.7.0-rc.7 Changelog
0.7.0-rc.6 Changelog
0.7.0-rc.5 Changelog
0.7.0-rc.4 Changelog
0.7.0-rc.3 Changelog
0.7.0-rc.2 Changelog
0.7.0-rc.1 Changelog


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

https://github.com/particle-iot/firmware/releases/tag/v0.7.0


Programming and Debugging

You can view specific programming and debugging notes for this version of firmware here.


Update to 0.7.0 goes wrong
Photon stuck in safe mode while upgrading to 0.7.0
0.7.0 Release Changelog, Please?
Particle Tools Changelog
Upgraded to 0.7.0, WiFi does not come on in SEMI_AUTOMATIC mode
#59

Hello Friends!

Just a quick update that firmware repo branches release/stable and master have been updated to point to release/v0.7.0

You can update your local versions with either of these commands:

git checkout release/stable && git pull
git checkout master && git pull

If you have any trouble with this, please reference this previous post Particle Firmware Updates Thread


#60

Firmware 0.8.0-rc.3 Pre-release is out on the Web IDE for Core/Photon/P1/Electron

released on production servers April 10th, 2018

:pencil: Please read all notes in the Notes Festival :tada: below

Note: This is a pre-release and is not intended for production yet. We’ve tested this pre-release to the best of our ability and we want to know what you think now! Please understand that some care and attention is necessary when testing this pre-release, and be sure to upgrade to the final release when it’s available. It will not be available by default. To use you must select the version dropdown from the devices drawer. Downgrading back to the current release info is at the bottom of this post.

Note: OTA or YModem transfer on Electron (sequence required)

  1. First Update to 0.5.5 (if the current version is less than that)
  2. Then update to 0.6.4 (if the current version is less than that)
  3. Then update to 0.7.0 (if the current version is less than that)
  4. Then update to 0.8.0-rc.3

Note: DFU over USB on Electron/Photon/P1 (sequence not required)

  • You may update to 0.8.0-rc.3 directly first, flash the system firmware (attached above) in order 1,2(,3) to the device using particle flash --usb <system-part.bin>. See the next note about the bootloader if you are offline!

Note: P1/Photon Bootloader
The Cloud will automatically update the bootloader on P1/Photon devices if your device is online. If your device does not connect to the cloud and it is offline, you should flash the bootloader to the device using particle flash --serial <bootloader.bin>. This should be done after upgrading system firmware. The Electron bootloader is applied automatically from it’s own system parts.

Note: Downgrading [Electron/Photon/P1] OTA or YModem transfer:
If you need to downgrade, you must downgrade to 0.7.0 and then 0.6.3(Photon/P1), 0.6.4(Electron) to ensure that the bootloader downgrades automatically. When downgrading to older versions, downgrade to 0.7.0 first, then 0.6.3(Photon/P1), 0.6.4(Electron), then to an older version such as 0.5.5.

080rc3

0.8.0-rc.3 Changelog

ENHANCEMENTS

  • [Photon/P1] A number of networking-related fixes v2 #1500
  • [Photon/P1] Enables support for SHA384/SHA512 certificates for WPA Enterprise #1501

BUGFIXES

  • [Photon/P1] A number of networking-related fixes #1492
  • [Photon/P1] A number of networking-related fixes v2 #1500
  • [Photon/Electron] WKP pin needs to be disabled as a wakeup source on boot to allow its normal operation #1496
  • [Photon/P1/Electron] Recursive logging freezes the application thread while the LogHandler is trying to acquire a lock on the resource #1517

System Binaries (all devices)

https://github.com/particle-iot/firmware/releases/tag/v0.8.0-rc.3


Programming and Debugging

You can view specific programming and debugging notes for this version of firmware here.


PaperTrail for electron
New library - Papertrail
Help!? UDP send in LogHandler hangs electron w/ 0.6.1
Particle Tools Changelog
#61

Firmware 0.8.0-rc.4 Pre-release is out on the Web IDE for Core/Photon/P1/Electron

released on production servers May 4th, 2018

:pencil: Please read all notes in the Notes Festival :tada: below

Note: This is a pre-release and is not intended for production yet. We’ve tested this pre-release to the best of our ability and we want to know what you think now! Please understand that some care and attention is necessary when testing this pre-release, and be sure to upgrade to the final release when it’s available. It will not be available by default. To use you must select the version dropdown from the devices drawer. Downgrading back to the current release info is at the bottom of this post.

Note: OTA or YModem transfer on Electron (sequence required)

  1. First Update to 0.5.5 (if the current version is less than that)
  2. Then update to 0.6.4 (if the current version is less than that)
  3. Then update to 0.7.0 (if the current version is less than that)
  4. Then update to 0.8.0-rc.4

Note: DFU over USB on Electron/Photon/P1 (sequence not required)

  • You may update to 0.8.0-rc.4 directly first, flash the system firmware (attached above) in order 1,2(,3) to the device using particle flash --usb <system-part.bin>. See the next note about the bootloader if you are offline!

Note: P1/Photon Bootloader
The Cloud will automatically update the bootloader on P1/Photon devices if your device is online. If your device does not connect to the cloud and it is offline, you should flash the bootloader to the device using particle flash --serial <bootloader.bin>. This should be done after upgrading system firmware. The Electron bootloader is applied automatically from it’s own system parts.

Note: Downgrading [Electron/Photon/P1] OTA or YModem transfer:
If you need to downgrade, you must downgrade to 0.7.0 and then 0.6.3(Photon/P1), 0.6.4(Electron) to ensure that the bootloader downgrades automatically. When downgrading to older versions, downgrade to 0.7.0 first, then 0.6.3(Photon/P1), 0.6.4(Electron), then to an older version such as 0.5.5.

080rc4

0.8.0-rc.4

ENHANCEMENTS

  • [Electron/Photon/P1] Increase Device OS API argument lengths. More data in Functions, Variables, Publish, Subscribe… oh my! #1537

BUGFIXES

  • [Electron] Particle.keepAlive() API was broken since v0.6.2-rc.2 firmware on Electron where the System would override an early set User ping interval. This required a workaround of updating the keepAlive after the System made a connection to the Cloud. See issue #1482 for workaround. #1536
  • [Electron] Fixes missing URCs for received data during TX or RX socket operations. This caused the modem not to be able to receive further data properly until it re-connected to the Cloud which it would do automatically but usually after a short or longer period of time. #1530

System Binaries (all devices)

https://github.com/particle-iot/firmware/releases/tag/v0.8.0-rc.4


Programming and Debugging

You can view specific programming and debugging notes for this version of firmware here.


Particle Tools Changelog
How to downgrade firmware
Connect and add new wifi via Particle.function
#62

Firmware 0.8.0-rc.8 Pre-release for Core/Photon/P1/Electron

released on production servers June 26th, 2018

:pencil: Please read all notes in the Notes Festival :tada: below

Note: This is primarily a MFG. release for SARA-R410 LTE modules. The changes do touch code used on other Electron based platforms, but no other features or fixes are relevant for U260, U270, U201, or G350 modems. This code has been tested on-device for all mentioned modem types with passing results. Please let us know if you find any issues. That said, this is a release candidate for 0.8.0 default so please do test on your systems.

Note: This is a pre-release and is not intended for production yet. We’ve tested this pre-release to the best of our ability and we want to know what you think now! Please understand that some care and attention is necessary when testing this pre-release, and be sure to upgrade to the final release when it’s available. It will not be available by default. To use you must select the version dropdown from the devices drawer. Downgrading back to the current release info is at the bottom of this post.

Note: OTA or YModem transfer on Electron (sequence required)

  1. First Update to 0.5.5 (if the current version is less than that)
  2. Then update to 0.6.4 (if the current version is less than that)
  3. Then update to 0.7.0 (if the current version is less than that)
  4. Then update to 0.8.0-rc.8

Note: DFU over USB on Electron/Photon/P1 (sequence not required)

  • You may update to 0.8.0-rc.8 directly first, flash the system firmware (attached above) in order 1,2(,3) to the device using particle flash --usb <system-part.bin>. See the next note about the bootloader if you are offline!

Note: P1/Photon Bootloader
The Cloud will automatically update the bootloader on P1/Photon devices if your device is online. If your device does not connect to the cloud and it is offline, you should flash the bootloader to the device using particle flash --serial <bootloader.bin>. This should be done after upgrading system firmware. The Electron bootloader is applied automatically from it’s own system parts.

Note: Downgrading [Electron/Photon/P1] OTA or YModem transfer:
If you need to downgrade, you must downgrade to 0.7.0 and then 0.6.3(Photon/P1), 0.6.4(Electron) to ensure that the bootloader downgrades automatically. When downgrading to older versions, downgrade to 0.7.0 first, then 0.6.3(Photon/P1), 0.6.4(Electron), then to an older version such as 0.5.5.

0.8.0-rc.8

Note: This is primarily a MFG. release for SARA-R410 LTE modules. The changes do touch code used on other Electron based platforms, but no other features or fixes are relevant for U260, U270, U201, or G350 modems. This code has been tested on-device for all mentioned modem types with passing results. Please let us know if you find any issues.

BUGFIXES

  • [Electron] Disables 30 second ping for Kore SIMs on SARA_R410 (default 23 minute ping re-applied)

System Binaries (all devices)

https://github.com/particle-iot/firmware/releases/tag/v0.8.0-rc.8


Programming and Debugging

You can view specific programming and debugging notes for this version of firmware here.


How to read firmware improvements from Electron 6.4 to 7.0
Particle Tools Changelog
How to read firmware improvements from Electron 6.4 to 7.0