Local flash succeeds while cloud flash fails


I’ve worked very hard on my firmware (argon/xenon).

  1. It works when I locally compile my firmware and then flash (local).
  2. It also works when I cloud compile and then flash (local),

however when I do the same with cloud flash. It always fails. console --> spark/flash/status failed

The main question is… how do I debug this?

Kind regards,

Tibor Casteleijn

The first suspicion would be that your running firmware prevents the OTA flash from working - local flash always stops your application first.
Try putting your device in Safe Mode and try OTA again. When that works your currently running code is probably blocking for extended periods causing an OTA update to fail.

1 Like

That is weird. Because i already tried the same thing, flashing tinker first and then flash my own firmware. The same result.

In order to test your hypotheses. I have put the device in safe mode and flashed my firmware. Still with the same result.

Ok. Things just went crazier. Now also tinker fails via Cloud.

particle flash --usb tinker

Flash success!

Then I tried to flash tinker again via cloud with

particle flash e00fce681c563f30xxxxxxxx tinker

Flash device OK: Update started

Flash success!

However my console tells me something different:

spark/flash/status 5/6/20 at 2:53:00 pm


spark/flash/status 5/6/20 at 2:53:52 pm


spark/status 5/6/20 at 2:54:40 pm


spark/device/last_reset 5/6/20 at 2:59:04 pm


particle/device/updates/enabled 5/6/20 at 2:59:04 pm


particle/device/updates/forced 5/6/20 at 2:59:04 pm


spark/status 5/6/20 at 2:59:05 pm


spark/device/diagnostics/update 5/6/20 at 2:59:10 pm
    "device": {
        "network": {
            "signal": {
                "at": "Wi-Fi",
                "strength": 74,
                "strength_units": "%",
                "strengthv": -63,
                "strengthv_units": "dBm",
                "strengthv_type": "RSSI",
                "quality": 58.06,
                "quality_units": "%",
                "qualityv": 27,
                "qualityv_units": "dB",
                "qualityv_type": "SNR"
        "cloud": {
            "connection": {
                "status": "connected",
                "error": 0,
                "attempts": 1,
                "disconnects": 0,
                "disconnect_reason": "none"
            "coap": {
                "unack": 0
            "publish": {
                "rate_limited": 0
        "system": {
            "uptime": 17,
            "memory": {
                "used": 94384,
                "total": 161000
    "service": {
        "device": {
            "status": "ok"
        "cloud": {
            "uptime": 5,
            "publish": {
                "sent": 2
        "coap": {
            "round_trip": 3994

Hi @ScruffR,

Doing a flash of Tinker OTA still fails.

What I’ve tried:

Flashed my Argon with Tinker on Firmware 1.5.0
Connecting to another wifi network (phone)
Remove the device from my mesh network.

Does this mean that the problem lies with my Argon?

Have you got Tinker on all of them?
Which one are you trying to OTA update: Xenon, Argon or both?
Which one is failing: Xenon, Argon or both?

Just to make it as simpel as possible. Only the Argon

@ScruffR I also tried using my Xenon. On a newly created Mesh network on my Argon (flashed with Tinker) and it has the same problem.

Issues has been solved. Root cause was firewall settings on my Ziggo router. Thanks for the help @ScruffR

1 Like