Particle Device OS Updates Thread

Device OS 5.2.0 Release is available in the Web IDE, Particle CLI and Workbench for (Argon/Boron/B SoM/B5 SoM/Tracker/Tracker M/E SoM X/P2).

Released on December 19th, 2022

Note: This is a Release and may be used for production.

This is a release on non-LTS feature development branch (5.x). To learn more about our new LTS release line, read our blog post.

You can view information about Device OS versions, upgrades and downgrades here.

Gen 3 256KB application binary support

Device OS v3.1.x and further releases bring support for 256KB application binaries to all Gen 3 platforms (at that time: 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.



  • Initial support for BG95-M6 modem #2555


  • [TrackerM] Collect cellular properties with system info #2602
  • [rtl872x] fixes System.ticks() #2600
  • System setup and BLE threading improvements #2587
  • [rtl872x] [freertos] [experimental] multi-step priority disinheritance #2581
  • [rtl872x] sleep improvements #2586
  • [rtl872x] fixes pinResetFast clearing too many pins and improves speed #2582
  • [rtl872x] prebootloader: enable BOR with lowest available thresholds #2569


  • [rtl872x] Fix USART/DMA deadlock #2603
  • [rtl872x] Free memory from rtl sdk in SystemISRTaskQueue #2599
  • [rtl872x] exflash: revert dcache invalidate calls after writes/erasures #2598
  • [rtl872x] Fixes a deadlock when requiring to enable RSIP #2596
  • [gen3] Use OTP Feature flag to change ADC reference source #2597
  • [rtl872x] hal: remove an assert in read()/peek() and instead adjust read/peek size #2594
  • [boron]Use the internal ADC reference on BRN404X #2588
  • [p2] Fixes the conflict between Flash API and XIP #2561
  • [Quectel] Account for “eMTC” type while obtaining signal values #2589
  • [Boron / B SoM] R410 PPP crash in network phase workaround #2571
  • [Cellular] R410 initialization SIM failure workaround #2573
  • [gen3] [p2] Fix i2c hal deadlock #2572
  • [TrackerM] Prevent connection over wifi when configured in SCAN_ONLY mode #2567
  • [p2] WiFi bugfixes #2562
  • [tracker/trackerm] Fix acquireWireBuffer for platforms where system initializes I2C before user app 2551
  • [rtl872x] BLE Central connection failure when peer disconnects #2552


  • [test] Use compatible pins for PWM tests on TrackerM #2592
  • [test] bump fastpin max limit to 10% #2591
  • [test] Add thresholds for trackerM for slo tests #2590
  • [test] Modify pins for trackerM spix tests #2585
  • [trackerm] TrackerM EVT v0.0.3 pinmap update #2580
  • Allow setting the ICCID of a virtual device #2583
  • Protobuf defs refactor / fixes submessage encoding after nanopb 0.4.5 upgrade #2578
  • Update nanopb to 0.4.5 #2563
  • Fix no_fixture_i2c for esomx,boron,bsom platforms #2559
  • [CI] fixes #2564
  • Move no_fixture_i2c to correct dir and symlink to integration/wiring #2558
  • [trackerm] TrackerM EVT v0.0.2 pinmap update #2550
  • Increase timeouts for internal CI builds on windows #2545

System Binaries (all devices)

Programming and Debugging

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