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.
Click the current version of deviceOS at the bottom of the screen. It will open up a drop down. Then, select your target version.
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.
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.
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.
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.
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
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 firstname.lastname@example.org particle flash --usb email@example.com particle flash --usb firstname.lastname@example.org
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. email@example.com