This is the technical details page for the Sound Spark, an electronic pendant that flashes in time with your voice. Here you will learn how it works, be able to download the schematics, layout, code, and get some valuable tips on hacking the device.
How does it work
Sound spark uses a microphone to detect ambient sound, and an ATTINY25 microcontroller with an analog to digital converter to sample the microphone output. There is no amplifier, so the signal read is quite small. The code uses an ever-adjusting threshold, above which the LEDs are illuminated. The code was largely written by tangent for the bliplace, the project on which Sound Spark is based. You can think of Sound Spark as basically the surface mount jewelry version of bliplace. The only thing sensebridge added was the button, which allows you to turn the device off without removing the battery.
During active use, the bliplace consumes ~1.5mA (actual use varies from 0.5mA to 2.5mA, depending on LED brightness). The CR2032 battery stores 225mAh. So theoretically battery lifetime is about 150 hours, or about a week of continuous use. One things to note is that if you use the switch to turn the device off, it isn’t really off, it’s merely in standby: the device still consumes 240uA, or about 1/6 of what it consumes when it’s on. For this reason, we recommend that if you are going to leave the device off for longer than a few days, that you instead remove the battery and store it in a safe place.
All Sound Spark design info is released under the MIT License, the same one as the bliplace.
There is actually an error on the PCBs in the first run. I’ve been fixing them with a magnet-wire jumper wire. You can actually see it in the photos of Sound Spark, if you know what to look for:
If you look at the top left of the ATTINY microcontroller, and then over a little bit, there is a capacitor. Coming out of the top of the capacitor, bending around and going under the ATTINY, and then coming out the other side and connnecting to the bottom of the large cap over there, is the jumper wire. It actually connects Vcc to the ATTINY, the thing doesn’t power on without it!
Another thing to know: there is no programming pinout on the board. You have to program the ATTINY elsewhere and then transfer it (or solder on the 6 wires, I suppose). I just didn’t like how the programming pinout looked on the Heart Spark when it was done, so I decided it was worth the bother to do the remote programming for the new Sound Spark line.
Also note: all pins on the ATTINY microcontroller are used. So there isn’t an opportunity to expand functionality without first giving up some current function. However, despite having a seperate pin for left and right LEDs (two on each), the code currently treats those identically except for the startup sequence. So theoretically there is an extra pin there. If you’re willing to play with fire, you could also use the reset pin by changing the fuse bits. But that’s kind of a one-way thing unless you have a high voltage reprogrammer, so good luck!/h3