I've been building skin-mounted LED displays recently. See version 1 (which has a simple on/off switch), and version 2 (which incorporates sound/light sensors).
This latest version incorporates the LightBlue Bean: a low-cost, Bluetooth-connected, Arduino-programmable, coin-cell-powered microcontroller.Physical assembly
I trimmed off the Bean's built-in protoboard, so that it's about the same size as the battery holders I was using before.
I laid out the circuit on paper and sewed it together with conductive thread...
...However! I forgot that I needed to have the LEDs face up, while the controller would be "face-down" with the battery holder up. Whoops.
With a bit of twisting, it worked out all right. Conductive thread is a marvel.
I stuck the whole thing down, using separate pieces of double-sided tape for each element. It was a little tough, but worked. No long pieces of tape to restrict movement or gather grime.
I also pressed down on the outer corners of each sticker, so that they domed upward a little bit. This kept them firmly attached.
The thread has a problem with contacting, but that's mostly because I sewed the frickin' LEDs on backwards!!The Code
This part was harrowing! I wrote the code at the last possible moment, knowing I could do it while sitting in the audience, since the Bean is programmed from your phone.
However, I couldn't upload any code! It kept getting stuck, prompting for a PIN. I'd forgotten that I enabled security on this one.
Skimming the docs, I found out that I could reset the whole Bean by connecting a couple of pins with wire.
I didn't have wire. And we were called up to present next.
Standing in line for the stage, I pulled the LED out of my conference badge, stuck one wire leg through the GND hole, and curved it around so it contacted the other pin. Then my friend shoved the battery in, and we let it reset.
Three agonizing stages, watching the progress bars go from 0 to 100 three times over, while we waited for the call. I hit the "upload" button from my phone, begging the gods to be merciful.
Success!!! My blinky code flashed the 3 LEDs in a basic animated sequence. Joy and glory.
While we waited for the awards to be announced, I got the accelerometer code working, too!Orientation-sensitive
The Bean includes an accelerometer and temperature sensor, so we can also make those work (although the accel sucks down a fair amount of power).
Changing this is as simple as updating the code. Find the accelerometer code below and upload it the same way.