Bug bounty: Kill the 'Cyan flash of death'

Fantastic! - The code is noW (typo fixed) merged into spark/master

That means that its not yet part of the stock firmware that is loaded via the Web Based IDE right?

It was a typo it is now merged into spark/master Yes it has not been pushed to the branch the webIDE builds from but I expect it will shortly

@david_s5 Right. I was about to ask you about your earlier comment since it looks like they’ve now merged all your pull requests. :slight_smile: Good work and thanks. You’ve made a lot of great contributions and fixes.

@RWB I think the Spark team stated a while ago that the branch of code pushed out to Cores and the IDE is compile-server2. Right now, that branch is almost 100 changes behind the master branch. I’m sure they’ll post to the blog once they release a firmware update.

Thanks for the info. It seems the Web IDE firmware is running alittle better now than id did 2 weeks ago when I last ran it. Not sure if its the same or not.

The Web IDE is not running any more for me and I’m unable to use Eclipse to build the firmware anymore.

I’m experiencing a slow flashing blue led before the cloud starts flashing the firmware… whenever it manages to do it…

@rlogiacco I started a new thread for this, because it seems to be unrelated to CFOD:

Great news, everyone! From Texas Instruments:

When we receive the patch we’ll share it with the community ASAP, but be forewarned: use at your own risk until it has been tested by the Spark team!


This is awexome and very promising :slight_smile:

Alright - This is great news!

@BDub have you tested master lately? Is the recovery working well?

@David_s5 I’m running the latest IDE firmware and it seems alot more stable than before. It does not freeze up near as often as the old Firmware did. Not sure what changes were made but things seem to be better.

I have not had time to try you latest firmware though.

Great news from TI… Were getting closer to Stable :smile:

@david_s5 I’ve actually been using my IWDG implementation for a while now as I’m developing an application for a client. Honestly I know my IWDG has problems, like how I like to wait in a hard loop to open the Serial port, and Smart Config needs to complete in 26.208 seconds… so those are very annoying right now, but I’ve just been code-code-coding and trying to ignore it! I’ll get up to date in a moment here :smile:

@RWB I have not look at the webIDE release history but as of yesterday it was not running my fixes currently on master.

The way I can tell is I build the following (named die) from the WebIDE, if it does not PANIC and send any red blinks it is not my fixes. Even on release there should be a red flash or two.

void setup() {


typedef void(*pv)(void);
void loop() {

  pv p = 0;


@david_s5 I’m up to date now and it looks like the bin size has increased from 68k to 88k! Quite a big jump. When I need the extra space, is there an easy way to prune out the debugging stuff with the makefile?



release make ( DEBUG_BUILD=n should be default) and

there is a PANIC_ONLY option in the common-lib config.h

(this one is same as default “make clean all”)
make clean all DEBUG_BUILD=n
text: 88836 data: 2976

make clean all DEBUG_BUILD=y
text: 90156 data: 2976

make clean all DEBUG_BUILD=y USE_SWD_JTAG=y
text: 89828 data: 2976

Makes sense?

I guess the size increase is all of the new library fixes and such… seems like a lot though.

@Bdub Hmm 20k is a lot

Try throwing PANIC_ONLY in config.h in common-lib
see //#define USE_ONLY_PANIC // Define to remove all Logging and only have Panic

Then to do make clean && make

What do you get?

Great news Zach. I commend everyone on your team and the group of users here in trying to work to resolve the CFOD issue.

I’m personally looking forward to a stable connection build (as I am sure many are). I’m an intermediate level user who isn’t able to follow much of what is being posted here and I am not in a position to learn more at this time due to having a young family and the associated time constraints. I sincerely hope that once the fix for this is in, and tested by the Spark crew, there is an easy to follow post that will guide users like me on how to upgrade the TI firmware.

As a side note, I feel like the Watch Dog work done here is highly valuable and I would encourage those that have refined it to a point of sharing it with the group to post a step by step guide on how to implement the WD in firmware. I’m generally not averse to getting my hands dirty by upgrading firmware/code, but due to time constraints am often limited in how much I can get done in a given session. Having this info available in one designated location would go a long way in making this available to a wider audience.

Thanks again!


@david_s5 Much better. I’ll keep this in mind if I need the space. Thanks!
Text: 66944 Data: 2920

1 Like

@Bdub It is probably the evil (and nesasary) {sn|vs}printf library code pulled in. A diff of the mapfile will tell you for sure