Local Argon setup without mobile apps

Tags: #<Tag:0x00007fe222dd9490> #<Tag:0x00007fe222dd9300> #<Tag:0x00007fe222dd9170> #<Tag:0x00007fe222dd9030> #<Tag:0x00007fe222dd8e00>


I’ve worked out instructions for how to set up an out-of-the-box fresh-from-the-factory Argon from scratch, without using the mobile apps. I will add the specific instructions for Borons and Xenons later. To complete setup for a Xenon leaf node (no Ethernet Wing), you will need to have an Argon or Boron gateway device already configured and online.

Since some people have had problems with older phones which weren’t able to scan the very small device barcodes, this could be useful for them in particular.

The detailed instructions are part of my Particle Cookbook project (see the “Local Mesh Device Setup” section), but here is an abridged version that assumes that you already know what you’re doing for a lot of the steps. I performed this setup on a Mac (OSX 10.14.3, Mojave). Windows or Linux computers may require additional steps to configure drivers, permissions, etc.


  • A Particle Cloud login account
  • Particle CLI version 1.40.0 or higher
  • Particle WorkBench, po-util, or other local build toolchain
  • DeviceOS 0.9.0 or higher

If you haven’t already, make sure that your Particle CLI is updated to the latest version, at least version 1.40.0. You may need to download the newest installer from the Particle web site, or run the command particle update-cli , or perhaps run the command npm install -g particle-cli, depending on how you originally installed it. If you aren’t already, make sure you are logged into your Particle account (particle login).

Unpack your Argon, place it on the breadboard, and connect it to your computer via USB. It should come up blinking blue, indicating “Listening” mode (serial).

If you try to use any Particle CLI commands for your device at this point, you’ll find that you can’t. You’ll have to get the Argon updated to deviceOS 0.9.0 or higher, first. For some reason, I found that I couldn’t even use the cli to do a DFU flash, so I ended up using Particle Workbench. I’m guessing that you could also just use the dfu utility from the command line manually, but I did not try that, and I leave that option as an exercise for the reader.

Put your Argon in DFU mode (hold down the RESET and MODE buttons simultaneously, release RESET, then when the status LED flashes yellow, release MODE).

Fire up Workbench and either open an existing project that’s set for deviceOS 0.9.0 and an Argon device, or create a new, blank project with those settings. You do not need any particular code, just an empty setup() and loop() are fine.

From the Terminal menu, select Run Build Task..., then choose Particle: Flash application & DeviceOS (local). Wait for Workbench to finish compiling and flashing (you should get a “success” message in the Workbench build terminal). Your Argon should return to Listening mode (flashing blue). If it gives you a failure the first time, return to DFU mode and run the task again, and it should succeed the second time.

At this point, you should be able to issue a particle serial identify command and it should return your Device ID and deviceOS version. You will need the Device ID in order to claim your device, so keep it handy.

You will now need to update the Argon’s NCP (Network CoProcessor), or you won’t be able to connect to WiFi. Download the NCP firmware .bin file. Then issue the command particle flash --serial argon-ncp-firmware-0.0.5-ota.bin

Now, we can configure the Argon for WiFi with particle serial wifi. Follow the prompts to connect to your network. For example:

$ particle serial wifi
? Should I scan for nearby Wi-Fi networks? Yes
? Select the Wi-Fi network with which you wish to connect your device: myNetwork
? Should I try to auto-detect the wireless security type? Yes
? Wi-Fi Password myWifiPassword
Done! Your device should now restart.

Your device should connect to WiFi and to the Particle Cloud, and begin breathing cyan.

Now you should be able to claim your device, and rename it:

$ particle device add d01c3e6h01bdh3h279c226af
Claiming device d01c3e6h01bdh3h279c226af
Successfully claimed device d01c3e6h01bdh3h279c226af

$ particle device rename d01c3e6h01bdh3h279c226af MyArgon01
Renaming device d01c3e6h01bdh3h279c226af
Successfully renamed device d01c3e6h01bdh3h279c226af to: MyArgon01

Lastly, you can create a new Mesh network with your Argon as the gateway device:

$ particle mesh create MyMeshNetwork MyArgon01
? Enter a password for the new network [hidden]
? Confirm the password [hidden]
Done! The device will be registered in the network once it is connected to to the cloud.

If all has gone well, you should be done! Your Argon should be claimed, named, and ready for action.

I’ll write up instructions with the differences for a Xenon and Boron when I get the chance. But this outline will probably be a good start for the intrepid who are too impatient to wait for me. :slight_smile:

QR code on Boron and Xenon faded by the sun

nice collection of info. thanks. when i read this,
“The RedBear product line is still available for sale, but it is unclear whether Particle will continue to develop or support them.”
i figured i’d pass along this link, it might help clear up questions on the redbear product line,



So, just guessing, for a Xenon you need to do the following:

  1. Update to 0.9.0
  2. Claim device and rename
  3. particle mesh add my_xenon my_argon


Rather than rename the device the particle mesh commands seem more than happy to accept the device id. (also @pierrep). I’m pretty sure I did this with an unclaimed device as well.

The nice thing about adding xenon is that the assisting device doesn’t have to be put in listening mode.


I have gone through the process with a Xenon before, in fact it was the first device that I tried performing a fully local setup on. Unfortunately, I didn’t really keep notes as I went along, which is why I need to do it again and document the process properly. But I do recall that with the Xenon, I ran into trouble trying to get it fully online and claimed.

I’ll be doing a fresh Xenon setup/documenting soon, and will post an update here when it’s done.

UPDATE: I just ran through the local setup of a Xenon with an Argon as the assisting device, and it was easy as pie. I just had to manually put it into DFU mode, and flash new firmware with deviceOS 0.9.0, then all I had to do was

particle mesh add <newdeviceid> <assistingdevicename>
particle device rename <newdeviceid> <newdevicename>

I had a lot more trouble getting my previous Xenon online. I’m not sure if it’s because I was using a Boron as the assisting device, or if there was something else going on that I’m not remembering now. I’ll try another Xenon on the Boron later and see if there are any differences the next time through.