Skip to content

Releases: particle-iot/device-os

v5.0.0-alpha.1 (Argon/Boron/B SoM/B5 SoM/Tracker/E SoM X/P2)

16 Jul 01:29
Compare
Choose a tag to compare

5.0.0-alpha.1

⚠️ Please note this is an internal release, do not use on production devices!

FEATURES

ENHANCEMENTS

  • Register without waiting for CSD connections #2404

BUGFIXES

  • [gen3] port newlib stdin/stdout/stderr memory leak workaround #2467
  • [p2] Flash supports page write and other fixes #2470

INTERNAL

  • Enable OTA updates on the GCC platform #2464
  • Allow overriding the platform ID on the GCC platform #2462
  • [workbench] Update workbench buildscripts to 1.11.0 #2465
  • [tests] Change PWM pins to better match e-series pinout for E SoM X. Fix other tests #2463
  • [tests] Fix broken tone and servo tests for p2 platform, also EEPROM_03 for all. #2469
  • [workbench] Stop ignoring device os scripts directory #2471

v4.0.0-alpha.2 (Argon/Boron/B SoM/B5 SoM/Tracker/E SoM X)

23 Jun 18:25
38d4581
Compare
Choose a tag to compare

4.0.0-alpha.2

⚠️ Please note this is an internal release, do not use on production devices!

FEATURES

  • [esomx] Adds preliminary support for new platform esomx #2443 #2459
  • [E404X] Determine flash part at runtime #2456
  • [gen3][quectel] Adds support for BG95-M1, BG95-MF, BG77, and EG91-NAX #2458

BUGFIXES

  • [gen3] hal: fix power leak on Boron #2452

INTERNAL

  • [workbench] update-device-os-workbench-manifest-json #2457
  • [ci] test-build-system-tune-timeouts #2455

v2.0.0-rc.3 (Photon/P1/Electron/Argon/Boron/B SoM/B5 SoM/Tracker)

21 Oct 22:07
Compare
Choose a tag to compare

Device OS 2.0.0-rc.3 Release Candidate is out on the Web IDE for (Photon/P1/Electron/Argon/Boron/B SoM/B5 SoM/Tracker)

released on October 21st, 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)

  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 1.2.1 (if the current version is less than that)
  5. Then update to 2.0.0-rc.3

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

  • You may update to 2.0.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: Argon/Boron/B SoM/B5 SoM
If your device is offline, the bootloader must be manually updated using particle 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.3

BUGFIXES

  • [Cellular] Set INPUT_PULLUP pin mode for FuelGauge and PMIC interrupt pins #2207
  • Disconnect from the cloud before going into sleep #2206
  • Use always_inline attribute for deprecated HAL API #2204
  • [Gen 3] Set SPI MOSI drive strength as high by default #2214 nrf5_sdk#12
  • [Gen 3] Fix LED behavior in case of network loss before cloud connection is established #2210
  • [Gen 3 / Cellular] Allow Software Default MNO profile to be used when chosen by SIM ICCID-based selection #2211
  • [Cellular] Allow Software Default MNO profile to be used with certain version of SARA R410 modem firmware, where MNO profile 100 is not supported #2213
  • [Boron / B SoM] Workaround for SARA R410 PPP ConfReq behavior #2208 lwip#8
  • Fix CellularSignal deprecation messages #2221
  • [Cellular] Fix PMIC reducing current on warm boot and causing modem brownouts #2215
  • [Electron] Workaround for modem HAL relying on system networking code to re-attempt initialization #2218

ENHANCEMENTS

  • Remove warning for publish and subscribe scope deprecation #2209
  • Export some common standard C library functions through dynalib #2225
  • [Electron] Monitor cellular modem for brown-outs and resets/crashes and perform reinitialization when required #2219

System Binaries (all devices)

https://github.com/particle-iot/device-os/releases/download/v2.0.0-rc.3/[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

  1. Upgrade to 2.0.0-rc.3
  2. Manually flash 2.0.0-rc.3 bootloader: particle flash <deviceId> [email protected]
  3. Flash SoftDevice: particle flash <deviceId> [email protected]

Upgrading using YModem

  1. Upgrade to 2.0.0-rc.3
  2. Put the device into listening mode (blinking blue) by holding MODE button
  3. Manually flash 2.0.0-rc.3 bootloader: particle flash --serial [email protected]
  4. Flash SoftDevice: particle flash --serial [email protected]

Upgrading using DFU (--usb only works for SoftDevice, not bootloader yet)

  1. Upgrade Device OS to 2.0.0-rc.3
  2. Update the bootloader to 2.0.0-rc.3 with the OTA or YModem process above
  3. Put the device into DFU mode (blinking yellow)
  4. Flash the SoftDevice: particle flash --usb [email protected]

