Releases: particle-iot/device-os
v1.5.4-rc.2 (Photon/P1/Electron/Argon/Boron/Xenon/B SoM/B5 SoM/Tracker)
Device OS 1.5.4-rc.2 Release Candidate is out on the Web IDE for (Photon/P1/Electron/Argon/Boron/Xenon/B SoM/B5 SoM/Tracker)
released on October 15th, 2020
Note: This is a Release Candidate (RC) and is not intended for production yet. We've tested this RC 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 RC, and be sure to upgrade to the final release when it's available. This RC 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)
- First Update to 0.5.5 (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 (if the current version is less than that)
- Then update to 1.2.1 (if the current version is less than that)
- Then update to 1.5.4-rc.2
Note: DFU over USB on Electron/Photon/P1 (sequence not required)
- You may update to 1.5.4-rc.2 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 usingparticle 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: Argon/Boron/Xenon/B SoM/B5 SoM
If your device is offline, the bootloader must be manually updated usingparticle flash --serial <bootloader.bin>
. This can be done before or after upgrading system firmware.Note: Argon/Boron/Xenon/B SoM/B5 SoM SoftDevice
If your device is offline, the SoftDevice must be manually updated using the CLI. See the instructions below.Note: Downgrading [Electron/Photon/P1] OTA or YModem transfer:
If you need to downgrade, you must downgrade to 1.2.1, then 0.7.0, then 0.6.3(Photon/P1), 0.6.4(Electron) to ensure that the bootloader downgrades automatically. When downgrading to older versions, downgrade to 1.2.1, then 0.7.0 first, then 0.6.3(Photon/P1), 0.6.4(Electron), then to an older version such as 0.5.5.
1.5.4-rc.2
Note: If your Gen 2 Photon/P1 or Gen 3 device does not have a Cloud connection, it is recommended to update system firmware, and then the bootloader via CLI with
particle flash --serial bootloader.bin
(bootloaders found in Github release). Electron bootloaders are still contained in system firmware and will update automatically as needed.
Note: If your Gen 3 device does not have a Cloud connection, this release will also require manually updating the SoftDevice via CLI. The instructions are available in the release notes and the SoftDevice binaries are available in the Github release.
This release contains v502 bootloaders.
BUGFIXES
- Configure PMIC and FuelGauge interrupt pins as
INPUT_PULLUP
#2207 - [Gen 3 / Cellular] Do not use packet buffers from pool in TX path #2150
- [Gen 3 / Cellular] Call into LwIP PPP code to indicate
PPP_IP
protocol is finished #2150 - [Gen 3] Workaround when unable to obtain DNS servers from remote PPP peer #2165
- [Cellular] When resuming cellular connection, do not run
COPS=0
again to avoid triggering PLMN reselection #2139
System Binaries (all devices)
https://github.com/particle-iot/device-os/releases/download/v1.5.4-rc.2/[email protected]
Programming and Debugging
You can view specific programming and debugging notes for this version of firmware here.
SoftDevice update
This Device OS release will automatically update the SoftDevice for devices connected to the cloud.
Prerequisites
particle-cli version 2.8.1.
Upgrading OTA
- Upgrade to 1.5.4-rc.2
- Manually flash 1.5.4-rc.2 bootloader:
particle flash <deviceId> [email protected]
- Flash SoftDevice:
particle flash <deviceId> [email protected]
Upgrading using YModem
- Upgrade to 1.5.4-rc.2
- Put the device into listening mode (blinking blue) by holding MODE button
- Manually flash 1.5.4-rc.2 bootloader:
particle flash --serial [email protected]
- Flash SoftDevice:
particle flash --serial [email protected]
Upgrading using DFU (--usb only works for SoftDevice, not bootloader yet)
- Upgrade Device OS to 1.5.4-rc.2
- Update the bootloader to 1.5.4-rc.2 with the OTA or YModem process above
- Put the device into DFU mode (blinking yellow)
- Flash the SoftDevice:
particle flash --usb [email protected]
v2.0.0-rc.2 (Photon/P1/Electron/Argon/Boron/B SoM/B5 SoM)
Device OS 2.0.0-rc.2 Release Candidate is out on the Web IDE for (Photon/P1/Electron/Argon/Boron/B SoM/B5 SoM)
released on September 22nd, 2020
See documentation about Device OS versions, their current state, upgrades and downgrades here.
Note: This is a Release Candidate (RC) and is not intended for production yet. We've tested this RC 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 RC, and be sure to upgrade to the final release when it's available. This RC 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)
- First Update to 0.5.5 (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 (if the current version is less than that)
- Then update to 1.2.1 (if the current version is less than that)
- Then update to 2.0.0-rc.2
Note: DFU over USB on Electron/Photon/P1 (sequence not required)
- You may update to 2.0.0-rc.2 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 usingparticle 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: Argon/Boron/B SoM/B5 SoM
If your device is offline, the bootloader must be manually updated usingparticle flash --serial <bootloader.bin>
. This can be done before or after upgrading system firmware.Note: Argon/Boron/B SoM/B5 SoM SoftDevice
If your device is offline, the SoftDevice must be manually updated using the CLI. See the instructions below.Note: Downgrading [Electron/Photon/P1] OTA or YModem transfer:
If you need to downgrade, you must downgrade to 1.2.1, then 0.7.0, then 0.6.3(Photon/P1), 0.6.4(Electron) to ensure that the bootloader downgrades automatically. When downgrading to older versions, downgrade to 1.2.1, then 0.7.0 first, then 0.6.3(Photon/P1), 0.6.4(Electron), then to an older version such as 0.5.5.Note: Downgrading [LTE Boron and BSoM]:
If you need to downgrade, you must downgrade to 1.5.2 first. and let the device attempt a cellular network registration.
2.0.0-rc.2
DEPRECATION
- [Cellular] Mark
CellularSignal::rssi
andCellularSignal::qual
as deprecated #2182
FEATURES
- [Cellular] Read IMSI when multi-IMSI SIM performs the switch #2174 #2179
- Allow UDP server public key to be set in DCT programmatically #2178
- [Gen 2] Wake-up by analog value #2172
- [Gen 2] Wake-up by USART #2173
- [Gen 3] Add
ftruncate()
andtruncate()
APIs #2195 - Expose functions to fetch serial / mobile secret from OTP-area #2190
- [Electron] Wake-up by cellular #2186
ENHANCEMENTS
- Clear OTA slots after updating firmware modules to improve reliability of OTA updates #2176
- [Cellular] Replace
AT+COPS=2
withAT+CFUN=0
orAT+CFUN=4
to prevent longer registration times #2177 - [Cellular] IMSI-based operator lookup, operator-specific enhancements #2185
- [Electron] Recovery mechanics for cases when the modem becomes unresponsive #2198
- Add
printf
attributes to appopriate wiring functions to generate-Wformat
warnings #2201 - Change
Time::now()
return type to 32-bittime32_t
to reduce potential issues withprintf
formatting of 64-bittime_t
#2201
BUGFIXES
- [Electron] Fix modem log timestamps starting with a high number on boot #2169
- [Cellular] Make sure 2G fallback stays disabled on Quectel BG96-based platforms #2175
- [Gen 3] Fix USART wake-up source configuration in Ultra Low Power mode, causing immediate sleep mode exit #2180
- [Gen 3] Fix tone generation behavior with zero duration (infinite) #2183
- Exclude printable objects from
Print
overload taking integral and unsigned integer convertible types #2181 - [Boron / B SoM] Fix warm bootup on uBlox SARA R4-based devices #2188
- [Gen 2] Support repeated-START between WRITE and READ operations in I2C Slave mode #2184 #2193
- Fastpin functions should not depend on the object initialization order #2194
- [Electron] Fix modem power leakage when the modem is in an unknown state when going into a sleep mode #2197
- [BLE] Fix issue with
.serviceUUID()
not returning UUID when there is an array #2202 - [Gen 3] Default SPI pin drive strength changed to high 7f2e8a711bd14abd1e094679f1cc6d26742cb6c9
System Binaries (all devices)
https://github.com/particle-iot/device-os/releases/download/v2.0.0-rc.2/[email protected]
Programming and Debugging
You can view specific programming and debugging notes for this version of firmware here.
SoftDevice update
This Device OS release will automatically update the SoftDevice for devices connected to the cloud.
Prerequisites
particle-cli version 2.7.2.
Upgrading OTA
- Upgrade to 2.0.0-rc.2
- Manually flash 2.0.-rc.1 bootloader:
particle flash <deviceId> [email protected]
- Flash SoftDevice:
particle flash <deviceId> [email protected]
Upgrading using YModem
- Upgrade to 2.0.0-rc.2
- Put the device into listening mode (blinking blue) by holding MODE button
- Manually flash 2.0.0-rc.2 bootloader:
particle flash --serial [email protected]
- Flash SoftDevice:
particle flash --serial [email protected]
Upgrading using DFU (--usb only works for SoftDevice, not bootloader yet)
- Upgrade Device OS to 2.0.0-rc.2
- Update the bootloader to 2.0.0-rc.2 with the OTA or YModem process above
- Put the device into DFU mode (blinking yellow)
- Flash the SoftDevice:
particle flash --usb [email protected]
QA Report Summary for Particle Device OS
You can view results of tests run this release here.
v2.0.0-rc.1 (Photon/P1/Electron/Argon/Boron/B SoM/B5 SoM)
Device OS 2.0.0-rc.1 Release Candidate is out on the Web IDE for (Photon/P1/Electron/Argon/Boron/B SoM/B5 SoM)
released on July 30th, 2020
See documentation about Device OS versions, their current state, upgrades and downgrades here.
Note: This is a Release Candidate (RC) and is not intended for production yet. We've tested this RC 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 RC, and be sure to upgrade to the final release when it's available. This RC 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)
- First Update to 0.5.5 (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 (if the current version is less than that)
- Then update to 1.2.1 (if the current version is less than that)
- Then update to 2.0.0-rc.1
Note: DFU over USB on Electron/Photon/P1 (sequence not required)
- You may update to 2.0.0-rc.1 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 usingparticle 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: Argon/Boron/B SoM/B5 SoM
If your device is offline, the bootloader must be manually updated usingparticle flash --serial <bootloader.bin>
. This can be done before or after upgrading system firmware.Note: Argon/Boron/B SoM/B5 SoM SoftDevice
If your device is offline, the SoftDevice must be manually updated using the CLI. See the instructions below.Note: Downgrading [Electron/Photon/P1] OTA or YModem transfer:
If you need to downgrade, you must downgrade to 1.2.1, then 0.7.0, then 0.6.3(Photon/P1), 0.6.4(Electron) to ensure that the bootloader downgrades automatically. When downgrading to older versions, downgrade to 1.2.1, then 0.7.0 first, then 0.6.3(Photon/P1), 0.6.4(Electron), then to an older version such as 0.5.5.
2.0.0-rc.1
BREAKING CHANGES
- Mesh support removed. 2.x+ DeviceOS releases no longer have Mesh capabilities #2068
- Xenon platform support removed. 2.x+ DeviceOS releases no longer support Xenons #2068
- Minimum ARM GCC version required increased to 9.2.1 #2123
SPISettings
class is always available even if compiling without Arduino compatibility #2138- Add deprecation notices for some of the renamed HAL APIs (with appropriate replacements) #2148
- LTE Borons and BSoM will be unable to communicate with the cellular modem when downgrading from 2.x+ DeviceOS unless first downgraded to 1.5.2 and letting the device attempt a cellular network registration
FEATURES
- [Gen 3] Wake up from STOP/ULP/Hibernate modes by analog pin #2163
- [Gen 3] Wake up from STOP/ULP modes by WiFi/Cellular and UART #2162
- [Gen 3]
pinSetDriveStrength()
API #2157 - Add
os_queue_peek()
and make sure that queues and semaphores can be accessed from ISRs #2156 #2074 - [Gen 3 / Cellular] Proactively attempt to recover from a number of failed cellular registration states #2150
- [Gen 3 / Cellular] Reset cellular modem if failing to establish PPP session for over 5 minutes #2150
- [Gen 2] Blocking UDP socket reads with a timeout #2150
- Power-loss resistant bootloader updates through MBR #2151
- Ultra low power sleep mode #2149 #2133 #2132 #2129 #2130 #2125 #2136
- Additional APN settings based on ICCIDs #2144
- NTP-based internet test #2118
- [Gen 3] Warm bootup of cellular modems and cellular connectivity resumption #2102 #2146
- Support for compressed / combined binaries in OTA updates #2097
- ARM GCC 9 support #2103
- Device-initiated describe messages #2024
- Notify the cloud about planned disconnections #1899
ENHANCEMENTS
- [Gen 3] Workaround when unable to obtain DNS servers from remote PPP peer #2165
- System power manager blocks access to FuelGauge for 500ms in its own thread, instead of system when waking up from STOP/ULP sleep mode #2159
- [wiring] Pin operations are not dependent on wiring C++ peripheral object initialization (e.g.
SPI
,Wire
etc) #2157 - [Gen 3] Default SPI pin drive strength changed to high #2157
- [Gen 3] Restore original
BASEPRI
when exiting FreeRTOS critical section #2150 - [Gen 3 / Cellular] Do not use packet buffers from pool in TX path #2150
- [Gen 3 / Cellular] Reliable data mode entry when attempting to establish PPP connection #2150
- [Gen 3] Changes the implementation of Nordic SDK critical sections to use
BASEPRI
#2101 - Allow resetting the device and disconnecting from the cloud via low-level USB vendor requests #2142
- [Cellular] When resuming cellular connection, do not run
COPS=0
again to avoid triggering PLMN reselection #2139 - Reduce runtime RAM usage by sharing newlib
_impure_ptr
between modules #2126 - [Electron] Use
snprintf()
instead ofsprintf()
#2122 - [Gen 3] System thread wakeup on cloud data #2113
- [Argon] Hide unsupported WiFi wiring APIs #2120
- [B5 SoM / Tracker] Disable 2G fallback for BG96-based devices #2112
- [wiring] Changes default I2C timeouts when communicating with FuelGauge and PMIC to more manageable values #2096
- [wiring] Propagate low-level I2C errors in
FuelGauge
methods #2094 - [Gen 3] Network stack enhancements #2079
- Send describe messages as confirmable CoAP messages #2024
- [Argon] OTA adjustments #2045
- Remove support for unused control requests #2064
- RTC HAL refactoring to increase time-keeping precision #2123
- Y2k38
time_t
size change adjustments #2123 - [wiring] Refactor wiring
Time
class to use reentrant versions of libc time functions #2123
BUGFIXES
- [wiring]
Servo
object should deinit its pin when destructed #2150 - Fix an issue with
loop()
not being executed inSEMI_AUTOMATIC
modem when network interfaces are down #2150 - [Gen 3] Fix cycle counter synchronization when processing RTC overflow events #2150
- [Electron] Increase default AT command timeouts #2150
...
v1.5.4-rc.1 (Photon/P1/Electron/Argon/Boron/Xenon/B SoM/B5 SoM/Tracker)
Device OS 1.5.4-rc.1 Release Candidate is out on the Web IDE for (Photon/P1/Electron/Argon/Boron/Xenon/B SoM/B5 SoM/Tracker)
released on June 29th, 2020
See documentation about Device OS versions, their current state, upgrades and downgrades here.
Note: This is a Release Candidate (RC) and is not intended for production yet. We've tested this RC 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 RC, and be sure to upgrade to the final release when it's available. This RC 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)
- First Update to 0.5.5 (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 (if the current version is less than that)
- Then update to 1.2.1 (if the current version is less than that)
- Then update to 1.5.4-rc.1
Note: DFU over USB on Electron/Photon/P1 (sequence not required)
- You may update to 1.5.4-rc.1 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 usingparticle 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: Argon/Boron/Xenon/B SoM/B5 SoM
If your device is offline, the bootloader must be manually updated usingparticle flash --serial <bootloader.bin>
. This can be done before or after upgrading system firmware.Note: Argon/Boron/Xenon/B SoM/B5 SoM SoftDevice
If your device is offline, the SoftDevice must be manually updated using the CLI. See the instructions below.Note: Downgrading [Electron/Photon/P1] OTA or YModem transfer:
If you need to downgrade, you must downgrade to 1.2.1, then 0.7.0, then 0.6.3(Photon/P1), 0.6.4(Electron) to ensure that the bootloader downgrades automatically. When downgrading to older versions, downgrade to 1.2.1, then 0.7.0 first, then 0.6.3(Photon/P1), 0.6.4(Electron), then to an older version such as 0.5.5.
1.5.4-rc.1
Note: If your Gen 2 Photon/P1 or Gen 3 device does not have a Cloud connection, it is recommended to update system firmware, and then the bootloader via CLI with
particle flash --serial bootloader.bin
(bootloaders found in Github release). Electron bootloaders are still contained in system firmware and will update automatically as needed.
Note: If your Gen 3 device does not have a Cloud connection, this release will also require manually updating the SoftDevice via CLI. The instructions are available in the release notes and the SoftDevice binaries are available in the Github release.
This release contains v502 bootloaders.
BUGFIXES
- [Electron] Fixes buffer overrun in modem HAL #2115
- [Electron] Process 'CEREG: 0' URCs on R410M #2119
- [Photon] Fix WPA Enterprise X509 certificate parsing 428940879f5fd1d5a3bdd658260ee45a9f7aca90
System Binaries (all devices)
https://github.com/particle-iot/device-os/releases/download/v1.5.4-rc.1/[email protected]
Programming and Debugging
You can view specific programming and debugging notes for this version of firmware here.
SoftDevice update
This Device OS release will automatically update the SoftDevice for devices connected to the cloud.
Prerequisites
particle-cli version 2.6.0.
Upgrading OTA
- Upgrade to 1.5.4-rc.1
- Manually flash 1.5.4-rc.1 bootloader:
particle flash <deviceId> [email protected]
- Flash SoftDevice:
particle flash <deviceId> [email protected]
Upgrading using YModem
- Upgrade to 1.5.4-rc.1
- Put the device into listening mode (blinking blue) by holding MODE button
- Manually flash 1.5.4-rc.1 bootloader:
particle flash --serial [email protected]
- Flash SoftDevice:
particle flash --serial [email protected]
Upgrading using DFU (--usb only works for SoftDevice, not bootloader yet)
- Upgrade Device OS to 1.5.4-rc.1
- Update the bootloader to 1.5.4-rc.1 with the OTA or YModem process above
- Put the device into DFU mode (blinking yellow)
- Flash the SoftDevice:
particle flash --usb [email protected]
QA Report Summary for Particle Device OS
You can view results of tests run this release here.
v1.5.3-tracker.1 (Asset Tracker)
Device OS 1.5.3-tracker.1 Release is out for Asset Tracker
released on production servers May 22nd, 2020
1.5.3-tracker.1
FEATURES
- [Gen 3] Add API to read OTP hardware version and model information
- [Asset Tracker] Alternate I2C interface on D8/D9
ENHANCEMENTS
- [Asset Tracker] Improve external RTC accuracy
BUGFIXES
- [Asset Tracker] Hardware flow control should not be disable for revision 0 devices
- [Asset Tracker] Suspend program/erase opertion when QSPI flash init gives timeout error
System Binaries (all devices)
https://github.com/particle-iot/device-os/releases/download/v1.5.3-tracker.1/[email protected]
v1.5.2 (Photon/P1/Electron/Argon/Boron/Xenon/B SoM/B5 SoM)
Device OS 1.5.2 Default Release is out on the Web IDE for (Photon/P1/Electron/Argon/Boron/Xenon/B SoM/B5 SoM)
released on production servers May 20th, 2020
✏️ Please read all notes below
See documentation about Device OS versions, their current state, upgrades and downgrades here.
Note: If you have previously last used one of the prerelease or release versions of 1.5.x on a device, please re-flash it with 1.5.2.
Note: OTA or YModem transfer on Electron (sequence required)
- First Update to 0.5.5 (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 (if the current version is less than that)
- Then update to 1.2.1 (if the current version is less than that)
- Then update to 1.5.2
Note: DFU over USB on Electron/Photon/P1 (sequence not required)
- You may update to 1.5.2 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 usingparticle 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: Argon/Boron/Xenon/Argon-SoM/Boron-SoM/Xenon-SoM Bootloader
If your device is offline, the bootloader must be manually updated usingparticle flash --serial <bootloader.bin>
. This can be done before or after upgrading system firmware.Note: Argon/Boron/Xenon/Argon-SoM/Boron-SoM/Xenon-SoM SoftDevice
If your device is offline, the SoftDevice must be manually updated using the CLI. See the instructions below.Note: Downgrading [Electron/Photon/P1] OTA or YModem transfer:
If you need to downgrade, you must downgrade to 1.2.1, then 0.7.0, then 0.6.3(Photon/P1), 0.6.4(Electron) to ensure that the bootloader downgrades automatically. When downgrading to older versions, downgrade to 1.2.1, then 0.7.0 first, then 0.6.3(Photon/P1), 0.6.4(Electron), then to an older version such as 0.5.5.
1.5.2
Note: If your Gen 2 Photon/P1 or Gen 3 device does not have a Cloud connection, it is recommended to update system firmware via CLI with
particle update
. Electron bootloaders are still contained in system firmware and will update automatically as needed.
Note: If your Gen 3 device does not have a Cloud connection, this release will also require manually updating the SoftDevice via CLI. The instructions are available in the release notes and the SoftDevice binaries are available in the Github release.
This release contains v502 bootloaders.
BUGFIXES
- [Boron / B SoM] LTE-M1 (SARA R4) radio unresponsive when sending certain amount of data within a period of time #2100 #2105
- [B5 SoM] Suspend program/erase opertion when QSPI flash init gives timeout error
ENHANCEMENTS
- [Boron/B SoM] Forward compatibility with 460800 baudrate on SARA R4-based devices to support >= 2.x downgrades #2104
- [Boron/B SoM] Enables hardware flow control on SARA R4-based devices with appropriate modem firmware version #2079 cc7adb7c46ea82383a5f948ea1dc898270a27a3c
System Binaries (all devices)
https://github.com/particle-iot/device-os/releases/download/v1.5.2/[email protected]
SoftDevice update
This Device OS release will automatically update the SoftDevice for devices connected to the cloud.
Prerequisites
particle-cli version 2.6.0.
Upgrading using particle update
- Put the device into DFU mode
- Run
particle update
DeviceOS, bootloader and SoftDevice should get correctly updated.
Upgrading OTA
- Upgrade to 1.5.2
- Manually flash 1.5.2 bootloader:
particle flash <deviceId> [email protected]
- Flash SoftDevice:
particle flash <deviceId> [email protected]
Upgrading using YModem
- Upgrade to 1.5.2
- Put the device into listening mode (blinking blue) by holding MODE button
- Manually flash 1.5.2 bootloader:
particle flash --serial [email protected]
- Flash SoftDevice:
particle flash --serial [email protected]
Upgrading using DFU (--usb only works for SoftDevice, not bootloader yet)
- Upgrade Device OS to 1.5.2
- Update the bootloader to 1.5.2 with the OTA or YModem process above
- Put the device into DFU mode (blinking yellow)
- Flash the SoftDevice:
particle flash --usb [email protected]
Programming and Debugging
You can view specific programming and debugging notes for this version of firmware here.
QA Report Summary for Particle Device OS
You can view results of tests run this release here.
v1.5.1 (Photon/P1/Electron/Argon/Boron/Xenon/B SoM/B5 SoM)
Device OS 1.5.1 Default Release is out on the Web IDE for (Photon/P1/Electron/Argon/Boron/Xenon/B SoM/B5 SoM)
released on production servers May 6th, 2020
✏️ Please read all notes below
See documentation about Device OS versions, their current state, upgrades and downgrades here.
Note: If you have previously last used one of the prerelease or release versions of 1.5.x on a device, please re-flash it with 1.5.1.
Note: OTA or YModem transfer on Electron (sequence required)
- First Update to 0.5.5 (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 (if the current version is less than that)
- Then update to 1.2.1 (if the current version is less than that)
- Then update to 1.5.1
Note: DFU over USB on Electron/Photon/P1 (sequence not required)
- You may update to 1.5.1 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 usingparticle 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: Argon/Boron/Xenon/Argon-SoM/Boron-SoM/Xenon-SoM Bootloader
If your device is offline, the bootloader must be manually updated usingparticle flash --serial <bootloader.bin>
. This can be done before or after upgrading system firmware.Note: Argon/Boron/Xenon/Argon-SoM/Boron-SoM/Xenon-SoM SoftDevice
If your device is offline, the SoftDevice must be manually updated using the CLI. See the instructions below.Note: Downgrading [Electron/Photon/P1] OTA or YModem transfer:
If you need to downgrade, you must downgrade to 1.2.1, then 0.7.0, then 0.6.3(Photon/P1), 0.6.4(Electron) to ensure that the bootloader downgrades automatically. When downgrading to older versions, downgrade to 1.2.1, then 0.7.0 first, then 0.6.3(Photon/P1), 0.6.4(Electron), then to an older version such as 0.5.5.
1.5.1
Note: If your Gen 2 Photon/P1 or Gen 3 device does not have a Cloud connection, it is recommended to update system firmware via CLI with
particle update
. Electron bootloaders are still contained in system firmware and will update automatically as needed.
Note: If your Gen 3 device does not have a Cloud connection, this release will also require manually updating the SoftDevice via CLI. The instructions are available in the release notes and the SoftDevice binaries are available in the Github release.
This release contains v501 bootloaders.
ENHANCEMENTS
- [Argon] Increase the size of the ARP queue #2075
- [Cellular] Increase registration timeout to 10 minutes #2072
- [Electron / Boron] Make sure that SARA R4-based LTE devices report LTE Cat M1 access technology #2083
- [B5 SoM] Enable hardware flow control on Quectel modems earlier in the initialization process #2069 #2071
- [Vitals] Add CoAP transmitted, retransmitted counter diagnostics #2043
- [Vitals] Add CoAP latency diagnostic #2050
- [Cellular] Increase registration timeout to 10 minutes #2072
- Remove locking in some of the SPI and I2C APIs. SPI perofrmance tests #2088
Particle.process()
no-op when called from custom threads #2085- [Electron] Minor log message changes when the modem is not responsive #2087
BUGFIXES
- [wiring] Resolves an incompatibility around usage of
SPIClass
#2095 - [Cellular] Fixes an issue with CGI (Cellular Global Identity) not available on some devices #2067
- [Electron] Compatibility CellularSignal
rssi
andqual
values generation for LTE devices usingAT+UCGED
#2070 - [B5 SoM / Asset Tracker] Zero RSRP/RSRQ values from
AT+QCSQ
treated as errors #2078 - [wiring] BLE: use
delete
for objects allocated withnew
#2081 - [Gen 3] I2C HAL recovers the I2C bus on transmission errors #2084
- [Gen 3] Devices should be able to enter STANDBY / Hibernate sleep mode without specifying any wake-up sources #2086
- [Gen 3] Fix an issue with
platform_user_ram.ld
generation when the application path contains 'data' #2090 - [wiring] Fix
SPI
macros polluting global namespace #2089 - [system]
firmware_update_failed
andfirmware_update_complete
are mixed up 71a8eb56f8d34efbda46f5d547c92e32a42a2148 - [system] Do not propagate non-critical network errors to communication layer ba6c9d863ed79cd036848329c3b89b3c0e84dbd0
- [Gen 3] Fix a crash in
netif_ext_callback_handler()
when parsing unset event fields dd01b12ea6166b6b175c46348a2b4c180d779ead
System Binaries (all devices)
https://github.com/particle-iot/device-os/releases/download/v1.5.1/[email protected]
SoftDevice update
This Device OS release will automatically update the SoftDevice for devices connected to the cloud.
Prerequisites
particle-cli version 2.5.0.
Upgrading using particle update
- Put the device into DFU mode
- Run
particle update
DeviceOS, bootloader and SoftDevice should get correctly updated.
Upgrading OTA
- Upgrade to 1.5.1
- Manually flash 1.5.1 bootloader:
particle flash <deviceId> [email protected]
- Flash SoftDevice:
particle flash <deviceId> [email protected]
Upgrading using YModem
- Upgrade to 1.5.1
- Put the device into listening mode (blinking blue) by holding MODE button
- Manually flash 1.5.1 bootloader:
particle flash --serial [email protected]
- Flash SoftDevice:
particle flash --serial [email protected]
Upgrading using DFU (--usb only works for SoftDevice, not bootloader yet)
- Upgrade Device OS to 1.5.1
- Update the bootloader to 1.5.1 with the OTA or YModem process above
- Put the device into DFU mode (blinking yellow)
- Flash the SoftDevice:
particle flash --usb [email protected]
Programming and Debugging
You can view specific programming and debugging notes for this version of firmware here.
QA Report Summary for Particle Device OS
You can view results of tests run this release here.
v1.5.1-rc.1 (Photon/P1/Electron/Argon/Boron/Xenon/B SoM/B5 SoM)
Device OS 1.5.1-rc.1 Release Candidate is out on the Web IDE for (Photon/P1/Electron/Argon/Boron/Xenon/B SoM/B5 SoM)
released on April 29th, 2020
✅ This 1.5.1-rc.1 Release Candidate will be defaulted to 1.5.1 on May 6th, 2020 unless there are regressions found that require further patches. ✏️ Testing on your applications is encouraged and appreciated, thank you! 🙇
Note: This is a Release Candidate (RC) and is not intended for production yet. We've tested this RC 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 RC, and be sure to upgrade to the final release when it's available. This RC 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)
- First Update to 0.5.5 (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 (if the current version is less than that)
- Then update to 1.2.1 (if the current version is less than that)
- Then update to 1.5.1-rc.1
Note: DFU over USB on Electron/Photon/P1 (sequence not required)
- You may update to 1.5.1-rc.1 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 usingparticle 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: Argon/Boron/Xenon/B SoM/B5 SoM
If your device is offline, the bootloader must be manually updated usingparticle flash --serial <bootloader.bin>
. This can be done before or after upgrading system firmware.Note: Argon/Boron/Xenon/B SoM/B5 SoM SoftDevice
If your device is offline, the SoftDevice must be manually updated using the CLI. See the instructions below.Note: Downgrading [Electron/Photon/P1] OTA or YModem transfer:
If you need to downgrade, you must downgrade to 1.2.1, then 0.7.0, then 0.6.3(Photon/P1), 0.6.4(Electron) to ensure that the bootloader downgrades automatically. When downgrading to older versions, downgrade to 1.2.1, then 0.7.0 first, then 0.6.3(Photon/P1), 0.6.4(Electron), then to an older version such as 0.5.5.
1.5.1-rc.1
Note: If your Gen 2 Photon/P1 or Gen 3 device does not have a Cloud connection, it is recommended to update system firmware, and then the bootloader via CLI with
particle flash --serial bootloader.bin
(bootloaders found in Github release). Electron bootloaders are still contained in system firmware and will update automatically as needed.
Note: If your Gen 3 device does not have a Cloud connection, this release will also require manually updating the SoftDevice via CLI. The instructions are available in the release notes and the SoftDevice binaries are available in the Github release.
This release contains v501 bootloaders.
SoftDevice update
This Device OS release will automatically update the SoftDevice for devices connected to the cloud.
Prerequisites
particle-cli version 2.0.1.
Upgrading OTA
- Upgrade to 1.5.1-rc.1
- Manually flash 1.5.1-rc.1 bootloader:
particle flash <deviceId> [email protected]
- Flash SoftDevice:
particle flash <deviceId> [email protected]
Upgrading using YModem
- Upgrade to 1.5.1-rc.1
- Put the device into listening mode (blinking blue) by holding MODE button
- Manually flash 1.5.1-rc.1 bootloader:
particle flash --serial [email protected]
- Flash SoftDevice:
particle flash --serial [email protected]
Upgrading using DFU (--usb only works for SoftDevice, not bootloader yet)
- Upgrade Device OS to 1.5.1-rc.1
- Update the bootloader to 1.5.1-rc.1 with the OTA or YModem process above
- Put the device into DFU mode (blinking yellow)
- Flash the SoftDevice:
particle flash --usb [email protected]
ENHANCEMENTS
- [Argon] Increase the size of the ARP queue #2075
- [Cellular] Increase registration timeout to 10 minutes #2072
- [Electron / Boron] Make sure that SARA R4-based LTE devices report LTE Cat M1 access technology #2083
- [B5 SoM] Enable hardware flow control on Quectel modems earlier in the initialization process #2069 #2071
- [Vitals] Add CoAP transmitted, retransmitted counter diagnostics #2043
- [Vitals] Add CoAP latency diagnostic #2050
- [Cellular] Increase registration timeout to 10 minutes #2072
- Remove locking in some of the SPI and I2C APIs. SPI perofrmance tests #2088
Particle.process()
no-op when called from custom threads #2085- [Electron] Minor log message changes when the modem is not responsive #2087
BUGFIXES
- [Cellular] Fixes an issue with CGI (Cellular Global Identity) not available on some devices #2067
- [Electron] Compatibility CellularSignal
rssi
andqual
values generation for LTE devices usingAT+UCGED
#2070 - [B5 SoM / Asset Tracker] Zero RSRP/RSRQ values from
AT+QCSQ
treated as errors #2078 - [wiring] BLE: use
delete
for objects allocated withnew
#2081 - [Gen 3] I2C HAL recovers the I2C bus on transmission errors #2084
- [Gen 3] Devices should be able to enter STANDBY / Hibernate sleep mode without specifying any wake-up sources #2086
- [Gen 3] Fix an issue with
platform_user_ram.ld
generation when the application path contains 'data' #2090 - [wiring] Fix
SPI
macros polluting global namespace #2089 - [system]
firmware_update_failed
andfirmware_update_complete
are mixed up 71a8eb56f8d34efbda46f5d547c92e32a42a2148 - [system] Do not propagate non-critical network errors to communication layer ba6c9d863ed79cd036848329c3b89b3c0e84dbd0
- [Gen 3] Fix a crash in
netif_ext_callback_handler()
when parsing unset event fields dd01b12ea6166b6b175c46348a2b4c180d779ead
System Binaries (all devices)
https://github.com/particle-iot/device-os/releases/download/v1.5.1-rc.1/[email protected]
Programming and Debugging
You can view specific programming and debugging notes for this version of firmware here.
QA Report Summary for Particle Device OS
You can view results of tests run this release here.
v1.5.0 (Photon/P1/Electron/Argon/Boron/Xenon/B SoM/B5 SoM)
Device OS 1.5.0 Default Release is out on the Web IDE for (Photon/P1/Electron/Argon/Boron/Xenon/B SoM/B5 SoM)
released on production servers March 30th, 2020
✏️ Please read all notes below
Note: This is a Release and may be used for production. Any known issues are likely slated for a future version, (check Github issues). It is available by default for all devices. To use, select the 1.5.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 or release versions of 1.5.x on a device, please re-flash it with 1.5.0.
Note: OTA or YModem transfer on Electron (sequence required)
- First Update to 0.5.5 (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 (if the current version is less than that)
- Then update to 1.2.1 (if the current version is less than that)
- Then update to 1.5.0
Note: DFU over USB on Electron/Photon/P1 (sequence not required)
- You may update to 1.5.0 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 usingparticle 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: Argon/Boron/Xenon/Argon-SoM/Boron-SoM/Xenon-SoM Bootloader
If your device is offline, the bootloader must be manually updated usingparticle flash --serial <bootloader.bin>
. This can be done before or after upgrading system firmware.Note: Argon/Boron/Xenon/Argon-SoM/Boron-SoM/Xenon-SoM SoftDevice
If your device is offline, the SoftDevice must be manually updated using the CLI. See the instructions below.Note: Downgrading [Electron/Photon/P1] OTA or YModem transfer:
If you need to downgrade, you must downgrade to 1.2.1, then 0.7.0, then 0.6.3(Photon/P1), 0.6.4(Electron) to ensure that the bootloader downgrades automatically. When downgrading to older versions, downgrade to 1.2.1, then 0.7.0 first, then 0.6.3(Photon/P1), 0.6.4(Electron), then to an older version such as 0.5.5.
1.5.0
Note: If your Gen 2 Photon/P1 or Gen 3 device does not have a Cloud connection, it is recommended to update system firmware via CLI with
particle update
. Electron bootloaders are still contained in system firmware and will update automatically as needed.
Note: If your Gen 3 device does not have a Cloud connection, this release will also require manually updating the SoftDevice via CLI. The instructions are available in the release notes and the SoftDevice binaries are available in the Github release.
This release contains v501 bootloaders.
DEPRECATION
- Spark Core End-Of-Life. 1.5.x+ releases no longer support Spark Core #2003
FEATURES
- Introduce configurable I2C buffer #2022
- Support for > 255 I2C buffers and transfers, configurable timeouts #2035
- Thread-safe cloud variables #1998
- Sleep 2.0 #1986
- Enables C++14 chrono string literals for wiring APIs #1709
- [Gen 3] Implements persistent antenna selection (
Mesh.selectAntenna()
) #1933 - GCC 8 support #1971
- [B5 SoM] B5 SoM platform support
- [Boron/Electron/B5 SoM] Reverts default PMIC settings changes, adds higher level power configuration API #1992
ENHANCEMENTS
- Replace AT+CSQ usage on Quectel-based devices with AT+QCSQ 147f654
- Replace AT+CSQ/CESQ usage on ublox-based LTE devices with AT+UCGED #2033 #2038
- [wiring] Specify floating precision in JSON library #2054
- Expose full concurrent HAL APIs to the application #2052
- Close cloud socket on communication errors on all platforms except for Electron #2056
- [B5 SoM] Enable hardware flow control for Quectel modem during runtime and add support for EG91-EX #2042
- Enables Workbench DeviceOS local development (deviceOS@source) #1957
- [Gen 3/Cellular] Enables logging of modem AT commands and data transmissions by default in modular builds #1994
- [Gen 2] Removes write protection enforcement of system firmware on boot #2009
- [Cellular] Adds
SystemPowerFeature::DISABLE
to disable system power management #2015
BUGFIXES
- [Boron/B SoM/B5 SoM] Fix Cellular Global Identity generation #2062
- [B5 SoM] Strip padding
F
from ICCID 4aa1746 - Fix 3G signal strength calculation on ublox-based cellular devices 553af7b
- Only increment unacknowledged counter for requests, not acknowledgements #2046
- Fix YModem transfer regression introduced in 1.5.0-rc.2 #2051
- [wiring] Fixes a memory leakage in
Mutex
andRecursiveMutex
classes #2053 - [B5 SoM] Fixes a hardfault when Ethernet is enabled #2057
- [P1] Enable power save clock (32KHz) only if not disabled by feature flag #2058
- [wiring] Fixes multiple conflicting candidates when calling
Wire.requestFrom()
#2059 - [Gen 2] Fix
SPI.beginTransaction()
deadlocking #2060 - [Gen 3] Fix a race condition in NCP client when the GSM0710 muxer connection to the NCP is abruptly broken #2049
- [Workbench] Workaround for failing Device OS builds on Windows #2037
- [Gen 2] platform: fix
FLASH_Update()
for unaligned writes #2036 - Fixes the issue with SPI default SS pin being not configured #2039
- [gcc] fixes builds on osx and enables usage of the latest gcc versions #2041
- [Gen 3] Fixes renegotiation of options and adds IPCP packet parsing #2029
- [Gen 3] Fix parsing of large AT command responses #2017
- String::substring() unnecessarily modifies the source buffer #2026
- [B5 SoM] Fix CGI for Quectel modems #2019
- [Gen 2] Fixes socket leak in
UDP.begin()
#2031 - [Gen 3] Fixes
Serial.read()
returning -1 instead of 0 when there's no data to read #2034 - [Gen 3] Fixes BLE UUID conversion issue #1997
- [wiring] Fixes a regression in SPI due to thread-safety additions from #1879 #2023
- [Boron/BSoM] Enables advance SETUP/MODE button features (single click - RSSI, double click - soft poweroff) #1918
- Fixes a call to objdump when the compiler is not in PATH #1961
- [gcc] Ensure GPIO pinmap is initialized on first use #1963
- [Gen 3] Fixes too many connection attempts with deactivated SIM #1969
- [Gen 3] Fixes NCP issue with devices stuck in a seemingly connected state #1980
- [Photon/P1] Fixes a hardfault when calling certain
WiFI
class methods with WICED networking stack uninitialized #1949 - [Gen 3] Fixes
.particle/toolchains/gcc-arm/5.3.1/bin/objdump: not found
issues in Workbench [#1996](https://github.com/particle-iot/device-os/pull/199...
v1.5.0-rc.2 (Photon/P1/Electron/Argon/Boron/Xenon/B SoM/B5 SoM)
Device OS 1.5.0-rc.2 Release Candidate is out on the Web IDE for (Photon/P1/Electron/Argon/Boron/Xenon/B SoM/B5 SoM)
released on March 6th, 2020
✅ This 1.5.0-rc.2 Release Candidate will be defaulted to 1.5.0 on March 20th, 2020 unless there are regressions found that require further patches. ✏️ Testing on your applications is encouraged and appreciated, thank you! 🙇
Note: This is a Release Candidate (RC) and is not intended for production yet. We've tested this RC 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 RC, and be sure to upgrade to the final release when it's available. This RC 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)
- First Update to 0.5.5 (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 (if the current version is less than that)
- Then update to 1.2.1 (if the current version is less than that)
- Then update to 1.5.0-rc.2
Note: DFU over USB on Electron/Photon/P1 (sequence not required)
- You may update to 1.5.0-rc.2 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 usingparticle 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: Argon/Boron/Xenon/B SoM/B5 SoM
If your device is offline, the bootloader must be manually updated usingparticle flash --serial <bootloader.bin>
. This can be done before or after upgrading system firmware.Note: Argon/Boron/Xenon/B SoM/B5 SoM SoftDevice
If your device is offline, the SoftDevice must be manually updated using the CLI. See the instructions below.Note: Downgrading [Electron/Photon/P1] OTA or YModem transfer:
If you need to downgrade, you must downgrade to 1.2.1, then 0.7.0, then 0.6.3(Photon/P1), 0.6.4(Electron) to ensure that the bootloader downgrades automatically. When downgrading to older versions, downgrade to 1.2.1, then 0.7.0 first, then 0.6.3(Photon/P1), 0.6.4(Electron), then to an older version such as 0.5.5.
1.5.0-rc.2
Note: If your Gen 2 Photon/P1 or Gen 3 device does not have a Cloud connection, it is recommended to update system firmware, and then the bootloader via CLI with
particle flash --serial bootloader.bin
(bootloaders found in Github release). Electron bootloaders are still contained in system firmware and will update automatically as needed.
Note: If your Gen 3 device does not have a Cloud connection, this release will also require manually updating the SoftDevice via CLI. The instructions are available in the release notes and the SoftDevice binaries are available in the Github release.
This release contains v501 bootloaders.
SoftDevice update
This Device OS release will automatically update the SoftDevice for devices connected to the cloud.
Prerequisites
particle-cli version 2.0.1.
Upgrading OTA
- Upgrade to 1.5.0-rc.2
- Manually flash 1.5.0-rc.2 bootloader:
particle flash <deviceId> [email protected]
- Flash SoftDevice:
particle flash <deviceId> [email protected]
Upgrading using YModem
- Upgrade to 1.5.0-rc.2
- Put the device into listening mode (blinking blue) by holding MODE button
- Manually flash 1.5.0-rc.2 bootloader:
particle flash --serial [email protected]
- Flash SoftDevice:
particle flash --serial [email protected]
Upgrading using DFU (--usb only works for SoftDevice, not bootloader yet)
- Upgrade Device OS to 1.5.0-rc.2
- Update the bootloader to 1.5.0-rc.2 with the OTA or YModem process above
- Put the device into DFU mode (blinking yellow)
- Flash the SoftDevice:
particle flash --usb [email protected]
FEATURES
- Introduce configurable I2C buffer #2022
- Support for > 255 I2C buffers and transfers, configurable timeouts #2035
- Thread-safe cloud variables #1998
ENHANCEMENTS
- [B5 SoM] Enable hardware flow control for Quectel modem during runtime and add support for EG91-EX #2042
BUGFIXES
- [Workbench] Workaround for failing Device OS builds on Windows #2037
- [Gen 2] platform: fix
FLASH_Update()
for unaligned writes #2036 - Fixes the issue with SPI default SS pin being not configured #2039
- [gcc] fixes builds on osx and enables usage of the latest gcc versions #2041
- [Gen 3] Fixes renegotiation of options and adds IPCP packet parsing #2029
- [Gen 3] Fix parsing of large AT command responses #2017
- String::substring() unnecessarily modifies the source buffer #2026
- [B5 SoM] Fix CGI for Quectel modems #2019
- [Gen 2] Fixes socket leak in
UDP.begin()
#2031 - [Gen 3] Fixes
Serial.read()
returning -1 instead of 0 when there's no data to read #2034 - [Gen 3] Fixes BLE UUID conversion issue #1997
- [wiring] Fixes a regression in SPI due to thread-safety additions from #1879 #2023
INTERNAL
- [test] unit: fixes Print tests failing #2027
- [B5 SoM] Change the prefix of BLE broadcasting name for B5SoM #2030
- update workbench manifest with latest
buildscripts
dependency #2020
System Binaries (all devices)
https://github.com/particle-iot/device-os/releases/download/v1.5.0-rc.2/[email protected]
Programming and Debugging
You can view specific programming and debugging notes for this version of firmware here.
QA Report Summary for Particle Device OS
You can view results of tests run this release here.