For the past few weeks I’ve been working on the first stage of a project that involves hacking Eric Boyd’s excellent Heart Spark PCB pendant and combining it with a sensor module I’ve made from scratch.
The Heart Spark pulses 6 LEDs to my heartbeat via a signal from my Polar gym chest band transmitter (that usually transmits / displays my heart rate on my Polar wrist watch). The Heart Spark is open source and Eric has kindly made the schematics, code, plus lots of other information available on the Sensebridge.net website pages for the Heart Spark. http://sensebridge.net/projects/heart-spark/
I’m very interested in how sensing technology can display vital signs and how this can be monitored and combined with other tech to give us an insight into our moods, and how our body is reacting to certain situations.
For this proof of concept, here’s the back story / premise I used when considering what I wanted to build and present at Rewired State’s recent (H)activate hack weekend at the Guardian:
“Geeks are very particular about their personal space, so what could be better than a mobile, wearable device that notes their heart rate when someone comes close. Whether you’re cool, calm and collected or get palpitations when a certain someone enters your space, it’s interesting to note how a particular person affects your physicality, whether that be geek love or geek annoyance. It’s not quite your heart on your sleeve, but round your neck!”
For this, I’ve created a heart-shaped proximity detector module to link to the Heart Spark – I’ve named this ‘Flutter’.
To create the Flutter module, firstly I experimented with various combinations of components: an IR proximity sensor, resistor, potentiometer, LED and transistor on a breadboard. The 3.3V coin cell battery that powers the Heart Spark could not give enough output, even when combining with a step up component which boosted the voltage up to 5V to power both the Heart Spark and the proximity sensor.
So I began a period of trial and error with various combinations of batteries, resistors, transistors and twiddling the potentiometer. In the end I gave up fiddling and got my oscilloscope out to find out what was happening. I got some very curious signals from the various battery combinations and step up module I was using, but in the end the solution was to get more juice to the IR proximity sensor. This meant powering it separately and that more batteries were needed. So I settled on a 3 x AA battery pack, for which I’ve made a fabric heart shaped pouch dangling on a twisted twill rope, as it needs to be housed quite close and precisely to the sensor via battery pack connectors.
I have to say, I really feel that powering wearable technology is one of the more irksome things about trying to get this technology into wearables and I’m going to blog about this soon. On that note, the reason I added a 10k Ohm potentiometer to the heart-shaped IR sensor was so that small tweaks to the voltage can be made to the sensor.
To house all the components and with the help of a hacksaw, I made a heart-shaped substrate out of stripboard and coloured it black with a marker pen.
Hacking the Heart Spark – I have hacked Eric’s original code so that the top 3 LEDs on the Heart Spark light up when the IR proximity sensor detects someone in my space and the bottom 3 LEDs pulsate along to my heart beat. When there’s no-one in my space, the top 3 LEDs turn off again. I have some more interesting ideas for the code to work with the Heart Spark in the future, but in the first instance my goal was to get the Heart Spark to acknowledge the IR sensor and light up from its signal.
To upload code from my laptop to the Heart Spark, I fangled an FTDI board (which I usually use with LilyPad Arduinos) with some header pins – so I could connect it to the headers on the Heart Spark. I also soldered two pin headers to ground and positive / signal pins on the Heart Spark, which allows wire connection between the Heart Spark and the Flutter module.
Stage 2 and next steps…
For the next iteration, I’d like to add a tiny camera to this work, set to log periodic photos of who or what situation is in front of the wearer. Plus find a way of grabbing the photo, heartbeat and proximity sensor data from the devices and send to my laptop via a sewable a LilyPad Arduino x-Bee transmitter. Sewable, because I’d like it to become part of the heart-shaped battery pack pouch.
I want to graph the data from the two sensors to plot how many times during the day I get fluctuations in my heart rate when someone enters my space and would place the photos from the camera at appropriate points alongside, to see who had made my heart flutter. I’d use this information to work out my physiological state and reactions to certain situations, and people throughout the course of a day.
Other additions I’ve thought about are to include a temperature sensor, to record if someone becomes hot or flushed in certain situations or people and an accelerometer to assess body language by the user’s posture.
Mass participant uses? I’d love to hold a speed-dating event where all the participants wore the “You make my ❤ flutter” device to attempt to determine people’s reaction to each other based on their physical data signals.
Thank yous to: Ciaran Anscomb and Eric Boyd for help and advice \o/
I love the extra senses you’ve added. GSR might be another good variable to monitor?
I met Eric at the QS conference. He was wearing his Heart Spark, and very cool. We talked about the logging version, and I thought that a Bluetooth or wireless broadcast version would be good. Everyone with a heartspark could feel or see everyone else’s heart rates…
Many thanks, Rob!
Sounds like you had a great ideas discussion with Eric – I do like the idea of sharing / comparing data to work out physiological connections between people 🙂
I love what you’ve done to the heart spark – what a cool piece of technology, with so many possibilities (ie speed dating sounds fun)
Cheers, Martin 🙂 I’m really excited about the future possibilities for using sensing technology in wearable tech.