Locally building firmware for the Argon and Xenon boards?

Tags: #<Tag:0x00007f038f93fd20> #<Tag:0x00007f038f93fbe0>


Hello, when I try to follow the instructions here for locally building the firmware for the Argon and Xenon, I just get Unknown platform: xenon. Stop. from make, how would I go about building for these boards?


I’d recommend trying Particle Workbench, the new desktop IDE. That has local compilation//flashing built-in, and should make the process a lot easier.


Which OS are you using?

Particle Workbench is the “official” way to build firmware but you can build firmware without it.

To fix the problem you’re seeing above you first need to checkout a mesh compatible tag:

git checkout v0.8.0-rc.27

Next, run the following to clone the mesh submodules:

git submodule update --init

You should then be able to compile for mesh.

If you are on macOS or Linux and want an alternative interface for locally building and flashing firmware I’d highly recommend giving po-util a try.


I’m on Windows using cygwin, but in the end I’m hoping to be able to build this on a CI system. I just switched computers, so I’m setting up the toolchain on this computer right now. I’ll try this again once it’s done installing - I didn’t realize that the release/stable branch/tag didn’t have mesh support.


Where did this information come from? Not finding much about local building for the mesh devices.

Out of curiosity where would the argon-xxxxxx.bin final output file be generated


This will answer that

These are common git commands.

Because the way how to build doesn’t differ that much from previous generations. The only thing you’d need to change is the branch/tag you want to build from (as mentioned by @nrobinson2000) and insert the desired PLATFORM or PLATFORM_ID as pointed out here

Even if the list of possible PLATFORMs or PLATFORM_IDs wasn’t updated (yet), it doesn’t take many guesses to extrapolate.

But Particle Workbench will shield you from all these details, since it already provides local building capability and even supports monolithic debug builds.


@rocksetta said:
That link is really useful, thanks @ScruffR

A quick google search makes me question why don’t we do:

git submodule update --init --recursive

Takes a lot longer but might make more sense to run.


@rocksetta said:

Not finding much about local building for the mesh devices.

I agree when things are working well, but presently things are not working well, so specific pretested working examples are really needed.

So far I have tried local building on:

  1. Building Particle Firmware locally on Ubuntu. Not Working.
  2. Installing Particle Workbench on Windows Visual Studio. Not Working
  3. Particle Client on Ubuntu and Windows. Working
  4. po-util on Ubuntu. Not Working
  5. po-util on Cloud9. Working amazingly, really cool software by @nrobinson2000, but needs a premium Cloud9 account (about $250 per year)


Particle Workbench is an extension pack for Visual Studio Code not MS Visual Studio - that’s a different product.


I sometimes do make silly mistakes, but I can’t believe every step was the same as the instructions at Tutorial: Installing the Particle Workbench developer preview

Almost excited to get home to see if I tried to install it on the wrong platform.

If I did use the correct platform I could try updating it before installing the extension again.

Updating VS code solved the first problem

Now all the confusion of just opening a project.


What project?
Do you want to create a new one? Ctrl+Shift+P Particle: Create New Project
Do you want to import an existing Dev project? Ctrl+Shift+P Particle: Import Project


It’s ctrl+shift+p

and why does everything work for you @ScruffR?

I get



Yup, sorry :blush: (corrected above)

Maybe @m_m can chime in on that.


hey there :wave: sorry for the bumps :pray:

that type of error usually happens at activation-time due to an environment incompatibility. i have a task to make them more actionable / friendly - understanding your issue better would be helpful here.

when exactly does this issue occur and what steps can i take to reproduce it? can you confirm your OS + version + cpu arch (32bit / 64bit)? additionally, can you scan the dev tools’ console for any interesting errors? from vscode’s main menu: Help > Toggle Developer Tools, then look for RED :blush:

finally, just so you are aware we have a dedicated Workbench category / channel over here :point_right: https://community.particle.io/c/particle-workbench