Original Spark Core revival

Hi everyone,

I’m one of the original backers on Kickstarter and very happy to see the progress since and building of a great company and community.

I’ve decided to use some of my bottom drawer stuff for few tinkering projects, so I’ve recently tried to revive my 2 original Spark Cores.

I’ve contacted support, but they’ve been unable to help me, stating that the products are now discontinued and no support offered. One one hand, I understand, those were more or less prototypes. On the other hand, I don’t feel it’s right to just discard them now as junk, while they might still be perfectly suitable for basic projects.

So, here’s the original question, perhaps someone had similar experience and has ideas how to help:

I have problems with 2 of my old Core devices. They’ve been offline for quite a few years now, previously working without issues. I’ve tried to use them in the project now, but none of them would connect to WiFi and/or Cloud, they just keep blinking fast green. I appreciate they’re quite old now, but I was hoping there might be a solution available.

I have tried everything, including CLI:

  • particle update (did correctly and then advised no newer version available)
  • particle flash --usb tinker (OK)
  • particle keys server (OK)
  • particle keys doctor (OK)
  • particle device doctor (does all correctly - CC3000, firmware and Tinker + setup)
  • particle identify returns FW version 0.6.2
  • particle serial identify returns FW version 0.7.0

I’ve also looked into manual device flash, but none of the methods (OTA, YModem or DFU) have worked.

The device correctly finds available WiFi network during setup, everything is entered correctly (I’m using 2.4GHz b/g/n, WPA2, AES - all same as before), but it apparently doesn’t connect. I’ve tried both DHCP and Manual. The device is connected by supplied USB cable that works correctly to a Win10 machine via USB 2.0, I’ve tried the same as well just connected to the power source, no change.

All of my cores stopped working a few months ago. They all just froze at almost the same moment and would no longer connect nor run my application. I ended up replacing all of them with Photons. I hope the Photons will be available and supported for a long while, but I doubt it.

You could try a deep update.

Put the Core in DFU mode by holding down both the RST and MODE buttons, releasing RST and continuing to hold down MODE until it blinks yellow and issue the commands below, in order.

After completing some of the steps the color may change to something else; if so note what color/pattern it is, then use the button combination to get back to blinking yellow. The core should be blinking yellow before each of the commands listed below is entered.

particle flash --usb --factory tinker
particle flash --usb deep_update_2014_06
particle flash --usb tinker
particle flash --usb cc3000
particle flash --usb tinker

Then put the Core in listening mode (blinking blue) if not already in that state by pressing and releasing RST. Then holding down MODE until it blinks dark blue. Then issue the command:

particle serial wifi

The normal sequence is white, blinking green, blinking cyan (light blue), fast blinking cyan, and finally breathing cyan. If you do not get to breathing cyan, please copy and paste the terminal output in your reply and let me know how far it did get.

2 Likes

You’re a star. One Core is back online! I thought I’ve tried everything, but this cured it, finally. Thanks a lot.

Couple of points + second Core:

  1. The first command particle flash --usb --factory tinker failed on both with this:
    Error writing firmware: Invalid DFU suffix signature
    A valid DFU suffix will be required in a future dfu-util release!!!
    Last page at 0x00038273 is not writeable
  2. The WiFi needs occasionally a few resets to get going (quick flashing green, breathing cyan for a second, back to green), but I suppose it might be just a signal issue.
  3. The second Core has this blinking sequence: quick green (for a long time), quick cyan, quicker cyan, one short red, back to quick cyan. I’ve tried to repeat the flash sequence a few times, always the same - first fails as above, rest success, as the other core. I’ve tried a few resets, re-entry of WiFi settings, nothing helps. Interestingly, subsequent WiFi setups don’t ask for WEP/WPA/WPA2, it goes directly to AES/TKIP selection.

Any ideas?

Further to the above, I’ve noticed this sequence on my router:

Jul 29 14:06:36 syslog: WLCEVENTD wlceventd_proc_event(386): eth1: Deauth_ind [MAC], status: 0, reason: Deauthenticated because sending station is leaving (or has left) IBSS or ESS (3)
Jul 29 14:06:36 syslog: WLCEVENTD wlceventd_proc_event(401): eth1: Disassoc [MAC], status: 0, reason: Disassociated because sending station is leaving (or has left) BSS (8)
Jul 29 14:06:37 syslog: WLCEVENTD wlceventd_proc_event(386): eth1: Deauth_ind [MAC], status: 0, reason: Deauthenticated because sending station is leaving (or has left) IBSS or ESS (3)
Jul 29 14:06:37 syslog: WLCEVENTD wlceventd_proc_event(401): eth1: Disassoc [MAC], status: 0, reason: Disassociated because sending station is leaving (or has left) BSS (8)
Jul 29 14:06:38 syslog: WLCEVENTD wlceventd_proc_event(420): eth1: Auth [MAC], status: 0, reason: d11 RC reserved (0)
Jul 29 14:06:38 syslog: WLCEVENTD wlceventd_proc_event(449): eth1: Assoc [MAC], status: 0, reason: d11 RC reserved (0)
Jul 29 14:06:39 syslog: WLCEVENTD wlceventd_proc_event(420): eth1: Auth [MAC], status: 0, reason: d11 RC reserved (0)
Jul 29 14:06:39 syslog: WLCEVENTD wlceventd_proc_event(449): eth1: Assoc [MAC], status: 0, reason: d11 RC reserved (0)