v4.0.0-alpha.1 (Argon/Boron/B SoM/B5 SoM/Tracker)

21 May 16:58
Compare
Choose a tag to compare

4.0.0-alpha.1

⚠️ Please note this is an internal release, do not use on production devices!

DEPRECATION

  • [deprecation][gen2] supply secure #2442
  • [deprecation] Adds warning to some deprecated API's that will be removed in Device OS 5.x #2445
  • [deprecation] PRODUCT_ID macro #2446
  • [deprecation] remove setup_done flag and add deprecation notice #2447

FEATURES

  • [ota] new API System.updateStatus() #2344

ENHANCEMENTS

  • [gen3] wifi: add dhcp dns info to wifi config #2440
  • [ota] Additional state for firmware update checks #2344
  • Use a custom content type with CID packets when resuming the session #2441

BUGFIXES

  • [gen3] fixes hardfault during low level USB peripheral initialization under an atomic section #2448
  • [gen3] Device unable to enter listening mode with button press #2451
  • Return relevant error from control request to enter listening mode #2419

INTERNAL

  • [ci] minor update sc-101315/device-os-manifest #2449
  • [ci] chore/ci-less-frequent-cross-platform-build-checks #2434
  • [docs] Update dependencies for ARM GCC 10.2.1 #2431
  • [gen3] suppress certain reviewed GCC warnings [sc-100940] #2420
  • [ci] feature/sc-100324/ci-build-cross-platform #2418
  • [test] Wi-Fi resolve test improvements #2454

v3.3.0 (Photon/P1/Electron/Argon/Boron/B SoM/B5 SoM/Tracker)

04 Apr 14:03
Compare
Choose a tag to compare

Device OS 3.3.0 Release is available in the Web IDE, Particle CLI and Workbench for (Photon/P1/Electron/Argon/Boron/B SoM/B5 SoM/Tracker).

Released on April 4th, 2022

See documentation about Device OS versions, their current state, upgrades and downgrades here.


3.3.0

FEATURES

  • [Gen3] BLE Provisioning Mode #2382 #2379 #2405
  • System.off() API support for unsubscribing from system events/handlers #2390
  • CoAP Blockwise transfer for Describe messages #2377 #2417

ENHANCEMENTS

  • Enables stack overflow detection in all builds #2392
  • Adds LOG_C_VARG() logging macro to support vargs from user apps #2393
  • Adds os_thread_dump* introspection functions to wrap the FreeRTOS functions #2394
  • [ci] Migration to CircleCI #2395
  • Adds ability to override the panic handler in user applications #2384
  • [gen3] SystemPowerConfiguration::socBitPrecision(uint8_t bits)) API added #2401

BUGFIXES

  • Thread/interrupt safety for system_event_t subscriptions #2390
  • [gen3] BLE: introduce wiring APIs to change ATT MTU #2398
  • [gen3] Dummy setup code should not return error #2411

INTERNAL

  • Removes WiFiTesting mode and Setup over Serial1 #2386
  • [gen3] Add GCC feature 'build-id' into the system part1, monolithic and user apps #2391 #2400
  • Moves legacy makefile-based unit tests to CMake #2396
  • Makes system_version.h compliant with C; Coalesce FreeRTOS task list internals into single location #2399
  • Improves reliability of a few tests #2406
  • [test] fixes integration slo/connect_time #2412
  • [ci] fixes gcovr report generation #2409
  • Updates C++ standard version to C++17 (gnu variant) #2414
  • [test] improves wiring/no_fixture_long_running NETWORK_XX test timing #2415
  • [test] improves wiring/no_fixture LISTENING & NETWORK test timing #2416

System Binaries (all devices)

https://github.com/particle-iot/device-os/releases/download/v3.3.0/[email protected]


Programming and Debugging

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

v3.3.0-rc.1 (Photon/P1/Electron/Argon/Boron/B SoM/B5 SoM/Tracker)

18 Mar 16:33
Compare
Choose a tag to compare

Device OS 3.3.0-rc.1 Release Candidate is available in the Web IDE, Particle CLI and Workbench for (Photon/P1/Electron/Argon/Boron/B SoM/B5 SoM/Tracker).

Released on March 18th, 2022

See documentation about Device OS versions, their current state, upgrades and downgrades here.

Gen 3 256KB application binary support

Device OS 3.1 and further releases bring support for 256KB application binaries to all Gen 3 platforms (Argon, Boron, B SoM, B5 SoM, Tracker). A few important aspects of this change:

  1. Compatibility with 128KB applications built with < Device OS 3.1 versions is maintained. Devices can still run them even if other parts have been upgraded to Device OS 3.1+.
  2. Upgrade process OTA (including product-based upgrades) is transparent.
  3. When upgrading locally (using DFU or Serial), make sure to update the bootloader first, as it has some logic managing compatibility between 128KB and 256KB application types. See this page on steps how to perform the update.
  4. If using standalone Particle CLI installation, make sure it's updated to >= 2.12.0 version, which includes support for 256KB applications.

