We had a really good turnout and raised $190. Matt led the charge, Metal kept things lively (and taught me how to deal with a broken strand in a Bukito), and I took it way too seriously for a while. Nevertheless we learned a lot about the Spark Core device and how to get them working.
By the way, I can’t thank Barb enough for designing the two kinds of covers for the Cores with Internet Button shields: flat topped, and domed. Pimptastic!
Each of us found different ways to break the Cores, rarely trying to do so:
- Chris found that certain library functions are not quite supported by the firmware. He could nearly brick a Spark Core and it took a while to recover. Chris, would you mind sending me the commands that did this (or at least a link to the code, since it was one of the examples)?
- There are at least a couple sketches on the Spark web site that do not compile in the web IDE, let alone run on a Spark Core — the code is out of date.
- Of the 12 Spark Cores we received, 3 needed special attention before they could download and run a sketch. This hints at a serious quality control problem. This definitely does not bode well for what is supposed to be a plug-and-play tool, Arduino killer, or MCU board with as much space and power built into it (ARM Cortex M3 72 MHz, 128 kB flash, 20 kB RAM; an extra 2 MB storage off-die; and a TI CC3300 WiFi chip).
- The default instructions for getting a Spark Core running often fail. They cannot be used at all in an environment with more than one person trying to sync a new Core: the phone app will just grab any broadcasting Core it finds.
- We worked through several syncs, so we now have a clearer set of steps for getting someone up and running without the vekakte phone app. I need to finish typing them, as there are different steps for Windows, Mac, and Linux.
- Having to flash a sketch by typing it into a web site and sending it via WiFi is inefficient. The device’s WiFi features are more interesting during runtime, and we just scratched that surface. Flashing the sketch via USB.
On the positive side:
- We had a visitor that got his Core to text him every time he did something (see the pic at the top of this post);
- Daniel got a working Big Button like there wasn’t anything to it (because he rocks);
- Many eyes, hands, and minds made it easy to detect and workaround problems. That was a lot of fun!
- We could use the existing Neopixel library with the Internet Button shields and get that happy RGB glow.
I will submit docs to Instructables once I have everything in steps-and-pics order.