GUI for device setup without cloud connection

I agree, though I know how to use it. I just cannot see why Particle seems to be turning a blind eye to this. IMHO, they seem to think that every device sold will be connected to the cloud. Of the 4 commercial products I have contracted out, none of them are connected to the could. This makes it a hassle later when the customer wants to make a change and they need to be updated. Had Particle made a simply GUI interface to upload firmware, its would be a walk in the park.


There are many ways to create a GUI that does command line flashing etc. in the background.

I’m very comfortable with bash but I know others aren’t.

I’m confused by your post. If there are many ways to create a GUI that does command line flashing I cant see a reason for them not to release something like that. There are quite a few customers here asking, and in my case pleading for them to do it.

Perhaps you could make a GUI for your customer to use?

There are so many scenarios and different methods for creating GUI’s, which is why I guess Particle hasn’t bothered to create a one-stop GUI flashing tool.


Hi @seulater

Particle did create a nice GUI and API for flashing but it is based on their cloud. I don’t think that is unreasonable given their business model.

Any USB-based flashing system would have many of the same installation issues that the current CLI has, so it would not be a super easy thing to use; it would just have a fancier interface.

As @nrobinson2000 said, it would not be that hard, so if you need it so bad, maybe you should hire a programmer to create it for you as a competitive advantage for your products.


But they already have like @bko mentioned. They just need to add the ability to flash user firmware as well.
Also, as @bko said, they did make a GUI, but it has not been kept current with the firmware releases. Its still back on 5.x. So like i said that is not even a viable option.

The strange thing is, if you can do all these options through CLI, it would be no big deal to have a nice GUI with all the buttons to do the same thing. At least then we would not have to remember all the options that change over time. They would all be right there. I’m not versed in programing for the PC, otherwise I would be more than happy to crate it and share it with everyone.

1 Like

The easiest UI to create would be a shell script that can be double clicked to open in a terminal window. The script prompts the user for a binary. User drags the binary into the terminal window, which pastes in the path. User presses enter. Script flashes firmware to device.

If you really felt you needed to make a fancy GUI out of it, you could try using Electron or anything else that is capable of running the required commands.

1 Like

Just to be clear, its not for me. Its for end customers. I.E. people who dont know beans about this sort of thing. Imagine if people had to use CLI for updating apps on their cell phones. It would be a royal nightmare.

I can’t understand why you’d use this product for a device that doesn’t connect to the cloud, but maybe that’s just me.

It’s so far outside the use-case scenario that it seems unlikely for the support to ever be very good there.

I was suggesting ways for you to help your customer flash firmware.

1 Like

I can answer that for ya. Fist just let me say just because it has wifi, does not mean it should only be used when connecting to the cloud. My cell phone has blue-tooth, but i don’t use it, should I not have bought it because of that?

A few main reasons I use Particle products are these regardless if i use wifi or not for my end product.

#1) Particle is a company that documents things very well. This is important to me. Companies that don’t take the time to document things well are either flying by the seat of their pants, or its a couple guys in a garage, and odds are wont be around long. I don’t have this concern with Particle.
#2) Particle has created great products that I trust. (I mainly use the P1 module.)
#3) Very nice and intuitive Desktop IDE.

These key components allow me to get prof of concept to customers quickly. Things just work.

As I mentioned. I don’t use wifi on the Photon or P1, But that is not 100% correct. What I found very helpful for my products is to give the users a nice GUI web page to set the product up. So what I do is give them a small button in the back, and when they press it, it will turn on the WiFi as an AP. From there the user can connect via phone, tablet or laptop. It presents them with a nice GUI landing page and all the device configurations are there for them to tweak and save. When they click save, it turns the WiFi off. So for me its only used for setting up the device and/or making adjustments for its operation.

P.S. If I am being taken negative, Im sorry, i dont mean any of this that way. I think very highly of Particle,


I split off the whole discussion about the GUI as it didn’t contribute anything to the question the original topic was about.


I think the question here is can I flash using a GUI without using SIM data? I think the answer here is to use the Desktop IDE. I find it only slightly less vile than the web console, so I haven’t tried it.
Dang, I thought you could flash locally with it. It appears you can’t. That’s rather silly.

1 Like

look at the teensy.
It’s very simple with tycmd.exe.

Create a hex file, and a cmd file with one line tycmd upload .\myfirmware.hex

I wish we could do something easy like that with the photon. Nothing to install, quick to do and simple enough for a customer.

There is a YModem function to upload and flash binaries without CLI you know?


ok but how do you send a file with ymodem. Is there an utility for that. I searched for this option while ago and never found how to send a file with ymodem

With Windows you could do it via powershell or cmd (e.g. via copy /B)

Or terminal programs usually can do that too.
Or with a C# program (probably less than 50 lines of code) you can even have your custom GUI for it.

I just tried again with cmd and copy, no success.
mode COM21 BAUD=28800 PARITY=n DATA=8
copy /B v51.bin \.\COM21

I tried with Extraputty. type f, then particle answer with “Waiting for the binary file…” when go to file transfer, ymodem send, select my bin file. After 2 minutes, it gives a serial write error…

I’m sure it’s easy but I’m unable to make it work.
Is it possible to take few minutes and give a detailed step by step procedure?
Many thanks!

I can certainly think of a few reasons why not…

There are lots of products that can be programmed via wires so it’s utterly not differentiating. Although, I grant your use case is legitimate for a cloud enabled product your use-case is a very small minority. Other products fill it nicely. Particle would then have to support this method and deal with drivers, operating systems, bad USB cables, etc. Something they do not have to do now. This is a lot of extra support variables to service a very small set of users who have a lot of alternatives.

They already do it now with CLI. Just need to wrap it with a GUI.