3.3.0-rc.1

FEATURES

  • [Gen3] BLE Provisioning Mode #2382 #2379 #2405
  • System.off() API support for unsubscribing from system events/handlers #2390

ENHANCEMENTS

  • Enables stack overflow detection in all builds #2392
  • Adds LOG_C_VARG() logging macro to support vargs from user apps #2393
  • Adds os_thread_dump* introspection functions to wrap the FreeRTOS functions #2394
  • [ci] Migration to CircleCI #2395
  • Adds ability to override the panic handler in user applications #2384
  • [gen3] SystemPowerConfiguration::socBitPrecision(uint8_t bits)) API added #2401

BUGFIXES

  • Thread/interrupt safety for system_event_t subscriptions #2390

INTERNAL

  • Removes WiFiTesting mode and Setup over Serial1 #2386
  • [gen3] Add GCC feature 'build-id' into the system part1, monolithic and user apps #2391 #2400
  • Moves legacy makefile-based unit tests to CMake #2396
  • Makes system_version.h compliant with C; Coalesce FreeRTOS task list internals into single location #2399
  • Improves reliability of a few tests #2406

System Binaries (all devices)

https://github.com/particle-iot/device-os/releases/download/v3.3.0-rc.1/[email protected]


Programming and Debugging

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

v2.3.0 (Photon/P1/Electron/Argon/Boron/B SoM/B5 SoM/Tracker)

25 Jan 21:16
Compare
Choose a tag to compare

Device OS 2.3.0 Default Release (LTS) is available in the Web IDE, Particle Workbench and Particle CLI for (Photon/P1/Electron/Argon/Boron/B SoM/B5 SoM/Tracker).

released on January 25th, 2022

See documentation about Device OS versions, their current state, upgrades and downgrades here.


2.3.0

FEATURES

  • [Boron / B SoM ] Support for SARA R510 #2359 #2365
  • [Electron] Optional feature to use HSE/LSI as RTC clock source instead of LSE (external 32KHz XTAL) #2354

ENHANCEMENTS

  • [Boron / B SoM / R510] Add additional modem responsiveness check on warm boot to avoid triggering R510-specific initialization issue #2373

INTERNAL

  • Fix gcov installation #2361

System Binaries (all devices)

https://github.com/particle-iot/device-os/releases/download/v2.3.0/[email protected]


Programming and Debugging

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

v3.2.0 (Photon/P1/Electron/Argon/Boron/B SoM/B5 SoM/Tracker)

18 Jan 16:57
Compare
Choose a tag to compare

Device OS 3.2.0 Release is available in the Web IDE, Particle CLI and Workbench for (Photon/P1/Electron/Argon/Boron/B SoM/B5 SoM/Tracker).

Released on January 18th, 2022

See documentation about Device OS versions, their current state, upgrades and downgrades here.


3.2.0

FEATURES

  • [wiring] acquireSerialXBuffer() API support for UART #2375
  • [Boron / B SoM ] Support for SARA R510 #2359 #2365
  • [Electron] Optional feature to use HSE/LSI as RTC clock source instead of LSE (external 32KHz XTAL) #2354
  • [Gen 3] BLE: Add ability to set and scan extended advertisement size (when using Coded PHY) #2331

ENHANCEMENTS

  • Enable GCC -Wextra when building Device OS to enable additional diagnostics provided by GCC. Fix issues uncovered #2340
  • Refactor system describe/info JSON generation to reduce size and remove invalid modules from it #2347 #2349
  • [Boron / B SoM / R510] Add additional modem responsiveness check on warm boot to avoid triggering R510-specific initialization issue #2373

BUGFIXES

  • Fix hardfault handler to SOS again #2381
  • [Gen 3] Fix LittleFS truncate causing file corruption #268 #2385
  • [Gen 3] HAL - Only skip modules that fail integrity check from module info #2387
  • [Gen 3] BLE: fix unintialized scan_phys in default scan parameters, preventing scanning from working unless BLE.setScanPhy() is manually set #2338 #2345
  • [Argon / Tracker] Avoid power leakage through ESP32 ESPBOOT pin #2342
  • Fix parsing of JSON strings with more than 127 tokens #2348
  • Clear module slots in DCT when preparing for an OTA update #2346
  • [Gen 3] Increase BLE operation timeout to ensure that BLE events are correctly handled and do not trigger an assertion #2371
  • [Argon] Fix occasional WiFI setup issue over BLE #2372
  • [Gen 3] Ensure that invalid modules are not presented to the cloud in System Describe message #2374
  • [Gen 3] BLE: Fix copy-constructor and assignment operator issues in wiring APIs #2376