There’s something wrong with the way the Cores are trying to connect to my WiFi network (it’s ASUS RT-AC88U). I’ve tried to modify all the settings I could, even change everything to the most basic 2.4GHz WiFi you can get (legacy, 20MHz bandwidth, no QAM, no beamforming) and nothing really helps. What’s worse, the first Core now disconnected and is exhibiting the same issues.

EDIT: I’ve tried another router just to test some completely different wireless network. I’ve also tried my mobile phone Personal Hotspot. No joy, all just green blinking, occasional cyan for a short moment.

So, another update. Something is terribly buggered with the Core’s WiFi.

I’ve managed to create a completely new WiFi network on another router, just to test the cores in isolated scenario, no other devices on it, no special settings. Block standard no frills 2.4GHz WPA2/AES.

One Core connects to it eventually and runs fine, tested for a day. I’ve managed to update it to v1.4.4 with Blink Led example running and device Health checks in the Console run well. It disconnects every now and then (not a signal issue, as it is right next to the router), sometimes doesn’t reconnect without a reset, but overall more or less functional.

The second Core though, no chance.
They’re no different, most likely even the same manufacturing batch as I’ve received them together.

The only time it connects is after running:
particle flash --usb deep_update_2014_06
That’s the only time it flashes the update, I can connect it to WiFi, it shows up in console, I can flash my own code (just the blinking led example), even 1.4.4 firmware.
Every other CLI command, every time I unplug it from power, every time I reset it, it resets and then goes into blinking loop:
Fast green, slow cyan, burst of fast cyan, single red and then again. Sometimes it goes into fast cyan cycle for a while and does nothing, but then this returns.
I can connect to it fine in CLI, I can see the ID and new firmware is there, I can change WiFi settings, but it just doesn’t connect. Ever.

Another strange thing is happening when running
particle serial wifi
Sometimes it asks for Cipher Type, sometimes it asks for Security Type, but usually not for both. WiFi network and password is asked for all the time, but Cipher and Security are very random.

Did the original Cores have such a bad WiFi implementation, or is the chip damaged?

@Phantomski, the Core was based on a Texas Instrument CC3000 WiFi module which was notoriously problematic. It was based on a 8051 microprocessor with limited RAM and program flash. It did not take long before TI abandoned the CC3000 and replaced it with the CC3320 based on a Cortex M-class microprocessor. Due to the very poor support provided by TI, Particle instead selected a Broadcom WiFi module which is found on the P0, P1 and the Photon.

Since the early days of Spark/Particle, I have seen users have a variety of strange failures with Cores. In my own experience I have had Cores no longer connect to WiFi after sitting in storage for a while. Others simply stopped working after I upgraded the application and/or DeviceOS. This has led me to trash all my Cores and replace them with Photons which are VERY reliable.

1 Like

Another update :wink:

It seems that single red blink on the second Core was the keys issue.
particle keys server
and
particle keys doctor YOUR_DEVICE_ID
cured it.

So that’s the second Core sorted. I’ve tried to connect it to the original WiFi and it surprisingly connected OK.

Trying the first Core on the same original WiFi - no such luck. The whole reset process, flashing Bootloader, FW and Tinker various ways, erasing WiFi credentials, using Device Doctor…nothing helps. That one only connects to an isolated WiFi network.

Bizarre.

Thanks for the insight. I suspected as such, it seems very random behaviour.
I’ve bought one Argon to test it now, so that would be the replacement eventually.

The only reason why I’m still trying to sort it out really is I don’t want to throw them away, while they might still have some life in them.

Right. It took a while, but both Cores are now connected, running 1.4.4 and the simple LED Blink app. I never thought that will happen, so happy days and thanks everyone for help.

I’ll keep in mind the WiFi will most likely be dodgy and gradually move to Gen3 devices for more permanent solutions. It’s bit of a shame, everything I took out of the drawer to play with (Arduino WiFi Shield, DigiStump DigiX and Spark Cores) had some kind of issues with WiFi. I guess I caught the IoT wave at the wrong time originally :wink:

Time to play with some more ESP32 boards and find one that hopefully sticks. I really like the Particle ecosystem and the Gen3 options, but what I don’t like is the idea of stuff being quickly obsolete and/or some sort of a beta experiment on end-users.