Learn How to Upgrade Particle Mesh Device OS

Jared Wolff · 2019.9.9 · 4 Minute Read · particle

Post image

In this excerpt from my upcoming guide on Particle Mesh, you’ll learn the different ways to upgrade the OS on your Particle Mesh device. That way you can un-bork your device or add new features.

Do it all with no fears. Starting.. right now.

Let’s get going!

Count the ways

There are two different ways to upgrade the OS on Particle Mesh.

The first way is by utilizing Particle Cloud to push the new Device OS to the device during a Cloud Flash.

The alternative requires you to download firmware files from Github. Then, use particle-cli and DFU mode to flash the updated files.

Side note: remember, upgrading to the latest and greatest could come at the cost of potential bugs and instability. It’s not uncommon to use an older version for a production environment.

Let’s start with the low hanging fruit and run through the easy option!

Upgrade Using Cloud (Easy)

This method leverage’s Particle Cloud’s upgrade behavior. When an app is cloud flashed, the device will make sure that it’s running the correct Device OS. If it’s not, then it will upgrade to the needed system part.

Note: If you decide you need to downgrade, this procedure will not work. You’ll have to follow the steps below in Upgrade Locally.

Open up Particle Workbench and then the app you’re working on if you haven’t already.

Particle Workbench Device OS location

Click the current version of deviceOS at the bottom of the screen. It will open up a drop down. Then, select your target version.

Particle Workbench Select Device OS

Do a Cloud Flash from inside Particle Workbench

Once the update starts, the device will download the latest Device OS, then install the application code.

Note: the onboard RGB led will blink purple throughout the process. The device may restart several times before completing as well. The key here is to be patient.

Your device should come back alive after a minute or two. You can check the version of the system part by putting the device into listening mode (blinking blue). Then, running the following console command: particle serial identify

Here’s an example output:

particle serial identify

Your device id is 100fce86d63c42ef4334e8eb
Your system firmware version is 1.3.1-rc.1

Upgrade Locally (Slightly Harder)

The more complicated part is to program your Particle Mesh device locally.

Navigate to the Device OS public release area on Github.

Device OS download area

Find the release you’re looking for. As of this writing v1.3.1-rc.1 is the latest.

Go into the assets section and find the image that is for your device. They’re all appropriately labeled xenon-system-part, argon-system-part, and boron-system-part.

Device OS binary download

For testing reasons you should download the same version tinker app in order to make sure everything is working ok. It should look something like argon-tinker, boron-tinker, xenon-tinker and so on.

Finally, we should place the device into DFU mode. There are two ways of doing this.

Entering DFU

Use the mode and reset buttons:

Hold the Mode Button and click the Reset Button. Continue holding the Mode Button until the LED blinks yellow.

Alternatively, you can hold the Mode Button while plugging in USB. It will have the same effect as hitting the reset button.

Buttonless DFU entry:

The boot loader has a special mode. Whenever a new console session is started with the baud rate of 14400 the default goes into DFU mode. This is a great hands-free alternative.

Plug the device into your computer.

Run particle serial list. This will generate a list of all the Particle devices attached to your computer. Keep this information in your back pocket you’ll need it in the next step.

For Mac, use this command: stty -f /dev/tty.usbserial12345 14400

For PC, use this command: mode COMx 14400

Note: Make sure you change COMx or tty.usbserial12345 to match the COM port associated with your Particle Device.

In either case, you’ll find your device is blinking yellow. We’re in good shape.

Flashing the device

Flash the new system part using particle flash --usb xenon-system-part1@1.X.X.bin. The blinking will slow down while being flashed. It will then speed up once complete.

Finally, flash the tinker app using particle flash --usb xenon-tinker@1.X.X.bin You can also flash your application code directly from Particle Workbench or in the command line using particle flash.

You may be required to install a newer SoftDevice during the above process. Here’s an example of the command order to update a device:

particle flash --usb xenon-softdevice@1.3.1-rc.1.bin
particle flash --usb xenon-system-part1@1.3.1-rc.1.bin
particle flash --usb xenon-tinker@1.3.1-rc.1.bin

If you ever forget how to utilize DFU mode, come back to this section. It will save your butt in the future.


Hopefully you’re back up and running by the time you’re reading this.

Still have questions? Leave a comment here or shoot me an email. hello@jaredwolff.com

Last Modified: 2020.3.7

Subscribe here!

You may also like

Meet Pyrinas a New Way to Use Your Xenon

Talk about how Particle’s Mesh deprecation announcement, many have been left to figure out how to deploy their low power sensor networks. There was always the option of using…

Particle Mesh Deprecation Livestream Reaction

Particle held a Q&A session last week. I listened in and took some notes. I know many of you are upset. I’m not exactly pleased myself. I digress, here are a few key takeaways and…

How to Develop Particle Iot Apps Using NativeScript

If you’re developing any type of IoT product, inevitably you’ll need some type of mobile app. While there are easy ways, they’re not for production use. In this tutorial, we’ll…