Core - Yellow flash after cloud flash

Ok - I’m going crazy. I have an original Kickstarter Core that worked fine and spent most of the last 2-3 years sitting on my shelf.

Now I’m trying to flash from the Cloud IDE. After it blinks magenta, it then goes to a yellow flash. The only way I can recover is to flash with the particle cli:

particle flash --usb myapp.bin --force

This appears to work just fine. However, it’s a hassle and I’d really like the web flash to work!

I think I did the cc3300 “deep update” a year ago when I wrestled with this problem. (I’m using particle cli 1.11, and my program is built with firmware 0.5.2).

One more clue: If I don’t use the “–force” option, the Particle flash command returns this:

running dfu-util -l
Found DFU device 1d50:607f
Error writing firmware…Incorrect platform id (expected 0, parsed 53161), use --force to override

  1. Are you running the command prompt as administrator?

  2. What happens if you flash a blank firmware to the Core? Does the yellow flash issue still occur?

I don’t have an explanation for the inability to cloud flash, but an incorrect platform ID error requiring the use of the --force option on the core when using particle flash --usb was a bug in the CLI fixed a month or two ago.

hmmmph.

I tried to flash a blank project on to my Core using the Cloud IDE - it worked!

Then I tried to flash my app back on there with the Cloud IDE - the core went to flashing magenta, then flashing green, then to flashing yellow. Uh-oh.

I then reloaded my app’s firmware using the Particle CLI using a local copy of the bin file. I was now back to normal (breathing cyan).

So, I tried to flash a blank project again. It failed. It went magenta, flashing green, then flashing yellow.
At this point, I use the Particle CLI to reflash my app over USB.

Very curious. My router is a very recent Asus AC5300 (it’s a nice router, I definitely overbought there), so I don’t think there’s a WiFi problem?

There’s no circuit on the Core, except one LED+resistor on A0. The Core is connected / powered through my laptop’s USB port.

btw, when I open a command window in Windows, it is as the Administrator, so I’m running the Particle CLI as admin. Since my problem appears to be related to flash over the cloud, I don’t think that relates to the problem.

It now seems to work. I didn’t do anything special.

…strange.

After wrestling with this, it makes me think we need a few improvements:

  1. A better error message from the web IDE after a failed flash. It just says “Flash unsuccessful”
  2. A better way to confirm the version of firmware on the device. I guess the Core has just one combined system+app firmware, but there still has to be something on the device to support Particle cloud functions. I couldn’t easily find this information in the docs, and, forum posts risk having outdated information. I’d like to see a way to verify the factory firmware or whatever it is, and the CC3300 driver. A checksum would also be needed. When the environment is unstable, you just need to confirm these things.
  3. If the factory firmware is not the latest version, or, if it’s corrupted, we need the documentation on how to reset it. I’ve found some forum posts and git links, but this should be in the reference documentation and kept up to date. If I need a programmer shield or an ST-Link programmer, that should be clear.

All of these items are probably well known to the experts here, but I don’t want to research a dozen forum posts, try to determine what’s still valid, and do a bunch of trial and error. I just want the infrastructure to work and focus on my app. Don’t get me wrong - the infrastructure works very well, except when it doesn’t. So, my suggestions are meant to provide developers with a way to make sure they’re on stable footing when they run into problems.