INTERNAL

  • Fix compilation errors on recent Linux distros with GCC 11 and updated system header files #2383
  • [Photon / P1] system part 2 size optimizations #2349
  • Fix gcovr installation on CI #2361 #2364
  • [test] Increase cloud connection timeout to 9 min for on-device tests where applicable #2369
  • [test] Enable wiring/ble_central_peripheral and wiring/ble_scanner_broadcaster tests to be run under device-os-test-runner #2376

System Binaries (all devices)

https://github.com/particle-iot/device-os/releases/download/v3.2.0/[email protected]


Programming and Debugging

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

v3.2.0-rc.1 (Photon/P1/Electron/Argon/Boron/B SoM/B5 SoM/Tracker)

12 Nov 16:40
Compare
Choose a tag to compare

Device OS 3.2.0-rc.1 Release Candidate is available in the Web IDE, Particle CLI and Workbench for (Photon/P1/Electron/Argon/Boron/B SoM/B5 SoM/Tracker).

Released on November 12th, 2021

See documentation about Device OS versions, their current state, upgrades and downgrades here.

Gen 3 256KB application binary support

Device OS 3.1 and further releases bring support for 256KB application binaries to all Gen 3 platforms (Argon, Boron, B SoM, B5 SoM, Tracker). A few important aspects of this change:

  1. Compatibility with 128KB applications built with < Device OS 3.1 versions is maintained. Devices can still run them even if other parts have been upgraded to Device OS 3.1+.
  2. Upgrade process OTA (including product-based upgrades) is transparent.
  3. When upgrading locally (using DFU or Serial), make sure to update the bootloader first, as it has some logic managing compatibility between 128KB and 256KB application types. See this page on steps how to perform the update.
  4. If using standalone Particle CLI installation, make sure it's updated to >= 2.12.0 version, which includes support for 256KB applications.

3.2.0-rc.1

FEATURES

  • [wiring] acquireSerialXBuffer() API support for UART #2375
  • [Boron / B SoM ] Support for SARA R510 #2359 #2365
  • [Electron] Optional feature to use HSE/LSI as RTC clock source instead of LSE (external 32KHz XTAL) #2354
  • [Gen 3] BLE: Add ability to set and scan extended advertisement size (when using Coded PHY) #2331

ENHANCEMENTS

  • Enable GCC -Wextra when building Device OS to enable additional diagnostics provided by GCC. Fix issues uncovered #2340
  • Refactor system describe/info JSON generation to reduce size and remove invalid modules from it #2347 #2349
  • [Boron / B SoM / R510] Add additional modem responsiveness check on warm boot to avoid triggering R510-specific initialization issue #2373

BUGFIXES

  • [Gen 3] BLE: fix unintialized scan_phys in default scan parameters, preventing scanning from working unless BLE.setScanPhy() is manually set #2338 #2345
  • [Argon / Tracker] Avoid power leakage through ESP32 ESPBOOT pin #2342
  • Fix parsing of JSON strings with more than 127 tokens #2348
  • Clear module slots in DCT when preparing for an OTA update #2346
  • [Gen 3] Increase BLE operation timeout to ensure that BLE events are correctly handled and do not trigger an assertion #2371
  • [Argon] Fix occasional WiFI setup issue over BLE #2372
  • [Gen 3] Ensure that invalid modules are not presented to the cloud in System Describe message #2374
  • [Gen 3] BLE: Fix copy-constructor and assignment operator issues in wiring APIs #2376

INTERNAL

  • [Photon / P1] system part 2 size optimizations #2349
  • Fix gcovr installation on CI #2361 #2364
  • [test] Increase cloud connection timeout to 9 min for on-device tests where applicable #2369
  • [test] Enable wiring/ble_central_peripheral and wiring/ble_scanner_broadcaster tests to be run under device-os-test-runner #2376

Programming and Debugging

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

v2.3.0-rc.1 (Photon/P1/Electron/Argon/Boron/B SoM/B5 SoM/Tracker)

07 Oct 02:08
Compare
Choose a tag to compare

Device OS 2.3.0-rc.1 Release Candidate (LTS) is available in the Web IDE, Particle Workbench and Particle CLI for (Photon/P1/Electron/Argon/Boron/B SoM/B5 SoM/Tracker).

released on October 6th, 2021

See documentation about Device OS versions, their current state, upgrades and downgrades here.


2.3.0-rc.1

FEATURES

  • [Boron / B SoM ] Support for SARA R510 #2359 #2365
  • [Electron] Optional feature to use HSE/LSI as RTC clock source instead of LSE (external 32KHz XTAL) #2354

INTERNAL

  • Fix gcovr installation #2365

System Binaries (all devices)

https://github.com/particle-iot/device-os/releases/download/v2.3.0-rc.1/[email protected]


Programming and Debugging

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